Compare commits

..

179 Commits

Author SHA1 Message Date
Ray Strode
8904c55a86 compositor: get rid of initial black rectangle on xwayland clients
At the moment when a legacy X11 application client is first mapped it
gets briefly shown as a black rectangle before redrawing.

That behavior is because the initial Configure operation on the window
leads to the surface immediately getting full window damage posted by
Xwayland before the client has a chance to draw.

This commit changes mutter to send a sync request right away, when a
window first shows up, then waits until the reply from the application
before showing the window.

It leverages the same code paths already used to prevent flicker from
subsequent (non-initial) resizes on the window.
2018-03-31 17:50:45 -04:00
Ray Strode
7f4f5f5c4c window: ensure window titlebars are drawn in sync during resize
mutter synchronizes drawing and resizes with Xwayland applications using
XSYNC counters, but it doesn't synchronize drawing and resizes with its
own titlebar painting code.

This commit makes mutter wait until the titlebar finishes drawing before
it unfreezes the corresponding window actor.  This ensures the titlebar
and client area don't get out of sync with each other.
2018-03-29 14:37:09 +00:00
Ray Strode
0d1cee5123 compositor: make sync_updates_frozen no-op for unmanaged windows
Right now meta_compositor_sync_updates_frozen will crash if it's called
on a window that's not yet managed.

For future convenience, make it be a no-op instead, in the same way:

meta_compositor_window_shape_changed
and
meta_compositor_window_opacity_changed

are no-ops for unmanaged windows.
2018-03-29 14:37:08 +00:00
Ray Strode
24b9f2fabc x11: Don't proceed with interactive resize until last iteration finishes
As mentioned in the previous commit, resizing an Xwayland client is an
asynchronous operation.

This commit makes sure we don't allow there to be two resizes in flight
at the same time.  We shouldn't resize the window until we've drawn the
window from this step of the resize.
2018-03-29 14:37:08 +00:00
Ray Strode
fbf7e0073e compositor: don't recalculate shape and masks until surface arrives
mutter uses the windows "buffer rect" to determine how big to draw the
titlebar, and what masks to apply to the window for opaque areas.

That buffer rect is updated the moment we initiate a resize operation on
a window, but not actually accurate until the resize operation finishes

This commit makes sure the window actor keeps using its old shapes and
masks until any pending resize operation finishes.
2018-03-29 14:37:08 +00:00
Ray Strode
db1adab828 window: track when resize is pending via new flag
For Xwayland clients, resizing is an asynchronous operation.  First, the
window manager part of mutter resizes the frame and client window, then
Xwayland waits for damage from the client, and commits a new surface to
the display server part of mutter.

In order to prevent flicker, we need to know when an initiated resize
operation has fully come out the other end of that multi-step process as
a new surface.

This commit lays the plumbing work for preventing the aforementioned
flicker problem, by adding a new resize_pending flag (and associated
accessors), and setting the flag appropriately based on when a resize
is started and subsequently when a new surface is attached.
2018-03-29 14:37:08 +00:00
Ray Strode
8369fde7f8 compositor: delay surface commits for frozen actors
Right now we defer processing damage on frozen actors, but don't defer
processing surface changes on frozen actors (like for instance when the
surface is changed during a resize).

This commit stops the compositor from processing xwayland client events
for a surface when the actor associated with it is frozen waiting for
the client to draw on the underlying window.

By deferring xwayland client event processing, we'll ensure the surface
commit comes after the corresponding sync counter update from the app,
and ensure we don't update the surface associated with an X window
until after client has finished drawing.
2018-03-29 14:37:07 +00:00
Ray Strode
80562bbb10 compositor: make set_frozen a vfunc
MetaSurfaceActor can be made "frozen" via it's set_frozen method.

That method could be useful as virtual function, so that the wayland
subclass can tie into it and freeze the underlying surface.

This commit does the prerequiste work of making set_frozen a vfunc.
A future commit will change the wayland subclass code to leverage
the vfunc.
2018-03-29 14:37:07 +00:00
Ray Strode
c21d12c4ac compositor: recompute shape when surface is changed
Anytime the surface is changed, we need to rebuild our masks and
recalculate our shapes since the new surface may have a different
size.

If the actor gets redrawn for any reason before that computation
happens then it will misrender.

This commit makes sure we do the recomputation right away, before
any painting might occur.
2018-03-29 14:37:07 +00:00
Ray Strode
3488015d17 window: always disarm XSYNC watchdog when X client responds
At the moment we only disarm the watchdog timer set up for SYNC counter
requests if we're in the middle of a resize operation.

It's possible that the resize operation finished prematurely by the user
letting go of the mouse before the client responded.  If that happens, when the
client finally updates mutter will erroneously still have the watchdog timer
engaged from before until it times out, leading to resizes for the next second
or so to not get processed, and the client to get blacklisted from future sync
requests.
2018-03-29 14:37:06 +00:00
Olivier Fourdan
ebff7fd7f4 cursor-renderer-native: take rotation into account
Rotating an output would show duplicate cursors when the pointer is
located over an area which would be within the output if not rotated.

Make sure to swap the width/height of the output when rotated.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/85
2018-03-29 06:34:37 +00:00
Daniel van Vugt
6e415353e3 renderer-native: Swap then await earlier flips.
Rendering the next frame (which mostly happens as part of the flush done
in swap buffers) is a task that the GPU can complete independently of
the CPU having to wait for previous page flips. So reverse their order
to get the GPU started earlier, with the aim of greater GPU-CPU
parallelism.
2018-03-29 13:35:59 +08:00
Olivier Fourdan
67917db45f wayland: Use cursor position in logical monitor
When using two monitors size by side with different scales, once the
cursor moves from one output to another one, its size changes based on
the scale of the given output.

Changing the size of the cursor can cause the cursor area to change
output again if the hotspot is not exactly at the top left corner of the
area, causing the texture of the cursor to change, which will trigger
another output change, so on and so forth causing continuous surface
enter/leave event which flood the clients and eventually kill them.

Change the logic to use only the actual cursor position to determine if
its on the given logical monitor, so that it remains immune to scale
changes induced by output scale differences.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/83
2018-03-23 15:12:37 +01:00
Yussuf Khalil
8286557a05 clutter: Avoid unnecessary relayouts in ClutterText
We can save an unnecessary relayout if the required size to fully draw the text
is equal to the currently allocated size after the underlying text buffer or
attributes that only affect the PangoLayout have changed.
2018-03-22 21:21:43 +01:00
Georges Basile Stavracas Neto
63e2c0329f window: Fix a small memory leak 2018-03-21 21:16:23 -03:00
Rasmus Thomsen
06c357d781 mutter: allow building with elogind
This commit allows building mutter with elogind, which is
systemd-logind extracted into a standalone package. This
allows using mutter with its native-backend ( and consequently
wayland ) enabled on distros which use init systems other than
systemd.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/46
2018-03-21 21:42:37 +01:00
Carlos Garnacho
2f260edf19 cogl: Read pixels as per the stored format
By the looks of it, commit 95e9fa10ef was taping over an Intel DRI bug
that would make it return post-swizzling pixel data on glReadPixels().
There's been reports over time of that commit resulting in wrong colors
on other drivers, and lately Mesa >17.3 started showing the same symptoms
on Intel.

But texture swizzling works by changing parameters before fragment shaders
and reading pixels from an already drawn FBO/texture doesn't involve those.
This should thus use pixel_format_to_gl_with_target(), which will result in
correctly requesting the same pixel format than the underlying texture,
while still considering it BGRA for the upper layers in the swizzling case.

https://gitlab.gnome.org/GNOME/mutter/issues/72

Closes: #72
2018-03-21 18:45:20 +00:00
Ting-Wei Lan
a5fd9a6e2f main: Fix build when native backend is disabled 2018-03-21 13:14:51 +00:00
Ting-Wei Lan
4e6114b14d configure: Don't declare functions in AC_TRY_LINK and AC_TRY_COMPILE
https://bugzilla.gnome.org/show_bug.cgi?id=792717
2018-03-21 13:14:50 +00:00
Ting-Wei Lan
65630d6310 build: Use portable sed syntax in src/Makefile.am
Replace non-portable \+ with \{, \} to avoid build failure on systems
not using GNU sed.

https://bugzilla.gnome.org/show_bug.cgi?id=792280
2018-03-21 13:14:50 +00:00
handsome-feng
b8a81128e0 Fix some spelling errors
https://gitlab.gnome.org/GNOME/mutter/merge_requests/45
2018-03-21 13:22:35 +08:00
Matej Urbančič
19e55b9a8c Added Slovenian translation 2018-03-20 22:39:36 +01:00
Dušan Kazik
9ea9352c93 Update Slovak translation 2018-03-17 20:53:06 +00:00
Carlos Garnacho
817a76a7f5 wayland: Add parentheses around logical AND
As "suggested" by gcc and -Werror. Introduced by commit cb40049ec.
2018-03-16 16:59:14 +01:00
Carlos Garnacho
cb40049ec1 wayland: Ignore IM/synthetic key events when updating XKB state
This state tracks hardware devices' state, thus shouldn't be triggered by
events that were emulated/forwarded by the IM. Those may include modifiers
and would result in xkb_state being doubly set, and possibly stuck.

https://gitlab.gnome.org/GNOME/mutter/issues/74

Closes: #74
2018-03-15 18:44:07 +01:00
Carlos Garnacho
481e87032c clutter: Give the ClutterTextInputFocus a first stab at handling key events
Actor keybindings were dispatched in an earlier return path, which means
the IM doesn't get to see certain key events. Flip the order around so the
IM has an opportunity to handle all keypresses.

https://gitlab.gnome.org/GNOME/mutter/issues/65

Closes: #65
2018-03-13 20:00:10 +00:00
Emin Tufan Çetin
bf5ac39d46 Update Turkish translation 2018-03-13 17:15:33 +00:00
Florian Müllner
47856d9701 Bump version to 3.28.0
Update NEWS.
2018-03-12 19:45:19 +01:00
Mart Raudsepp
06429b12e2 Update Estonian translation 2018-03-12 17:29:38 +00:00
Carlos Garnacho
419fb81d40 wayland: Fix wrong condition in xdg_exporter.export
Commit d714a94d9 added support for stable xdg-shell surfaces while
preserving old unstable zxdg-shell v6 ones, but committed a mistake
in checking for both in the xdg_exporter.export error condition
paths. We want to check that the surface is neither of both.

https://gitlab.gnome.org/GNOME/mutter/issues/63

Closes: #63
2018-03-12 17:15:07 +00:00
Anders Jonsson
f1bbe5c251 Update Swedish translation 2018-03-11 20:28:03 +00:00
Chao-Hsiung Liao
27fef44d48 Update Chinese (Taiwan) translation 2018-03-10 12:20:08 +00:00
Georges Basile Stavracas Neto
00b8ca7aeb Revert "window: Raise and lower tile match in tandem"
Raising and lowering windows in tandem without a proper grouping
mechanism ended up being more annoying than functional.

This reverts commit e76a0f564c.
2018-03-09 20:13:14 +01:00
Ask Hjorth Larsen
675d429ba0 Updated Danish translation 2018-03-07 22:37:47 +01:00
Marek Cernocky
f4d754c934 Updated Czech translation 2018-03-07 19:33:55 +01:00
Florian Müllner
8ae79182c1 Bump version to 3.27.92
Update NEWS.
2018-03-05 20:01:34 +01:00
Jonas Ådahl
712ec30cd9 renderer/native: Force EGL config pixel format
We just arbitrarily chose the first EGL config matching the passed
attributes, but we then assumed we always got GBM_FORMAT_XRGB8888. That
was not a correct assumption. Instead, make sure we always pick the
format we expect.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/2
2018-03-05 15:42:27 +00:00
Jonas Ådahl
7a41483ea0 egl: Fail first config choosing when no results
If there was no matching config, fail to find the first one.

https://gitlab.gnome.org/GNOME/mutter/issues/2
2018-03-05 15:42:27 +00:00
Jonas Ådahl
b4d642be52 egl: Rename EGL simple config chooser
It just picked the first config, so name it accordingly.

https://gitlab.gnome.org/GNOME/mutter/issues/2
2018-03-05 15:42:26 +00:00
Carlos Garnacho
0bf0e5780c clutter/x11: Communicate proper group/mode on pad events.
So we can trigger actions for the right mode.

https://gitlab.gnome.org/GNOME/mutter/issues/48

Closes: #48
2018-03-03 16:07:24 +00:00
Carlos Garnacho
d7c5e57134 clutter/x11: Implement missing ClutterInputDevice pad vmethods
Use libwacom to be able to find out modes, groups and button roles on
pad devices.

https://gitlab.gnome.org/GNOME/mutter/issues/48

Closes: #48
2018-03-03 16:07:23 +00:00
Egmont Koblinger
67bf936ef8 theme: Fix icon scaling
When painting the titlebar, button icons that aren't available in the
desired size need to be scaled. However the current code inverses the
scale factor, with the result that the adjusted icons are much worse
than the original icons, whoops.

This went unnoticed for a long time given that most icons are availa-
ble in the desired 16x16 size, and the most likely exceptions - window
icons - are not shown by default.

https://gitlab.gnome.org/GNOME/mutter/issues/23
2018-03-03 15:48:35 +00:00
Fran Dieguez
15b7b40ea8 Update Galician translation 2018-03-03 13:18:53 +00:00
Aurimas Černius
81bff3eba6 Updated Lithuanian translation 2018-03-03 13:37:54 +02:00
Claude Paroz
da3fd8f7fb Updated French translation 2018-03-03 11:19:13 +01:00
GNOME Translation Robot
6e125d9d04 Update Dutch translation 2018-03-01 18:56:38 +00:00
GNOME Translation Robot
80705018f9 Update Scottish Gaelic translation
(cherry picked from commit 543d031a55)
2018-03-01 10:46:47 +00:00
Mario Blättermann
f39dacd451 Update German translation 2018-02-27 20:02:50 +00:00
Carlos Garnacho
33c070cdd5 backends/x11: Plug a leak 2018-02-27 14:10:04 +01:00
Carlos Garnacho
8d2f794bd3 clutter/x11: Plug a leak 2018-02-27 14:09:48 +01:00
Bastien Nocera
1458dc394a build: Fix build with older versions of wayland-protocols
Instead of bailing out when a seemingly random file is missing, require
the version of wayland-protocols that includes the source to create that
built file.

Introduced in d714a94
2018-02-27 11:18:15 +01:00
Milo Casagrande
c93877abb5 Update Italian translation 2018-02-26 07:58:26 +00:00
Rūdolfs Mazurs
ef0efc9589 Update Latvian translation 2018-02-25 13:47:46 +00:00
Gwan-gyeong Mun
09cdf39b68 Update Korean translation 2018-02-24 08:05:34 +00:00
Balázs Úr
a6ccbbfe68 Update Hungarian translation 2018-02-23 22:54:11 +00:00
Jonas Ådahl
e502adfa04 remote-desktop, screen-cast: Add version number to D-Bus APIs
In order to let applications gracefully handle version mismatches, add
a version property to the APIs. Also add a warning on the APIs that
these are not meant for public consumption.
2018-02-23 19:33:31 +08:00
Jonas Ådahl
8dd377da38 remote-desktop: Add support for discovering supported device types
This is so that application will not try to send touch events when
touch is not supported.
2018-02-23 19:33:31 +08:00
Jonas Ådahl
03a12f9458 remote-desktop: Add touch screen event support 2018-02-23 19:33:31 +08:00
Jonas Ådahl
061f69f2a2 remote-desktop: Fix absolute pointer motion coordinates
If the coordinates was for a stream not at the stage position (0, 0),
they'd be incorrect. Fix this by correctly translating the coordinates
according to the stream position.
2018-02-23 19:33:31 +08:00
Jonas Ådahl
4d5e1f690d screen-cast-stream: Add API to transform relative coordinates
Will be used to translate stream local coordinates to stage coordinates.
2018-02-23 19:33:31 +08:00
Jonas Ådahl
f3203f0330 screen-cast-session: Add API to get stream from object path
Will be needed by the remote desktop session to translate stream local
input coordinates.
2018-02-23 19:33:31 +08:00
Jonas Ådahl
d27e6921d6 remote-desktop: Add relative pointer motion event support
Relative pointer motions are assumed to be pre-accelerated.
2018-02-23 19:33:31 +08:00
Jonas Ådahl
c459ad7932 remote-desktop: Add smooth scroll event support 2018-02-23 19:33:31 +08:00
Jonas Ådahl
5ee825c081 remote-desktop: Add keyboard keycode event support
Keyboard keycode events will act as a physical keyboard thus depend on
the active keyboard layout.
2018-02-23 19:33:31 +08:00
Jonas Ådahl
1ead513b66 remote-desktop: Support multiple axis steps at once
Just call the corresponding clutter API once for each step.
2018-02-23 19:33:31 +08:00
Jonas Ådahl
9ed236bd67 remote-desktop: Fix notify axis input validity check
The check was inverted; allowed axis are 0 and 1, not the other way
around.
2018-02-23 19:33:31 +08:00
Jonas Ådahl
a1517cae1c clutter/device-manager: Add way to check virtual device support
This is needed so that mutter can let applications using the remote
desktop API to know whether touch screens are supported.
2018-02-23 19:33:31 +08:00
Jonas Ådahl
542502be53 clutter/x11: Add pointer motion support to virtual devices
As the other virtual input event delivery mechanisms, this also uses
the XTEST protocol.
2018-02-23 19:33:31 +08:00
Jonas Ådahl
203a0b37ed clutter: Add smooth scroll and touch API to virtual devices
So far only implemented on the evdev backend,as X11 doesn't support touch
devices nor smooth scrolling via XTEST.
2018-02-23 19:33:31 +08:00
Jonas Ådahl
b6477a826d clutter/evdev: Don't treat device touch slots as seat slots
IF two touch devices have colliding touch point IDs they'd interfere on
the seat. To avoid this, always allocate a seat wide slot for each
device wide slot, but don't use device slots directly in the seat.
2018-02-23 19:33:31 +08:00
Jonas Ådahl
95adc45b71 clutter/evdev: Move touch notification to seat 2018-02-23 19:24:07 +08:00
Jonas Ådahl
f20daf567d clutter: Silence gtk-doc warning 2018-02-23 19:24:07 +08:00
Jonas Ådahl
4345906663 wayland: Define abstract role types as actually abstract
They should not be instantiated by themself, only as actual roles.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/5
https://bugzilla.gnome.org/show_bug.cgi?id=791938
2018-02-23 19:07:49 +08:00
Jonas Ådahl
d714a94d97 wayland: Add support for stable xdg-shell
This commit adds support for xdg_shell (the stable version). This was
done by first copying the old xdg-shell unstable v6 implementation into
a separate .c .h file pair (including various symbol renaming) then
porting the old xdg-shell unstable v6 implementation to the new stable
version.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/5
https://bugzilla.gnome.org/show_bug.cgi?id=791938
2018-02-23 18:57:53 +08:00
Jonas Ådahl
514c7028f4 wayland: Use helper to set shell surface window
The helper deals with updating the surface output state.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/5
https://bugzilla.gnome.org/show_bug.cgi?id=791938
2018-02-23 18:57:50 +08:00
Jonas Ådahl
44624736c5 wayland: Push actor state instead of itself pulling
Make the Wayland objects push the state relevant to their role to the
MetaSurfaceActor instead of MetaSurfaceActorWayland pulling the state
from the associated surface.

This makes the relationship between the actor and the objects that
constructs it more clear; the actor is a drawable that the protocol
objects control, not the other way around.

This will make it easier to "detach" a surface actor from a surface,
which is necessary when unmapping a window while the underlying surface
is yet to be destroyed and potentially reused.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/5
https://bugzilla.gnome.org/show_bug.cgi?id=791938
2018-02-23 18:57:47 +08:00
Jonas Ådahl
0162cdf8ef surface-actor/wayland: Minor style fixes
https://gitlab.gnome.org/GNOME/mutter/merge_requests/5
https://bugzilla.gnome.org/show_bug.cgi?id=791938
2018-02-23 18:57:45 +08:00
Jonas Ådahl
7e17dd0098 xwayland: Base Xwayland surface role object on the actor role
The Xwayland role uses a MetaSurfaceActorWayland just so lets share
logic related to it. As a side effect, wl_surface.enter/leave starts
working for Xwayland surfaces.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/5
https://bugzilla.gnome.org/show_bug.cgi?id=791938
2018-02-23 18:57:42 +08:00
Jonas Ådahl
704b73b041 wayland: Restructure surface role building blocks code
This commit moves out non-core wl_surface related code into separate
code units, while renaming types to fit a common scheme. The changes
done are:

 * ClutterActor based surface roles built upon
   MetaWalyandSurfaceRoleActorSurface. This object has been renamed to
   MetaWaylandActorSurface and related functionality has moved into
   meta-wayland-actor-surface.c.

 * The code related to roles backed by a MetaWindow (i.e. built upon
   MetaWaylandShellSurface) was moved into meta-wayland-shell-surface.c

 * The majority of subsurface related code was moved into into
   meta-wayland-subsurface.c and the object was renamed
   MetaWaylandSubsurface.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/5
https://bugzilla.gnome.org/show_bug.cgi?id=791938
2018-02-23 18:57:40 +08:00
Jonas Ådahl
bd5e36cf0e wayland/surface: Stop using deprecated g_object_newv
Replace it with g_object_new_with_properties. This fixes a warning
about using deprecated API.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/5
https://bugzilla.gnome.org/show_bug.cgi?id=791938
2018-02-23 18:57:38 +08:00
Jonas Ådahl
dbf56e24cb wayland/xdg-shell: Minor cosmetic cleanups
https://gitlab.gnome.org/GNOME/mutter/merge_requests/5
https://bugzilla.gnome.org/show_bug.cgi?id=791938
2018-02-23 18:57:36 +08:00
Jonas Ådahl
0371897e22 wayland/xdg-shell: Standardize xdg_positioner Wayland vfunc naming
Use the convention [interface]_[request] (..) used elsewhere in the
file.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/5
https://bugzilla.gnome.org/show_bug.cgi?id=791938
2018-02-23 18:57:34 +08:00
Jonas Ådahl
cc5fe05c4d wayland/xdg-shell: Standardize object class interface vfunc names
Follow the convention that MetaSomeObject's class vfuncs should be
named meta_some_object_said_vfunc.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/5
https://bugzilla.gnome.org/show_bug.cgi?id=791938
2018-02-23 18:57:28 +08:00
Jonas Ådahl
d8f13f6b4c wayland: Shorten MetaWaylandSurfaceRoleShellSurface name
It was annoyingly long, so rename it to MetaWaylandShellSurface.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/5
https://bugzilla.gnome.org/show_bug.cgi?id=791938
2018-02-23 18:57:25 +08:00
Jonas Ådahl
a2959510e5 .gitignore: Add more things to ignore
Various protocol files had not been added.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/5
https://bugzilla.gnome.org/show_bug.cgi?id=791938
2018-02-23 18:57:16 +08:00
Robert Mader
c8fbd4bee8 src/Makefile.am: Remove redundant generation rules
https://bugzilla.gnome.org/show_bug.cgi?id=792203
2018-02-23 18:52:58 +08:00
Fran Dieguez
d5631f793e Update Galician translation 2018-02-23 00:50:09 +00:00
Милош Поповић
d4d160a186 Update Serbian Latin translation 2018-02-22 13:03:55 +00:00
Марко Костић
4719c3f31e Update Serbian translation 2018-02-22 13:02:35 +00:00
Daniel Mustieles
1f5a2d6029 Updated Spanish translation 2018-02-22 12:40:22 +01:00
Olivier Fourdan
19bf4cf4f8 x11: Do not discard shape region for undecorated windows
mutter would discard the shape region set by the client if its matches
the entire client area in meta_window_x11_update_shape_region().

However, if the window is later resized (maximized or other), the
compositor will fail to update the shape region properly for undecorated
windows because the shape region was discarded, which causes black areas
to appear in place of the updated areas.

If the client window is undecorated, keep the shape region even if when
it matches the client area.

https://gitlab.gnome.org/GNOME/mutter/issues/27

Closes: #27
2018-02-22 08:02:01 +00:00
Louis-Francis Ratté-Boulianne
6f59e4858e renderer/native: Don't use modifiers to import linear DMA buffer
When the buffer modifier is DRM_FORMAT_MOD_LINEAR, we can use the
old code path. That means not specifying any modifier parameter.

It was an issue when the primary GPU was creating a linear GBM surface
and that a secondary GPU (not supporting modifiers) was trying to
import it. It was failing because the driver could not use the
import_modifiers extension even though it could in theory easily
import the buffer.

https://gitlab.gnome.org/GNOME/mutter/issues/18
2018-02-22 14:01:48 +08:00
Louis-Francis Ratté-Boulianne
aec85281ba native/renderer: Retrieve the right modifiers set for each GPU
We were retrieving the supported KMS modifiers for all GPUs even
though what we really need to intersect between these sets of
modifiers:

1) KMS supported modifiers for primary GPU if the GPU is used for
   scanout;

2) EGL supported modifiers for secondary GPUs (different than the
   primary GPU used for rendering);

3) GBM supported modifiers when creating the surface (already
   taken care of by gbm_surface_create_with_modifiers());

https://gitlab.gnome.org/GNOME/mutter/issues/18
2018-02-22 14:01:48 +08:00
Louis-Francis Ratté-Boulianne
b22875aae9 renderer/native: Use the right EGL image parameters for extra planes
There was a typo for modifier parameter of planes 1 & 2.

https://gitlab.gnome.org/GNOME/mutter/issues/18
2018-02-22 14:01:48 +08:00
Jonas Ådahl
962712ddc2 configure.ac: Bump API version number
Better late then never.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/6
2018-02-21 23:52:32 +08:00
Florian Müllner
de29627855 Bump version to 3.27.91
Update NEWS.
2018-02-21 01:09:22 +01:00
Carlos Garnacho
54dcff3aa2 backends: Monitor changes in active tools' settings
So the changes can be instantly applied while the tool is in proximity.
Before we would just do it on proximity-in, which doesn't provide a
good look&feel while modifying the tool settings in g-c-c.

https://gitlab.gnome.org/GNOME/mutter/issues/38

Closes: #38
2018-02-19 17:15:26 +01:00
Carlos Garnacho
bcd5882081 clutter: Check the ClutterTextInputFocus has focus before filtering events
Checking correct state is responsibility of the ClutterInputFocus user, and
it is indeed possible to get a focused ClutterText while its
ClutterInputFocus didn't get itself focused (eg. lack of IM).

https://gitlab.gnome.org/GNOME/mutter/issues/36

Closes: #36
2018-02-18 15:22:13 +01:00
Carlos Garnacho
69f56578a3 build: Fix distcheck
Missing protocol XML in wayland_protocols/EXTRA_DIST.

https://gitlab.gnome.org/GNOME/mutter/issues/35

Closes: #35
2018-02-18 12:32:04 +01:00
gogo
c00e092456 Update Croatian translation 2018-02-17 15:01:10 +00:00
Rafael Fontenelle
a8cee14417 Update Brazilian Portuguese translation 2018-02-16 17:05:45 +00:00
Fran Dieguez
8a89b0007c Update Galician translation 2018-02-14 22:46:11 +00:00
Carlos Garnacho
6934b83f44 wayland: Avoid clutter_input_focus method calls when unfocused
If text_input_enable() is called when there no active IM (eg. running plain
mutter), some ClutterInputFocus method calls that are not allowed while
unfocused will end up called, triggering critical warnings.

If there is no IM return early here, all other calls are superfluous then.
2018-02-12 14:44:30 +01:00
Carlos Garnacho
37aab9280a clutter/text: Be more pervasive at updating input method state
More concretely, ensure preedit text goes away after commit/focus_out,
and update cursor position right after focus_in.
2018-02-12 14:44:30 +01:00
Kukuh Syafaat
49e8bc8a52 Update Indonesian translation 2018-02-10 15:04:22 +00:00
Gwan-gyeong Mun
abd6b7affd Change naming of GParmSpec enum id string for naming consistency
GParamSpec enum string usually follows "PROP_" prefix and PROP_LAST is used
for last PROP string.

https://gitlab.gnome.org/GNOME/mutter/issues/28

Closes: #28
2018-02-10 13:49:14 +01:00
Florian Müllner
748223b896 cogl-texture: Remove unused function
Commit d8f2f583e6 removed the only caller.
2018-02-09 14:01:12 +01:00
Carlos Garnacho
c75eac27a8 wayland: Handle NULL event node/vendor/product on tablet methods
We currently don't handle NULLs on these correctly, yet they can be
so when running nested. Just refrain from sending those wp_tablet(_pad)
events in that case.
2018-02-09 13:39:15 +01:00
Peter Hutterer
ac502c921d backends/x11: wacom pressure curve is a 32-bit property
The property has been 32 bits since around 2011 and has not changed, mutter
expects it to be 8 bits. The mismatch causes change_property to never
actually change the property.

https://gitlab.gnome.org/GNOME/mutter/issues/26

Closes: #26
2018-02-09 12:28:56 +01:00
Piotr Drąg
134765c634 Update Polish translation 2018-02-08 02:08:46 +01:00
Carlos Garnacho
5149d6eb40 wayland: Fix handling of INCR transactions
The window checks in the XPropertyEvent handler were wrong both
ways, so transfers would be left stale after the first chunk was
dealt with.

https://gitlab.gnome.org/GNOME/mutter/issues/1

Closes: #1
2018-02-07 19:29:28 +01:00
Carlos Garnacho
006cdac531 wayland: Use read_all() when reading wayland selections
Plain input stream read() calls don't provide hard guarantees about
the number of bytes read, but the async method callback sort of
relies on bytes being less than requested only when reaching the
end of the transmitted data. If that happens mid transfer, that
doesn't bode well.

This is actually the behavior of g_input_stream_read_all(), so
switch to using it.
2018-02-07 19:29:28 +01:00
Jonas Ådahl
61bc1a7d6f clutter/x11: Remove video memory purge API
Clutter doesn't handle it anyway, and mutter now creates the
CoglRenderer object itself so we don't need this API anymore.

https://bugzilla.gnome.org/show_bug.cgi?id=739178
2018-02-07 11:04:51 +08:00
Jonas Ådahl
86ab3878e7 renderer/x11: Enable GPU memory purge error extension if available
This was done by the clutter X11 backend before prior to introducing
MetaRenderer, but during that work, enabling of said extension was lost.
Let's turn it on again.

https://bugzilla.gnome.org/show_bug.cgi?id=739178
2018-02-07 11:04:07 +08:00
Jonas Ådahl
f2d0e5021a cogl/x11/renderer: Silence introspection warning
We don't introspect CoglRenderer, so we shouldn't introspect API using it
either.

https://bugzilla.gnome.org/show_bug.cgi?id=739178
2018-02-07 11:03:42 +08:00
Fabio Tomat
6d8286614f Update Friulian translation 2018-02-06 21:44:19 +00:00
Jonas Ådahl
70fcf745b8 main: Add --x11 command line argument
This is in order to force running as a X11 window manager/compositing
manager. Useful for debugging and other cases where the automatic
detection does not work as expected.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/15
2018-02-06 03:14:52 +00:00
Olivier Fourdan
589e999049 wayland: Do not fail on stalled .X11-unix entries
If for whatever reason, there are stalled files in /tmp/.X11-unix/ the
bind() to the abstract socket will succeed but not the bind() to the
to the UNIX socket.

This causes gnome-shell/mutter to fail because it cannot start Xwayland
(while it could actually, by using a different display).

In case of failure to bind to the UNIX socket, try the next display
instead of failing, to avoid stalled entries in /tmp/.X11-unix.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/13
2018-02-05 11:36:19 +00:00
George Kiagiadakis
d8f2f583e6 cogl-texture: refuse downloading textures in cogl_texture_get_data() on GLES
On drivers that do not support glGetTexImage2D (i.e. on GLES),
cogl_texture_get_data() has a "feature" that allows it to download
texture data by rendering the texture on an intermediate framebuffer
object and then reading back the data from there. However, this
feature requires the user to have previously set an "active"
framebuffer object in the context, which makes this very tricky
because it is not clear to the developer that he needs to do that
in order for some code to work on GLES (of course it works on
desktop GL, so nobody notices...) and additionally the code actually
crashes if an active fbo is not set!

This patch basically removes this feature in order to prevent
the crash and is in line with how this code has evolved in cogl-2.0:
https://git.gnome.org/browse/cogl/commit/?id=6d6a277b8e9a63a8268046e5258877ba94a1da5b

https://bugzilla.gnome.org/show_bug.cgi?id=789961
2018-02-05 11:22:36 +00:00
Olivier Fourdan
db866eb052 wayland: send shortcut inhibit “active” event
The shortcut inhibitor protocol states that the “active” event should be
sent every time compositor shortcuts are inhibited on behalf of the
surface.

However, mutter would send that event only if the surface is focused,
which might not be the case if focus is on a shell surface.

Send the “active” event unconditionally to match the protocol
definition.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/10
2018-02-05 09:06:49 +00:00
Jonas Ådahl
d092e913d6 gpu-kms: Don't add outputs without modes
There seems to be a kernel race when one disconnects an external
monitor connected to a DisplayPort via a USB-C adapter. The race
results in a connector being reported as connected, but without any
modes supported.

This had the side effect that we tried to set a preferred mode to
the first listed mode, but as no modes were available, we instead tried
to dereference the first element of a NULL array, causing a
segmentation fault.

Mitigate this by skipping adding output if no supported modes are
advertised and the output doesn't support scaling, while moving the
fallback path for calculating a preferred output mode to after possibly
adding the common modes, to avoid the unvolentary NULL dereference.

https://bugzilla.gnome.org/show_bug.cgi?id=789501
2018-02-05 10:38:54 +08:00
Andika Triwidada
6147be3dff Update Indonesian translation 2018-02-04 12:28:55 +00:00
Carlos Garnacho
57f55d486d backends/x11: Preserve XI1 XDevice throughout ClutterInputDevice lifetime
Opening and closing the device may result into XI2 grabs being cut short,
resulting into pad buttons being rendered ineffective, and other possible
misbehaviors. This is an XInput flaw that fell in the gap between XI1 and
XI2, and has no easy fix. It pays us for mixing both versions, I guess...

Work this around by keeping the XI1 XDevice attached to the
ClutterInputDevice, this way it will live long enough that this is not
a concern.

Investigation of this bug was mostly carried by Peter Hutterer, I'm just
the executing hand.

https://gitlab.gnome.org/GNOME/mutter/issues/7

Closes: #7
2018-02-01 11:02:01 +01:00
Jeff Smith
6be56de140 backends/x11: Fix time-comparison bug causing hang
A comparison in translate_device_event() does not account for the fact
that X's clock wraps about every 49.7 days.  When triggered, this causes
an unresponsive GUI.

Replace simple less-than comparison with XSERVER_TIME_IS_BEFORE macro,
which accounts for the wrapping of X's clock.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/12
2018-02-01 15:34:12 +08:00
Olivier Fourdan
206ca43c91 wayland: No need to check for keyboard
meta_wayland_compositor_is_shortcuts_inhibited() does not need to check
if the provided source is an actual keyboard.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/8
2018-01-31 16:04:20 +01:00
Jason Gerecke
f8f1bcfa9e backends: Add support for Wacom stylus tertiary-button-action
The tertiary-button-action (see bug 790028) is a place for g-c-c to store
the action which should be performed when a stylus' third button is pressed.
Pressing this button is signaled as a BTN_STYLUS3 event from the kernel or
X11 button 8.

https://bugzilla.gnome.org/show_bug.cgi?id=790033
2018-01-30 19:28:02 +01:00
Jason Gerecke
91df801ffb clutter/evdev: Add support for BTN_STYLUS3
BTN_STYLUS3 is defined by the Linux 4.15 kernel and is sent when the
third button on a stylus is pressed. At the moment, only Wacom's "Pro
Pen 3D" has three stylus buttons. Pressing this button triggers a button
8 event to be sent under X11, so we use the same mapping here.

https://bugzilla.gnome.org/show_bug.cgi?id=790033
2018-01-30 19:28:02 +01:00
Olivier Fourdan
97f142d1cc x11/window: Mark restored workspace as “set”
When a window's workspace is not NULL, on_all_workspace should be FALSE.
Similarly, when on_all_workspace is TRUE, the window workspace should be
NULL.

This is an assumption in multiple places in the code, including when
setting the workspace state, the window is either added or removed from
all workspaces only if the window's workspace is NULL.

This rule is initially enforced at creation in _meta_window_shared_new()
when a initial workspace is set. However, when the initial workspace is
set from the session info, the initial workspace is not marked as “set”
which leads to an assertion failure when unmanaging windows, because the
window is not removed from all the workspaces.

When applying the session info to a window, mark the workspace as “set”.

https://gitlab.gnome.org/GNOME/mutter/issues/4

Closes: #4
2018-01-30 10:08:58 +01:00
Balázs Úr
5ea3a4ecbb Update Hungarian translation 2018-01-26 20:48:01 +00:00
Olivier Fourdan
fbd5a74a0b session: use initial workspace if no workspace set
Having “on_all_workspaces_requested” FALSE on a window does not imply a
workspace is set.

If the X11 window is placed on a secondary monitor while workspaces
applies on primary monitor only  (“workspaces-only-on-primary” set) then
“on_all_workspaces_requested” is FALSE while “on_all_workspaces“ is TRUE
and the associated workspace is NULL, leading to a crash when saving the
gnome-shell/mutter session.

So if no workspace is set, use the “initial_workspace” instead to avoid
a NULL pointer dereference.

https://bugzilla.gnome.org/show_bug.cgi?id=792818
2018-01-25 10:47:44 +01:00
Ray Strode
58bb61e161 clutter/stage: Set framebuffer state directly
clutter_set_viewport always operates on the draw fb, but
mutter sometimes has an offscreen fb it uses instead.

This commit uses the non-deprecated, clutter_framebuffer_set_viewport
function, which takes an explicit fb argument.

Closes: https://gitlab.gnome.org/GNOME/mutter/merge_requests/2
2018-01-25 11:41:54 +08:00
Jonas Ådahl
dbd053020a settings: Avoid warning when clearing xwayland grab access lists
On the first run, they are NULL, so don't try to free them.

https://bugzilla.gnome.org/show_bug.cgi?id=792853
2018-01-25 11:40:03 +08:00
Jonas Ådahl
c063d43be8 screen-cast: Update to pipewire 0.1.8 API
Remove per micro version code, the API changed too much to keep both in
place.

https://bugzilla.gnome.org/show_bug.cgi?id=792854
2018-01-25 11:40:03 +08:00
Ray Strode
35b77a61c8 Merge branch 'wip/fmuellner/clean-up-shortcut-settings' into 'master'
Clean up shortcut settings

See merge request GNOME/mutter!1
2018-01-24 21:11:27 +00:00
Florian Müllner
32547d2eff data: Don't expose window shading shortcut
GTK+ doesn't support shading of client-side decorated windows, and likely
never will (not least because shading is conceptually questionable if the
app customizes the titlebar), and neither do other CSD implementations like
Chromium's. A shortcut that only works with a decreasing number of windows
is more confusing than helpful, so don't expose it.

https://bugzilla.gnome.org/show_bug.cgi?id=645460
2018-01-24 19:09:27 +01:00
Florian Müllner
dc37ee2782 data: Don't expose horizontal workspace keybindings to Settings
Given that GNOME has used a vertical workspace layout ever since 3.0,
allowing users to assign keyboard shortcuts for horizontal workspace
navigation isn't useful at all, as rightfully pointed out by Bastien
Nocera.

https://bugzilla.gnome.org/show_bug.cgi?id=645460
2018-01-24 19:09:27 +01:00
Jonas Ådahl
371e5df568 remote-desktop-session: Don't always warn about axis steps
The condition for warning was wrong, causing it to always warn no
matter the input.

https://bugzilla.gnome.org/show_bug.cgi?id=792062
2018-01-24 12:15:27 +08:00
Daniel Stone
cc4e007148 renderer/native: Create GBM surfaces with modifiers
Now that we have the list of supported modifiers from the monitor
manager (via the CRTCs to the primary planes), we can use this to inform
EGL it can use those modifiers to allocate the GBM surface with. Doing
so allows us to use tiling and compression for our scanout surfaces.

This requires the Mesa commit in:
Mesa 10.3 (08264e5dad4df448e7718e782ad9077902089a07) or
Mesa 10.2.7 (55d28925e6109a4afd61f109e845a8a51bd17652).
Otherwise Mesa closes the fd behind our back and re-importing will fail.
See FDO bug #76188 for details.

https://bugzilla.gnome.org/show_bug.cgi?id=785779
2018-01-24 11:42:30 +08:00
Daniel Stone
c0d9b08ef9 renderer/native: Use modifier-aware GBM API
Newer versions of GBM support buffer modifiers, including multi-plane
buffers. Use this new API to explicitly pull the information from GBM,
and feed it to drmModeAddFB2WithModifiers.

https://bugzilla.gnome.org/show_bug.cgi?id=785779
2018-01-24 11:39:01 +08:00
Daniel Stone
d99cd279d2 renderer/native: Use drmModeAddFB2 where available
drmModeAddFB2 allows specifying multiple planes, as well as directly
specifying the format, rather than relying on a depth/bpp -> format
mapping.

https://bugzilla.gnome.org/show_bug.cgi?id=785779
2018-01-24 11:35:07 +08:00
Daniel Stone
d670a1aa78 crtc/kms: Add parsing for IN_FORMATS property
The KMS IN_FORMATS blob property contains a structure defining which
format/modifier combinations are supported for each plane. Use this to
extract a list of acceptable modifiers to use for the primary plane for
XRGB8888, so we can ask EGL to allocate tiled/compressed buffers for
scanout when available.

https://bugzilla.gnome.org/show_bug.cgi?id=785779
2018-01-24 11:33:40 +08:00
Hans de Goede
76b396846d monitor: Set MINIMUM_LOGICAL_HEIGHT to 480
Using 800x600 as minimum logical size is very 4:3 thinking, while a lot of
modern devices are 16:9. The specific reason for this commit is to allow
1.5 scaling at mini-laptops (clamshell devices) with e.g. a 5.5"
1280x720 screen. Given that this device has a keyboard, one obviously
is not holding it very close to ones eyes and at 220 dpi that means the text
is too small at scale 1.0. For one real world example of such a device see:
https://en.wikipedia.org/wiki/GPD_Win

https://bugzilla.gnome.org/show_bug.cgi?id=792765
2018-01-23 11:07:04 +08:00
Kristjan SCHMIDT
bd0105ba8d Update Esperanto translation 2018-01-22 19:14:18 +00:00
Jeremy Nickurak
6dcce19932 Don't attempt to get monitor geometry on non-existent monitors
https://bugzilla.gnome.org/show_bug.cgi?id=788834
2018-01-21 14:41:48 +01:00
Piotr Drąg
cc40a885ef Update POTFILES.skip 2018-01-18 16:32:36 +01:00
Carlos Garnacho
513c278077 clutter: Make ClutterText request toggling the input panel
So gnome-shell is able to show the OSK for it.
2018-01-18 16:20:45 +01:00
Carlos Garnacho
ac8ee9a08c clutter: Add clutter_text_has_preedit()
This function returns TRUE if there is any preedit going on. This method
will be useful in gnome-shell where similar checks are performed on
StIMText actors.
2018-01-18 16:20:45 +01:00
Carlos Garnacho
952c1fefa2 clutter: Add input-purpose/hint properties to ClutterText
So those properties can be changed or queried within shell UI.
2018-01-18 16:20:45 +01:00
Carlos Garnacho
18b8f9bfed wayland: Bolt MetaWaylandTextInput in.
Offer the text-input interface global, so it can be used by clients. The
MetaWaylandSeat will also let MetaWaylandTextInput intercept key events
before the keyboard interface handles those.
2018-01-18 16:20:45 +01:00
Carlos Garnacho
f08417b618 wayland: Let IM-processed key events go through MetaWaylandKeyboard
Those have the "synthetic" flag as set by Clutter guts, but should be
processed anyway. Perhaps a "key-repeat" flat would make sense...
2018-01-18 16:20:45 +01:00
Carlos Garnacho
62c9713361 wayland: Implement text input protocol
This is the implementation of the internal text-input protocol that will
be used to communicate IMs (to be implemented by gnome-shell) with clients.
The text_input protocol has its own focus expressed through enter/leave
events, that will typically follow the keyboard's.

The client will be able to communicate its current status (eg. focus state,
cursor rectangle in surface coordinates, text surrounding the cursor
position, ...) and will receive commands from the compositor (eg. preedit
text, committing a string, ...).

Whenever there is an active input method, the compositor will route key
events directly through it. The client will not receive wl_keyboard
events if the event is consumed by the IM.
2018-01-18 16:20:45 +01:00
Carlos Garnacho
efd7a4af5e protocol: Add internal text input protocol
The text input protocol has been made internal thus far, so mutter ships an
internal copy.
2018-01-18 16:20:45 +01:00
Carlos Garnacho
3a914a915e clutter: Implement ClutterInputFocus subclass for ClutterText
This only applies when the actor is editable. This object will allow
editable ClutterText instances to interact with the input method.
2018-01-18 16:20:45 +01:00
Carlos Garnacho
aa6561a3b1 clutter: Add ClutterInputMethod and ClutterInputFocus
ClutterInputFocus is an abstract object to be subclassed by UI actors and
the wayland interface and represents the user of an input method. It
represents the current focus of the input method, so all emitted signals
and public API hooks are expected to be called when the input method is
currently interfacing with the input focus.

ClutterInputMethod is an abstract class (to be implemented in the upper
layers) that represents the input method itself. Besides focus management
itself, all public API calls that would be called by the subclasses are
delivered through the current input focus.
2018-01-18 15:35:29 +01:00
Carlos Garnacho
9eb9623288 clutter: Add ClutterBackend IM setter/getter
The input method will be global to Clutter and shared between all the
IM aware foci. These methods allow querying it and setting one up.
2018-01-18 15:33:12 +01:00
Carlos Garnacho
8c988aa632 clutter: Add special event flag for events that went through an IM
This will be useful to let Clutter know whether those should be or have
already been dispatched through an input method.
2018-01-18 15:33:12 +01:00
Olivier Fourdan
13cf19e0b6 wayland: shortcuts inhibitor requires a window
Issuing a shortcut inhibit request for a surface without a window set
will lead to a crash when trying to show the shortcut inhibitor dialog.

In such a case, it's safer to deny the request.

https://bugzilla.gnome.org/show_bug.cgi?id=792599
2018-01-18 14:08:13 +01:00
Carlos Garnacho
eac0e253e1 wayland: Add missing breaks on MetaWaylandSeat event handler
The events might fall through if there's no corresponding active
pointer/keyboard/touch interface. Barring bugs this should be safe to do,
just a bit wasteful.
2018-01-17 14:00:44 +01:00
Carlos Garnacho
7346419295 clutter/evdev: Ensure a valid ClutterEventSequence on single-touch devices
Libinput shall report those as having slot=-1, which gets mistakenly
translated into the special "NULL" ClutterEventSequence. Making those
events get a non-NULL sequence will make single touch devices work.

https://bugzilla.gnome.org/show_bug.cgi?id=792005
2018-01-17 00:22:22 +01:00
Olivier Fourdan
3e77f6704b wayland: send xdg-output size as size, not position
https://bugzilla.gnome.org/show_bug.cgi?id=792527
2018-01-15 10:41:01 +01:00
Jonas Ådahl
01e27a4366 input-settings/x11: Fix tap-and-drag libinput property name
It's "libinput Tapping Drag Enabled", not "libinput TappingDrag
Enabled".

https://bugzilla.gnome.org/show_bug.cgi?id=775755
2018-01-12 18:57:57 +08:00
Jonas Ådahl
4e3b26d2ed clutter/evdev: Ignore unknown touch points
We might receive touch events for unknown touch points, for example
when starting mutter while touching the screen (resulting in no
touch-down event ever being received). Avoid crashing when this happens
by just dropping these events on the floor.

https://bugzilla.gnome.org/show_bug.cgi?id=791371
2018-01-12 18:57:43 +08:00
Olivier Fourdan
5f05112b9a wayland: update location prior to maximize
When maximizing a window, the previous location is saved so that
un-maximize would restore the same original window location.

However, if a Wayland client starts with a window maximized, the
previous location will be 0x0, so if we have to force placement in
xdg_toplevel_set_maximized(), we should update the location as well so
that the window is placed on the right monitor when un-maximizing.

For that purpose, add a new flag to force the update of the window
location, and use that flag from xdg_toplevel_set_maximized().

https://bugzilla.gnome.org/show_bug.cgi?id=783901
2018-01-11 11:03:04 +01:00
Olivier Fourdan
6cf7d2d47f wayland: Do not enforce a size on un-maximize
When un-maximizing, use a zero size to pass to the client so that it can
use the right un-maximized size that fits.

https://bugzilla.gnome.org/show_bug.cgi?id=783901
2018-01-11 11:03:04 +01:00
Olivier Fourdan
1139ace244 core: Add new unmaximize flag
Wayland clients know their size better, so for Wayland we'd rather not
try to resize the client on un-maximize, but for this to work we need a
new MetaMoveResizeFlags.

https://bugzilla.gnome.org/show_bug.cgi?id=783901
2018-01-11 11:03:04 +01:00
Olivier Fourdan
bd9a300801 window: Defer stack placement without a buffer
When closing a window and showing a new one, the new one may not be
granted input focus until it gets a buffer on Wayland.

If another window is chosen to receive focus and raised on top of stack,
the newly mapped window is focused but placed underneath that other
window.

Meaning that for Wayland surfaces, we need to defer adding the window to
the stack until we actually get to show it, once we have a buffer
attached.

Rather that checking the windowing backend prior to decide if a window
is stackable or not, introduce a new vfunc is_stackable() which tells
if a window should be added to the stack regardless of the underlying
windowing system.

Also add meta_window_is_in_stack() API rather than checking the stack
position directly (replacing the define WINDOW_IN_STACK only available
in stack.c) and remove a window from the stack only if it is present
in the stack, so that the test in meta_stack_remote() becomes
irrelevant.

https://bugzilla.gnome.org/show_bug.cgi?id=780820
2018-01-11 11:03:04 +01:00
Fabio Tomat
2d090f9232 Update Friulian translation 2018-01-09 17:49:45 +00:00
Daniel van Vugt
1c8aebd811 wayland: Ensure wl_shell_surfaces are set reactive
Wayland clients using the wl_shell interface were never receiving mouse
input. It meant they also couldn't be raised with a click.

This was because the call to meta_wayland_surface_set_window for wl_shell
surfaces did nothing while surface->window == window already. As such, it
never called clutter_actor_set_reactive() and the wl_shell window remained
a non-reactive actor.

Just make sure surface->window isn't already set before calling
meta_wayland_surface_set_window so it can actually do what it's meant to.

https://bugzilla.gnome.org/show_bug.cgi?id=790309
2018-01-09 11:27:30 -05:00
Ting-Wei Lan
31eafba93a build: Fix build when native backend is disabled
https://bugzilla.gnome.org/show_bug.cgi?id=792281
2018-01-09 12:01:08 +08:00
Hans de Goede
5eacdf7af7 monitor-unit-tests: Add non upright panel test
https://bugzilla.gnome.org/show_bug.cgi?id=782294
2017-12-25 17:01:45 +08:00
Hans de Goede
ca638d1354 monitor-unit-tests: Add support for panel-orientation
https://bugzilla.gnome.org/show_bug.cgi?id=782294
2017-12-25 17:01:45 +08:00
Hans de Goede
f12e6ad4f1 monitor-config-manager: Adjust accelerometer rotation for panel-orientation
The device orientation coming out of iio-sensor-proxy defines upright/normal
as the direction in which the picture is displayed on the LCD panel without
any rotation. This is necessary for accelerometer rotation to work properly
in desktop environments which are not aware of panel-orientation issues.

This means that we need to correct the logical-monitor-config / user-visible
rotation for the panel-orientation when we get rotation info from
iio-sensor-proxy.

https://bugzilla.gnome.org/show_bug.cgi?id=782294
2017-12-25 17:01:45 +08:00
Hans de Goede
0bbda3ad87 monitor-manager: Take panel-orientation into account for physical size
Just like we swap the x and y resolution of the monitor modes when
the panel-orientation requires 90 or 270 degree rotation to compensate,
we should do the same for the width and height in mm of the monitor.

https://bugzilla.gnome.org/show_bug.cgi?id=782294
2017-12-25 17:01:45 +08:00
Hans de Goede
dd43d04d42 monitor-manager: Add portrait modes to portrait displays
If a monitor's max resolution is a portrait resolution, then assume it is
a native portrait monitor and add portrait versions of the common modes.

https://bugzilla.gnome.org/show_bug.cgi?id=782294
2017-12-25 17:01:45 +08:00
Hans de Goede
383ac76d00 cursor-renderer-native: Take panel-orientation into account
Even if the logical_monitor config does not have an active transform,
we might still be doing a transform under the hood to compensate for
panel-orientation. Check for this and fall back to the sw cursor if this
is the case.

https://bugzilla.gnome.org/show_bug.cgi?id=782294
2017-12-25 17:01:45 +08:00
Hans de Goede
e59ca14f6c monitor-manager: Take panel orientation into account when getting input matrix
If a LCD panel has a non normal orientation (mounted upside-down or 90
degrees rotated) then the kernel will report touchscreen coordinates with
the origin matching the native (e.g. upside down) coordinates of the panel.

Since we transparently rotate the image on the panel to correct for the
non normal panel-orientation, we must apply the same transform to input
coordinates to keep the aligned.

https://bugzilla.gnome.org/show_bug.cgi?id=782294
2017-12-25 17:01:45 +08:00
Hans de Goede
7917b083cb monitor-manager: Take drm-connector panel-orientation property into account
Some x86 clamshell design devices use portrait tablet LCD panels while
they should use a landscape panel, resoluting in a 90 degree rotated
picture.

Newer kernels detect this and rotate the fb console in software to
compensate. These kernels also export their knowledge of the LCD panel
orientation vs the casing in a "panel orientation" drm_connector property.

This commit adds support to mutter for reading the "panel orientation"
and transparently (from a mutter consumer's pov) fixing this by applying
a (hidden) rotation transform to compensate for the panel orientation.

Related: https://bugs.freedesktop.org/show_bug.cgi?id=94894

https://bugzilla.gnome.org/show_bug.cgi?id=782294
2017-12-25 17:01:45 +08:00
Hans de Goede
2b3040d04f monitor: s/meta_monitor_derived_derive_layout/meta_monitor_tiled_derive_layout/
Fix meta_monitor_derived_derive_layout typo.

https://bugzilla.gnome.org/show_bug.cgi?id=782294
2017-12-25 17:01:45 +08:00
Ting-Wei Lan
6cc48d8cbb build: Fix non-wayland builds
meta_dnd_wayland_handle_end_modal is not available on non-wayland build.

https://bugzilla.gnome.org/show_bug.cgi?id=791916
2017-12-24 17:55:14 +08:00
161 changed files with 12496 additions and 6362 deletions

8
.gitignore vendored
View File

@@ -92,6 +92,14 @@ src/xdg-output-unstable-v1-protocol.c
src/xdg-output-unstable-v1-server-protocol.h src/xdg-output-unstable-v1-server-protocol.h
src/xwayland-keyboard-grab-unstable-v1-protocol.c src/xwayland-keyboard-grab-unstable-v1-protocol.c
src/xwayland-keyboard-grab-unstable-v1-server-protocol.h src/xwayland-keyboard-grab-unstable-v1-server-protocol.h
src/tablet-unstable-v*-protocol.c
src/tablet-unstable-v*-server-protocol.h
src/keyboard-shortcuts-inhibit-unstable-v*-protocol.c
src/keyboard-shortcuts-inhibit-unstable-v*-server-protocol.h
src/linux-dmabuf-unstable-v*-protocol.c
src/linux-dmabuf-unstable-v*-server-protocol.h
src/xdg-shell-protocol.c
src/xdg-shell-server-protocol.h
src/meta/meta-version.h src/meta/meta-version.h
src/libmutter-*.pc src/libmutter-*.pc
doc/reference/*.args doc/reference/*.args

78
NEWS
View File

@@ -1,3 +1,81 @@
3.28.0
======
* Fix xdg-foreign regression [Carlos; #63]
Contributors:
Carlos Garnacho, Georges Basile Stavracas Neto
Translators:
Marek Cernocky [cs], Ask Hjorth Larsen [da], Chao-Hsiung Liao [zh_TW],
Anders Jonsson [sv], Mart Raudsepp [et]
3.27.92
=======
* Fix use of modifiers with multi-GPU systems [Louis-Francis; #18]
* Add xdg-shell stable support [Jonas; #791938]
* Fix scaling of icons in titlebar buttons [Egmont; #23]
* Implement missing wacom functionality on X11 [Carlos; #48]
* Force 8-bit RGB config [Jonas; #2]
* Misc. bug fixes [Jonas, Olivier, Robert; #6, #27, #792203]
Contributors:
Jonas Ådahl, Olivier Fourdan, Carlos Garnacho, Egmont Koblinger, Robert Mader,
Bastien Nocera, Louis-Francis Ratté-Boulianne
Translators:
Daniel Mustieles [es], Марко Костић [sr], Милош Поповић [sr@latin],
Fran Dieguez [gl], Balázs Úr [hu], Gwan-gyeong Mun [ko], Rūdolfs Mazurs [lv],
Milo Casagrande [it], Mario Blättermann [de], GNOME Translation Robot [gd,
nl], Claude Paroz [fr], Aurimas Černius [lt]
3.27.91
=======
* Fix handling of trackball settings on wayland [Carlos; #787804]
* Apply font settings on wayland [Daniel; #645433]
* Fix keybindings getting mixed up with some layouts [Jonas; #789300]
* Fix bluetooth mouse cursor disappearing after idle [Benoit; #761067]
* Support platforms that export EGL_KHR_platform_gbm [memeka; #780668]
* Add keyboard accessibility support on wayland [Olivier; #788564]
* Fix missing cursor when using screen magnifier [Carlos; #754806]
* Fix external monitor shutting off on wayland when lid closes [Jonas; #788915]
* Add xdg-output support [Olivier; #787363]
* Add Xwayland grab keyboard support [Olivier; #783342]
* Allow shortcut inhibition of the super key [Olivier; #790627]
* Take "panel orientation" drm_connector property into account [Hans; #782294]
* Fix focus window ending up below other windows on wayland [Olivier; #780820]
* Fix maximized windows restoring to a tiny size on wayland [Olivier; #783901]
* Fix tap-and-drag setting on X11 [Jonas; #775755]
* Fix handling of single-touch devices on wayland [Carlos; #792005]
* Support tiled/compressed buffers [Daniel; #785779]
* Port screencast support to pipewire 0.1.8 [Jonas; #792854]
* Add support for third stylus button on newer tablets [Jason; #790033]
* Fix background corruption regression on nvidia [Jonas; #739178]
* Misc. bug fixes [Jonas, Rui, Michael, Marco, Carlos, Olivier, Philip, Piotr,
Ting-Wei, Daniel, Jeremy, Hans, Florian, Ray, Jeff, George, Gwan-gyeong;
#789153, #788493, #784314, #789227, #789223, #789277, #782344, #789552,
#789553, #788695, #789984, #788764, #789386, #784545, #790336, #790358,
#791022, #791006, #789070, #772218, #791383, #791809, #776220, #791916,
#792281, #790309, #791371, #792527, #792599, #788834, #792765, #792062,
#645460, #792853, !2, #792818, #8, #12, #789501, #10, #789961, #13, !15, #1,
#26, #28, #35, #36, #38]
Contributors:
Jonas Ådahl, Jeremy Bicha, Michael Catanzaro, Piotr Drąg, Olivier Fourdan,
Carlos Garnacho, Jason Gerecke, Hans de Goede, Benoit Gschwind,
Peter Hutterer, George Kiagiadakis, Ting-Wei Lan, Rui Matos, memeka,
Florian Müllner, Gwan-gyeong Mun, Jeremy Nickurak, Marc-Antoine Perennou,
Jeff Smith, Daniel Stone, Ray Strode, Marco Trevisan (Treviño),
Daniel van Vugt, Philip Withnall
Translators:
Khaled Hosny [ar], Kjartan Maraas [nb], Piotr Drąg [pl],
Rafael Fontenelle [pt_BR], Christian Kirbach [de], Anders Jonsson [sv],
Charles Monzat [fr], Marek Cernocky [cs], Muhammet Kara [tr],
Milo Casagrande [it], Pawan Chitrakar [ne], Yosef Or Boczko [he],
Kukuh Syafaat [id], Daniel Mustieles [es], Fabio Tomat [fur],
Kristjan SCHMIDT [eo], Balázs Úr [hu], Andika Triwidada [id],
Fran Dieguez [gl], gogo [hr]
3.27.1 3.27.1
====== ======
* Work with clients that require older linux_dmabuf protocol [Daniel; #788558] * Work with clients that require older linux_dmabuf protocol [Daniel; #788558]

View File

@@ -233,6 +233,8 @@ source_h_priv = \
clutter-flatten-effect.h \ clutter-flatten-effect.h \
clutter-gesture-action-private.h \ clutter-gesture-action-private.h \
clutter-id-pool.h \ clutter-id-pool.h \
clutter-input-focus-private.h \
clutter-input-method-private.h \
clutter-master-clock.h \ clutter-master-clock.h \
clutter-master-clock-default.h \ clutter-master-clock-default.h \
clutter-offscreen-effect-private.h \ clutter-offscreen-effect-private.h \

View File

@@ -324,7 +324,7 @@ _clutter_bezier_init (ClutterBezier *b,
* triggers, we need to change those two functions a bit. * triggers, we need to change those two functions a bit.
*/ */
if (b->ax > 0x1fff || b->bx > 0x1fff || b->cx > 0x1fff) if (b->ax > 0x1fff || b->bx > 0x1fff || b->cx > 0x1fff)
g_warning ("Calculated coefficents will result in multiplication " g_warning ("Calculated coefficients will result in multiplication "
"overflow in clutter_bezier_t2x and clutter_bezier_t2y."); "overflow in clutter_bezier_t2x and clutter_bezier_t2y.");
/* /*

View File

@@ -516,6 +516,21 @@ clutter_device_manager_create_virtual_device (ClutterDeviceManager *device_man
device_type); device_type);
} }
/**
* clutter_device_manager_supported_virtua_device_types: (skip)
*/
ClutterVirtualDeviceType
clutter_device_manager_get_supported_virtual_device_types (ClutterDeviceManager *device_manager)
{
ClutterDeviceManagerClass *manager_class;
g_return_val_if_fail (CLUTTER_IS_DEVICE_MANAGER (device_manager),
CLUTTER_VIRTUAL_DEVICE_TYPE_NONE);
manager_class = CLUTTER_DEVICE_MANAGER_GET_CLASS (device_manager);
return manager_class->get_supported_virtual_device_types (device_manager);
}
void void
_clutter_device_manager_compress_motion (ClutterDeviceManager *device_manager, _clutter_device_manager_compress_motion (ClutterDeviceManager *device_manager,
ClutterEvent *event, ClutterEvent *event,

View File

@@ -44,6 +44,16 @@ typedef struct _ClutterDeviceManager ClutterDeviceManager;
typedef struct _ClutterDeviceManagerPrivate ClutterDeviceManagerPrivate; typedef struct _ClutterDeviceManagerPrivate ClutterDeviceManagerPrivate;
typedef struct _ClutterDeviceManagerClass ClutterDeviceManagerClass; typedef struct _ClutterDeviceManagerClass ClutterDeviceManagerClass;
/**
* ClutterVirtualDeviceType:
*/
typedef enum _ClutterVirtualDeviceType
{
CLUTTER_VIRTUAL_DEVICE_TYPE_NONE = 0,
CLUTTER_VIRTUAL_DEVICE_TYPE_KEYBOARD = 1 << 0,
CLUTTER_VIRTUAL_DEVICE_TYPE_POINTER = 1 << 1,
CLUTTER_VIRTUAL_DEVICE_TYPE_TOUCHSCREEN = 1 << 2,
} ClutterVirtualDeviceType;
/** /**
* ClutterKbdA11ySettings: * ClutterKbdA11ySettings:
@@ -104,6 +114,7 @@ struct _ClutterDeviceManagerClass
ClutterStage *stage); ClutterStage *stage);
ClutterVirtualInputDevice *(* create_virtual_device) (ClutterDeviceManager *device_manager, ClutterVirtualInputDevice *(* create_virtual_device) (ClutterDeviceManager *device_manager,
ClutterInputDeviceType device_type); ClutterInputDeviceType device_type);
ClutterVirtualDeviceType (* get_supported_virtual_device_types) (ClutterDeviceManager *device_manager);
void (* compress_motion) (ClutterDeviceManager *device_manger, void (* compress_motion) (ClutterDeviceManager *device_manger,
ClutterEvent *event, ClutterEvent *event,
const ClutterEvent *to_discard); const ClutterEvent *to_discard);
@@ -135,6 +146,9 @@ CLUTTER_AVAILABLE_IN_ALL
ClutterVirtualInputDevice *clutter_device_manager_create_virtual_device (ClutterDeviceManager *device_manager, ClutterVirtualInputDevice *clutter_device_manager_create_virtual_device (ClutterDeviceManager *device_manager,
ClutterInputDeviceType device_type); ClutterInputDeviceType device_type);
CLUTTER_AVAILABLE_IN_ALL
ClutterVirtualDeviceType clutter_device_manager_get_supported_virtual_device_types (ClutterDeviceManager *device_manager);
CLUTTER_AVAILABLE_IN_ALL CLUTTER_AVAILABLE_IN_ALL
void clutter_device_manager_set_kbd_a11y_settings (ClutterDeviceManager *device_manager, void clutter_device_manager_set_kbd_a11y_settings (ClutterDeviceManager *device_manager,
ClutterKbdA11ySettings *settings); ClutterKbdA11ySettings *settings);

View File

@@ -0,0 +1,40 @@
/*
* Copyright (C) 2017,2018 Red Hat
*
* 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.
*
* Author: Carlos Garnacho <carlosg@gnome.org>
*/
#ifndef __CLUTTER_INPUT_FOCUS_PRIVATE_H__
#define __CLUTTER_INPUT_FOCUS_PRIVATE_H__
void clutter_input_focus_focus_in (ClutterInputFocus *focus,
ClutterInputMethod *method);
void clutter_input_focus_focus_out (ClutterInputFocus *focus);
void clutter_input_focus_commit (ClutterInputFocus *focus,
const gchar *text);
void clutter_input_focus_delete_surrounding (ClutterInputFocus *focus,
guint offset,
guint len);
void clutter_input_focus_request_surrounding (ClutterInputFocus *focus);
void clutter_input_focus_set_preedit_text (ClutterInputFocus *focus,
const gchar *preedit,
guint cursor);
#endif /* __CLUTTER_INPUT_FOCUS_PRIVATE_H__ */

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017 Red Hat * Copyright (C) 2017,2018 Red Hat
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as * modify it under the terms of the GNU General Public License as
@@ -22,95 +22,84 @@
#include "clutter-build-config.h" #include "clutter-build-config.h"
#include "clutter/clutter-input-focus.h" #include "clutter/clutter-input-focus.h"
#include "clutter/clutter-input-focus-private.h"
#include "clutter/clutter-input-method-private.h"
enum { typedef struct _ClutterInputFocusPrivate ClutterInputFocusPrivate;
FOCUS_IN,
FOCUS_OUT, struct _ClutterInputFocusPrivate
COMMIT, {
DELETE_SURROUNDING, ClutterInputMethod *im;
REQUEST_SURROUNDING,
SET_PREEDIT_TEXT,
N_SIGNALS,
}; };
static guint signals[N_SIGNALS] = { 0 }; G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (ClutterInputFocus, clutter_input_focus, G_TYPE_OBJECT)
G_DEFINE_INTERFACE (ClutterInputFocus, clutter_input_focus, G_TYPE_OBJECT)
static void static void
clutter_input_focus_default_init (ClutterInputFocusInterface *iface) clutter_input_focus_real_focus_in (ClutterInputFocus *focus,
ClutterInputMethod *im)
{ {
signals[FOCUS_IN] = ClutterInputFocusPrivate *priv;
g_signal_new ("focus-in",
CLUTTER_TYPE_INPUT_FOCUS, priv = clutter_input_focus_get_instance_private (focus);
G_SIGNAL_RUN_LAST, priv->im = im;
G_STRUCT_OFFSET (ClutterInputFocusInterface, focus_in), }
NULL, NULL, NULL,
G_TYPE_NONE, 1, CLUTTER_TYPE_INPUT_METHOD); static void
signals[FOCUS_OUT] = clutter_input_focus_real_focus_out (ClutterInputFocus *focus)
g_signal_new ("focus-out", {
CLUTTER_TYPE_INPUT_FOCUS, ClutterInputFocusPrivate *priv;
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (ClutterInputFocusInterface, focus_out), priv = clutter_input_focus_get_instance_private (focus);
NULL, NULL, NULL, priv->im = NULL;
G_TYPE_NONE, 0); }
signals[COMMIT] =
g_signal_new ("commit", static void
CLUTTER_TYPE_INPUT_FOCUS, clutter_input_focus_class_init (ClutterInputFocusClass *klass)
G_SIGNAL_RUN_LAST, {
G_STRUCT_OFFSET (ClutterInputFocusInterface, commit_text), klass->focus_in = clutter_input_focus_real_focus_in;
NULL, NULL, NULL, klass->focus_out = clutter_input_focus_real_focus_out;
G_TYPE_NONE, 1, G_TYPE_STRING); }
signals[DELETE_SURROUNDING] =
g_signal_new ("delete-surrounding", static void
CLUTTER_TYPE_INPUT_FOCUS, clutter_input_focus_init (ClutterInputFocus *focus)
G_SIGNAL_RUN_LAST, {
G_STRUCT_OFFSET (ClutterInputFocusInterface, delete_surrounding), }
NULL, NULL, NULL,
G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_UINT); gboolean
signals[REQUEST_SURROUNDING] = clutter_input_focus_is_focused (ClutterInputFocus *focus)
g_signal_new ("request-surrounding", {
CLUTTER_TYPE_INPUT_FOCUS, ClutterInputFocusPrivate *priv;
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (ClutterInputFocusInterface, request_surrounding), priv = clutter_input_focus_get_instance_private (focus);
NULL, NULL, NULL,
G_TYPE_NONE, 0); return !!priv->im;
signals[SET_PREEDIT_TEXT] =
g_signal_new ("set-preedit-text",
CLUTTER_TYPE_INPUT_FOCUS,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (ClutterInputFocusInterface, set_preedit_text),
NULL, NULL, NULL,
G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_UINT);
} }
void void
clutter_input_focus_reset (ClutterInputFocus *focus) clutter_input_focus_reset (ClutterInputFocus *focus)
{ {
ClutterBackend *backend = clutter_get_default_backend (); ClutterInputFocusPrivate *priv;
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method)); g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
g_return_if_fail (clutter_input_focus_is_focused (focus));
if (clutter_input_method_get_focus (method) != focus) priv = clutter_input_focus_get_instance_private (focus);
return;
CLUTTER_INPUT_METHOD_GET_CLASS (method)->reset (method); clutter_input_method_reset (priv->im);
} }
void void
clutter_input_focus_set_cursor_location (ClutterInputFocus *focus, clutter_input_focus_set_cursor_location (ClutterInputFocus *focus,
const ClutterRect *rect) const ClutterRect *rect)
{ {
ClutterBackend *backend = clutter_get_default_backend (); ClutterInputFocusPrivate *priv;
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method)); g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
g_return_if_fail (clutter_input_focus_is_focused (focus));
if (clutter_input_method_get_focus (method) != focus) priv = clutter_input_focus_get_instance_private (focus);
return;
CLUTTER_INPUT_METHOD_GET_CLASS (method)->set_cursor_location (method, rect); clutter_input_method_set_cursor_location (priv->im, rect);
} }
void void
@@ -119,111 +108,136 @@ clutter_input_focus_set_surrounding (ClutterInputFocus *focus,
guint cursor, guint cursor,
guint anchor) guint anchor)
{ {
ClutterBackend *backend = clutter_get_default_backend (); ClutterInputFocusPrivate *priv;
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method)); g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
g_return_if_fail (clutter_input_focus_is_focused (focus));
if (clutter_input_method_get_focus (method) != focus) priv = clutter_input_focus_get_instance_private (focus);
return;
CLUTTER_INPUT_METHOD_GET_CLASS (method)->set_surrounding (method, text, cursor, anchor); clutter_input_method_set_surrounding (priv->im, text, cursor, anchor);
} }
void void
clutter_input_focus_set_content_hints (ClutterInputFocus *focus, clutter_input_focus_set_content_hints (ClutterInputFocus *focus,
ClutterInputContentHintFlags hints) ClutterInputContentHintFlags hints)
{ {
ClutterBackend *backend = clutter_get_default_backend (); ClutterInputFocusPrivate *priv;
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method)); g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
g_return_if_fail (clutter_input_focus_is_focused (focus));
if (clutter_input_method_get_focus (method) != focus) priv = clutter_input_focus_get_instance_private (focus);
return;
g_object_set (G_OBJECT (method), "content-hints", hints, NULL); clutter_input_method_set_content_hints (priv->im, hints);
} }
void void
clutter_input_focus_set_content_purpose (ClutterInputFocus *focus, clutter_input_focus_set_content_purpose (ClutterInputFocus *focus,
ClutterInputContentPurpose purpose) ClutterInputContentPurpose purpose)
{ {
ClutterBackend *backend = clutter_get_default_backend (); ClutterInputFocusPrivate *priv;
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method)); g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
g_return_if_fail (clutter_input_focus_is_focused (focus));
if (clutter_input_method_get_focus (method) != focus) priv = clutter_input_focus_get_instance_private (focus);
return;
g_object_set (G_OBJECT (method), "content-purpose", purpose, NULL); clutter_input_method_set_content_purpose (priv->im, purpose);
}
void
clutter_input_focus_focus_in (ClutterInputFocus *focus)
{
ClutterBackend *backend = clutter_get_default_backend ();
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
clutter_input_method_focus_in (method, focus);
}
void
clutter_input_focus_focus_out (ClutterInputFocus *focus)
{
ClutterBackend *backend = clutter_get_default_backend ();
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method));
if (clutter_input_method_get_focus (method) == focus)
clutter_input_method_focus_out (method);
} }
gboolean gboolean
clutter_input_focus_filter_key_event (ClutterInputFocus *focus, clutter_input_focus_filter_key_event (ClutterInputFocus *focus,
const ClutterKeyEvent *key) const ClutterKeyEvent *key)
{ {
ClutterBackend *backend = clutter_get_default_backend (); ClutterInputFocusPrivate *priv;
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
g_return_val_if_fail (CLUTTER_IS_INPUT_METHOD (method), FALSE); g_return_val_if_fail (CLUTTER_IS_INPUT_FOCUS (focus), FALSE);
g_return_val_if_fail (clutter_input_focus_is_focused (focus), FALSE);
if (clutter_event_get_flags ((ClutterEvent *) key) & CLUTTER_EVENT_FLAG_INPUT_METHOD) priv = clutter_input_focus_get_instance_private (focus);
return FALSE;
if (clutter_input_method_get_focus (method) == focus) return clutter_input_method_filter_key_event (priv->im, key);
{
ClutterInputMethodClass *im_class = CLUTTER_INPUT_METHOD_GET_CLASS (method);
if (im_class->filter_key_event)
return im_class->filter_key_event (method, (const ClutterEvent *) key);
}
return FALSE;
} }
void void
clutter_input_focus_set_can_show_preedit (ClutterInputFocus *focus, clutter_input_focus_set_can_show_preedit (ClutterInputFocus *focus,
gboolean can_show_preedit) gboolean can_show_preedit)
{ {
ClutterBackend *backend = clutter_get_default_backend (); ClutterInputFocusPrivate *priv;
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
if (clutter_input_method_get_focus (method) == focus) g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
g_object_set (G_OBJECT (method), "can-show-preedit", can_show_preedit, NULL); g_return_if_fail (clutter_input_focus_is_focused (focus));
priv = clutter_input_focus_get_instance_private (focus);
clutter_input_method_set_can_show_preedit (priv->im, can_show_preedit);
} }
void void
clutter_input_focus_request_toggle_input_panel (ClutterInputFocus *focus) clutter_input_focus_request_toggle_input_panel (ClutterInputFocus *focus)
{ {
ClutterBackend *backend = clutter_get_default_backend (); ClutterInputFocusPrivate *priv;
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
if (clutter_input_method_get_focus (method) == focus) g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
{ g_return_if_fail (clutter_input_focus_is_focused (focus));
g_signal_emit_by_name (method, "input-panel-state",
CLUTTER_INPUT_PANEL_STATE_TOGGLE); priv = clutter_input_focus_get_instance_private (focus);
}
clutter_input_method_toggle_input_panel (priv->im);
}
void
clutter_input_focus_focus_in (ClutterInputFocus *focus,
ClutterInputMethod *im)
{
g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
CLUTTER_INPUT_FOCUS_GET_CLASS (focus)->focus_in (focus, im);
}
void
clutter_input_focus_focus_out (ClutterInputFocus *focus)
{
g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
CLUTTER_INPUT_FOCUS_GET_CLASS (focus)->focus_out (focus);
}
void
clutter_input_focus_commit (ClutterInputFocus *focus,
const gchar *text)
{
g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
CLUTTER_INPUT_FOCUS_GET_CLASS (focus)->commit_text (focus, text);
}
void
clutter_input_focus_delete_surrounding (ClutterInputFocus *focus,
guint offset,
guint len)
{
g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
CLUTTER_INPUT_FOCUS_GET_CLASS (focus)->delete_surrounding (focus, offset, len);
}
void
clutter_input_focus_request_surrounding (ClutterInputFocus *focus)
{
g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
CLUTTER_INPUT_FOCUS_GET_CLASS (focus)->request_surrounding (focus);
}
void
clutter_input_focus_set_preedit_text (ClutterInputFocus *focus,
const gchar *preedit,
guint cursor)
{
g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
CLUTTER_INPUT_FOCUS_GET_CLASS (focus)->set_preedit_text (focus, preedit, cursor);
} }

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017 Red Hat * Copyright (C) 2017,2018 Red Hat
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as * modify it under the terms of the GNU General Public License as
@@ -27,13 +27,12 @@
#define CLUTTER_TYPE_INPUT_FOCUS (clutter_input_focus_get_type ()) #define CLUTTER_TYPE_INPUT_FOCUS (clutter_input_focus_get_type ())
CLUTTER_AVAILABLE_IN_MUTTER CLUTTER_AVAILABLE_IN_MUTTER
G_DECLARE_INTERFACE (ClutterInputFocus, clutter_input_focus, G_DECLARE_DERIVABLE_TYPE (ClutterInputFocus, clutter_input_focus,
CLUTTER, INPUT_FOCUS, GObject) CLUTTER, INPUT_FOCUS, GObject)
typedef struct _ClutterInputFocusInterface ClutterInputFocusInterface; struct _ClutterInputFocusClass
struct _ClutterInputFocusInterface
{ {
GObjectClass parent_class;
GTypeInterface iface; GTypeInterface iface;
void (* focus_in) (ClutterInputFocus *focus, void (* focus_in) (ClutterInputFocus *focus,
@@ -53,9 +52,7 @@ struct _ClutterInputFocusInterface
}; };
CLUTTER_AVAILABLE_IN_MUTTER CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_focus_focus_in (ClutterInputFocus *focus); gboolean clutter_input_focus_is_focused (ClutterInputFocus *focus);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_focus_focus_out (ClutterInputFocus *focus);
CLUTTER_AVAILABLE_IN_MUTTER CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_focus_reset (ClutterInputFocus *focus); void clutter_input_focus_reset (ClutterInputFocus *focus);

View File

@@ -0,0 +1,46 @@
/*
* Copyright (C) 2017,2018 Red Hat
*
* 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.
*
* Author: Carlos Garnacho <carlosg@gnome.org>
*/
#ifndef __CLUTTER_INPUT_METHOD_PRIVATE_H__
#define __CLUTTER_INPUT_METHOD_PRIVATE_H__
ClutterInputFocus * clutter_input_method_get_focus (ClutterInputMethod *method);
void clutter_input_method_reset (ClutterInputMethod *method);
void clutter_input_method_set_cursor_location (ClutterInputMethod *method,
const ClutterRect *rect);
void clutter_input_method_set_surrounding (ClutterInputMethod *method,
const gchar *text,
guint cursor,
guint anchor);
void clutter_input_method_set_content_hints (ClutterInputMethod *method,
ClutterInputContentHintFlags hints);
void clutter_input_method_set_content_purpose (ClutterInputMethod *method,
ClutterInputContentPurpose purpose);
void clutter_input_method_set_can_show_preedit (ClutterInputMethod *method,
gboolean can_show_preedit);
gboolean clutter_input_method_filter_key_event (ClutterInputMethod *method,
const ClutterKeyEvent *key);
void clutter_input_method_toggle_input_panel (ClutterInputMethod *method);
#endif /* __CLUTTER_INPUT_METHOD_PRIVATE_H__ */

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017 Red Hat * Copyright (C) 2017,2018 Red Hat
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as * modify it under the terms of the GNU General Public License as
@@ -23,6 +23,8 @@
#include "clutter-private.h" #include "clutter-private.h"
#include "clutter/clutter-input-method.h" #include "clutter/clutter-input-method.h"
#include "clutter/clutter-input-method-private.h"
#include "clutter/clutter-input-focus-private.h"
typedef struct _ClutterInputMethodPrivate ClutterInputMethodPrivate; typedef struct _ClutterInputMethodPrivate ClutterInputMethodPrivate;
@@ -39,6 +41,7 @@ enum {
DELETE_SURROUNDING, DELETE_SURROUNDING,
REQUEST_SURROUNDING, REQUEST_SURROUNDING,
INPUT_PANEL_STATE, INPUT_PANEL_STATE,
CURSOR_LOCATION_CHANGED,
N_SIGNALS, N_SIGNALS,
}; };
@@ -56,36 +59,35 @@ static GParamSpec *pspecs[N_PROPS] = { 0 };
G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (ClutterInputMethod, clutter_input_method, G_TYPE_OBJECT) G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (ClutterInputMethod, clutter_input_method, G_TYPE_OBJECT)
static void static void
set_content_hints (ClutterInputMethod *method, set_content_hints (ClutterInputMethod *im,
ClutterInputContentHintFlags content_hints) ClutterInputContentHintFlags content_hints)
{ {
ClutterInputMethodPrivate *priv; ClutterInputMethodPrivate *priv;
priv = clutter_input_method_get_instance_private (method); priv = clutter_input_method_get_instance_private (im);
priv->content_hints = content_hints; priv->content_hints = content_hints;
CLUTTER_INPUT_METHOD_GET_CLASS (method)->update_content_hints (method, CLUTTER_INPUT_METHOD_GET_CLASS (im)->update_content_hints (im, content_hints);
content_hints);
} }
static void static void
set_content_purpose (ClutterInputMethod *method, set_content_purpose (ClutterInputMethod *im,
ClutterInputContentPurpose content_purpose) ClutterInputContentPurpose content_purpose)
{ {
ClutterInputMethodPrivate *priv; ClutterInputMethodPrivate *priv;
priv = clutter_input_method_get_instance_private (method); priv = clutter_input_method_get_instance_private (im);
priv->content_purpose = content_purpose; priv->content_purpose = content_purpose;
CLUTTER_INPUT_METHOD_GET_CLASS (method)->update_content_purpose (method, CLUTTER_INPUT_METHOD_GET_CLASS (im)->update_content_purpose (im,
content_purpose); content_purpose);
} }
static void static void
set_can_show_preedit (ClutterInputMethod *method, set_can_show_preedit (ClutterInputMethod *im,
gboolean can_show_preedit) gboolean can_show_preedit)
{ {
ClutterInputMethodPrivate *priv; ClutterInputMethodPrivate *priv;
priv = clutter_input_method_get_instance_private (method); priv = clutter_input_method_get_instance_private (im);
priv->can_show_preedit = can_show_preedit; priv->can_show_preedit = can_show_preedit;
} }
@@ -122,10 +124,10 @@ clutter_input_method_get_property (GObject *object,
GParamSpec *pspec) GParamSpec *pspec)
{ {
ClutterInputMethodPrivate *priv; ClutterInputMethodPrivate *priv;
ClutterInputMethod *method; ClutterInputMethod *im;
method = CLUTTER_INPUT_METHOD (object); im = CLUTTER_INPUT_METHOD (object);
priv = clutter_input_method_get_instance_private (method); priv = clutter_input_method_get_instance_private (im);
switch (prop_id) switch (prop_id)
{ {
@@ -177,6 +179,12 @@ clutter_input_method_class_init (ClutterInputMethodClass *klass)
0, NULL, NULL, NULL, 0, NULL, NULL, NULL,
G_TYPE_NONE, 1, G_TYPE_NONE, 1,
CLUTTER_TYPE_INPUT_PANEL_STATE); CLUTTER_TYPE_INPUT_PANEL_STATE);
signals[CURSOR_LOCATION_CHANGED] =
g_signal_new ("cursor-location-changed",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
0, NULL, NULL, NULL,
G_TYPE_NONE, 1, CLUTTER_TYPE_RECT);
pspecs[PROP_CONTENT_HINTS] = pspecs[PROP_CONTENT_HINTS] =
g_param_spec_flags ("content-hints", g_param_spec_flags ("content-hints",
@@ -204,142 +212,134 @@ clutter_input_method_class_init (ClutterInputMethodClass *klass)
} }
static void static void
clutter_input_method_init (ClutterInputMethod *method) clutter_input_method_init (ClutterInputMethod *im)
{ {
} }
void void
clutter_input_method_focus_in (ClutterInputMethod *method, clutter_input_method_focus_in (ClutterInputMethod *im,
ClutterInputFocus *focus) ClutterInputFocus *focus)
{ {
ClutterInputMethodPrivate *priv; ClutterInputMethodPrivate *priv;
ClutterInputMethodClass *klass; ClutterInputMethodClass *klass;
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method)); g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus)); g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
priv = clutter_input_method_get_instance_private (method); priv = clutter_input_method_get_instance_private (im);
if (priv->focus == focus) if (priv->focus == focus)
return; return;
if (priv->focus) if (priv->focus)
clutter_input_method_focus_out (method); clutter_input_method_focus_out (im);
g_set_object (&priv->focus, focus); g_set_object (&priv->focus, focus);
if (focus) if (focus)
{ {
klass = CLUTTER_INPUT_METHOD_GET_CLASS (method); klass = CLUTTER_INPUT_METHOD_GET_CLASS (im);
klass->focus_in (method, focus); klass->focus_in (im, focus);
g_signal_emit_by_name (priv->focus, "focus-in", method); clutter_input_focus_focus_in (priv->focus, im);
} }
} }
void void
clutter_input_method_focus_out (ClutterInputMethod *method) clutter_input_method_focus_out (ClutterInputMethod *im)
{ {
ClutterInputMethodPrivate *priv; ClutterInputMethodPrivate *priv;
ClutterInputMethodClass *klass; ClutterInputMethodClass *klass;
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method)); g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
priv = clutter_input_method_get_instance_private (method); priv = clutter_input_method_get_instance_private (im);
if (!priv->focus) if (!priv->focus)
return; return;
g_signal_emit_by_name (priv->focus, "focus-out"); clutter_input_focus_focus_out (priv->focus);
g_clear_object (&priv->focus); g_clear_object (&priv->focus);
klass = CLUTTER_INPUT_METHOD_GET_CLASS (method); klass = CLUTTER_INPUT_METHOD_GET_CLASS (im);
klass->focus_out (method); klass->focus_out (im);
g_signal_emit (method, signals[INPUT_PANEL_STATE], g_signal_emit (im, signals[INPUT_PANEL_STATE],
0, CLUTTER_INPUT_PANEL_STATE_OFF); 0, CLUTTER_INPUT_PANEL_STATE_OFF);
} }
/**
* clutter_input_method_get_focus:
* @method: the #ClutterInputMethod
*
* Retrieves the current focus of the input method, or %NULL
* if there is none.
*
* Returns: (transfer none) (nullable): the current focus
**/
ClutterInputFocus * ClutterInputFocus *
clutter_input_method_get_focus (ClutterInputMethod *method) clutter_input_method_get_focus (ClutterInputMethod *im)
{ {
ClutterInputMethodPrivate *priv; ClutterInputMethodPrivate *priv;
priv = clutter_input_method_get_instance_private (method); priv = clutter_input_method_get_instance_private (im);
return priv->focus; return priv->focus;
} }
void void
clutter_input_method_commit (ClutterInputMethod *method, clutter_input_method_commit (ClutterInputMethod *im,
const gchar *text) const gchar *text)
{ {
ClutterInputMethodPrivate *priv; ClutterInputMethodPrivate *priv;
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method)); g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
priv = clutter_input_method_get_instance_private (method); priv = clutter_input_method_get_instance_private (im);
if (priv->focus) if (priv->focus)
g_signal_emit_by_name (priv->focus, "commit", text); clutter_input_focus_commit (priv->focus, text);
} }
void void
clutter_input_method_delete_surrounding (ClutterInputMethod *method, clutter_input_method_delete_surrounding (ClutterInputMethod *im,
guint offset, guint offset,
guint len) guint len)
{ {
ClutterInputMethodPrivate *priv; ClutterInputMethodPrivate *priv;
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method)); g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
priv = clutter_input_method_get_instance_private (method); priv = clutter_input_method_get_instance_private (im);
if (priv->focus) if (priv->focus)
g_signal_emit_by_name (priv->focus, "delete-surrounding", offset, len); clutter_input_focus_delete_surrounding (priv->focus, offset, len);
} }
void void
clutter_input_method_request_surrounding (ClutterInputMethod *method) clutter_input_method_request_surrounding (ClutterInputMethod *im)
{ {
ClutterInputMethodPrivate *priv; ClutterInputMethodPrivate *priv;
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method)); g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
priv = clutter_input_method_get_instance_private (method); priv = clutter_input_method_get_instance_private (im);
if (priv->focus) if (priv->focus)
g_signal_emit_by_name (priv->focus, "request-surrounding"); clutter_input_focus_request_surrounding (priv->focus);
} }
/** /**
* clutter_input_method_set_preedit_text: * clutter_input_method_set_preedit_text:
* @method: a #ClutterInputMethod * @im: a #ClutterInputMethod
* @preedit: (nullable): the preedit text, or %NULL * @preedit: (nullable): the preedit text, or %NULL
* @cursor: the cursor
* *
* Sets the preedit text on the current input focus. * Sets the preedit text on the current input focus.
**/ **/
void void
clutter_input_method_set_preedit_text (ClutterInputMethod *method, clutter_input_method_set_preedit_text (ClutterInputMethod *im,
const gchar *preedit, const gchar *preedit,
guint cursor) guint cursor)
{ {
ClutterInputMethodPrivate *priv; ClutterInputMethodPrivate *priv;
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method)); g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
priv = clutter_input_method_get_instance_private (method); priv = clutter_input_method_get_instance_private (im);
if (priv->focus) if (priv->focus)
g_signal_emit_by_name (priv->focus, "set-preedit-text", preedit, cursor); clutter_input_focus_set_preedit_text (priv->focus, preedit, cursor);
} }
void void
clutter_input_method_notify_key_event (ClutterInputMethod *method, clutter_input_method_notify_key_event (ClutterInputMethod *im,
const ClutterEvent *event, const ClutterEvent *event,
gboolean filtered) gboolean filtered)
{ {
@@ -357,3 +357,87 @@ clutter_input_method_notify_key_event (ClutterInputMethod *method,
clutter_event_free (copy); clutter_event_free (copy);
} }
} }
void
clutter_input_method_toggle_input_panel (ClutterInputMethod *im)
{
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
g_signal_emit (im, signals[INPUT_PANEL_STATE], 0,
CLUTTER_INPUT_PANEL_STATE_TOGGLE);
}
void
clutter_input_method_reset (ClutterInputMethod *im)
{
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
CLUTTER_INPUT_METHOD_GET_CLASS (im)->reset (im);
}
void
clutter_input_method_set_cursor_location (ClutterInputMethod *im,
const ClutterRect *rect)
{
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
CLUTTER_INPUT_METHOD_GET_CLASS (im)->set_cursor_location (im, rect);
g_signal_emit (im, signals[CURSOR_LOCATION_CHANGED], 0, rect);
}
void
clutter_input_method_set_surrounding (ClutterInputMethod *im,
const gchar *text,
guint cursor,
guint anchor)
{
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
CLUTTER_INPUT_METHOD_GET_CLASS (im)->set_surrounding (im, text,
cursor, anchor);
}
void
clutter_input_method_set_content_hints (ClutterInputMethod *im,
ClutterInputContentHintFlags hints)
{
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
g_object_set (G_OBJECT (im), "content-hints", hints, NULL);
}
void
clutter_input_method_set_content_purpose (ClutterInputMethod *im,
ClutterInputContentPurpose purpose)
{
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
g_object_set (G_OBJECT (im), "content-purpose", purpose, NULL);
}
void
clutter_input_method_set_can_show_preedit (ClutterInputMethod *im,
gboolean can_show_preedit)
{
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
g_object_set (G_OBJECT (im), "can-show-preedit", can_show_preedit, NULL);
}
gboolean
clutter_input_method_filter_key_event (ClutterInputMethod *im,
const ClutterKeyEvent *key)
{
ClutterInputMethodClass *im_class = CLUTTER_INPUT_METHOD_GET_CLASS (im);
g_return_val_if_fail (CLUTTER_IS_INPUT_METHOD (im), FALSE);
g_return_val_if_fail (key != NULL, FALSE);
if (clutter_event_get_flags ((ClutterEvent *) key) & CLUTTER_EVENT_FLAG_INPUT_METHOD)
return FALSE;
if (!im_class->filter_key_event)
return FALSE;
return im_class->filter_key_event (im, (const ClutterEvent *) key);
}

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017 Red Hat * Copyright (C) 2017,2018 Red Hat
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as * modify it under the terms of the GNU General Public License as
@@ -36,54 +36,53 @@ struct _ClutterInputMethodClass
{ {
GObjectClass parent_class; GObjectClass parent_class;
void (* focus_in) (ClutterInputMethod *method, void (* focus_in) (ClutterInputMethod *im,
ClutterInputFocus *actor); ClutterInputFocus *actor);
void (* focus_out) (ClutterInputMethod *method); void (* focus_out) (ClutterInputMethod *im);
void (* reset) (ClutterInputMethod *method); void (* reset) (ClutterInputMethod *im);
void (* set_cursor_location) (ClutterInputMethod *method, void (* set_cursor_location) (ClutterInputMethod *im,
const ClutterRect *rect); const ClutterRect *rect);
void (* set_surrounding) (ClutterInputMethod *method, void (* set_surrounding) (ClutterInputMethod *im,
const gchar *text, const gchar *text,
guint cursor, guint cursor,
guint anchor); guint anchor);
void (* update_content_hints) (ClutterInputMethod *method, void (* update_content_hints) (ClutterInputMethod *im,
ClutterInputContentHintFlags hint); ClutterInputContentHintFlags hint);
void (* update_content_purpose) (ClutterInputMethod *method, void (* update_content_purpose) (ClutterInputMethod *im,
ClutterInputContentPurpose purpose); ClutterInputContentPurpose purpose);
gboolean (* filter_key_event) (ClutterInputMethod *method, gboolean (* filter_key_event) (ClutterInputMethod *im,
const ClutterEvent *key); const ClutterEvent *key);
}; };
CLUTTER_AVAILABLE_IN_MUTTER CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_method_focus_in (ClutterInputMethod *method, void clutter_input_method_focus_in (ClutterInputMethod *im,
ClutterInputFocus *focus); ClutterInputFocus *focus);
CLUTTER_AVAILABLE_IN_MUTTER CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_method_focus_out (ClutterInputMethod *method); void clutter_input_method_focus_out (ClutterInputMethod *im);
CLUTTER_AVAILABLE_IN_MUTTER CLUTTER_AVAILABLE_IN_MUTTER
ClutterInputFocus * clutter_input_method_get_focus (ClutterInputMethod *method); void clutter_input_method_commit (ClutterInputMethod *im,
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_method_commit (ClutterInputMethod *method,
const gchar *text); const gchar *text);
CLUTTER_AVAILABLE_IN_MUTTER CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_method_delete_surrounding (ClutterInputMethod *method, void clutter_input_method_delete_surrounding (ClutterInputMethod *im,
guint offset, guint offset,
guint len); guint len);
CLUTTER_AVAILABLE_IN_MUTTER CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_method_request_surrounding (ClutterInputMethod *method); void clutter_input_method_request_surrounding (ClutterInputMethod *im);
CLUTTER_AVAILABLE_IN_MUTTER CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_method_set_preedit_text (ClutterInputMethod *method, void clutter_input_method_set_preedit_text (ClutterInputMethod *im,
const gchar *preedit, const gchar *preedit,
guint cursor); guint cursor);
CLUTTER_AVAILABLE_IN_MUTTER CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_method_notify_key_event (ClutterInputMethod *method, void clutter_input_method_notify_key_event (ClutterInputMethod *im,
const ClutterEvent *event, const ClutterEvent *event,
gboolean filtered); gboolean filtered);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_method_request_toggle_input_panel (ClutterInputMethod *im);
#endif /* __CLUTTER_INPUT_METHOD_H__ */ #endif /* __CLUTTER_INPUT_METHOD_H__ */

View File

@@ -1486,10 +1486,11 @@ _clutter_stage_do_pick_on_view (ClutterStage *stage,
priv->viewport[1] * fb_scale - viewport_offset_y, priv->viewport[1] * fb_scale - viewport_offset_y,
priv->viewport[2] * fb_scale, priv->viewport[2] * fb_scale,
priv->viewport[3] * fb_scale); priv->viewport[3] * fb_scale);
cogl_set_viewport (priv->viewport[0] * fb_scale - viewport_offset_x, cogl_framebuffer_set_viewport (fb,
priv->viewport[1] * fb_scale - viewport_offset_y, priv->viewport[0] * fb_scale - viewport_offset_x,
priv->viewport[2] * fb_scale, priv->viewport[1] * fb_scale - viewport_offset_y,
priv->viewport[3] * fb_scale); priv->viewport[2] * fb_scale,
priv->viewport[3] * fb_scale);
read_x = dirty_x * fb_scale; read_x = dirty_x * fb_scale;
read_y = dirty_y * fb_scale; read_y = dirty_y * fb_scale;
@@ -3617,6 +3618,7 @@ _clutter_stage_maybe_setup_viewport (ClutterStage *stage,
ClutterStageView *view) ClutterStageView *view)
{ {
ClutterStagePrivate *priv = stage->priv; ClutterStagePrivate *priv = stage->priv;
CoglFramebuffer *fb = clutter_stage_view_get_framebuffer (view);
if (clutter_stage_view_is_dirty_viewport (view)) if (clutter_stage_view_is_dirty_viewport (view))
{ {
@@ -3637,10 +3639,11 @@ _clutter_stage_maybe_setup_viewport (ClutterStage *stage,
viewport_offset_x = view_layout.x * fb_scale; viewport_offset_x = view_layout.x * fb_scale;
viewport_offset_y = view_layout.y * fb_scale; viewport_offset_y = view_layout.y * fb_scale;
cogl_set_viewport (priv->viewport[0] * fb_scale - viewport_offset_x, cogl_framebuffer_set_viewport (fb,
priv->viewport[1] * fb_scale - viewport_offset_y, priv->viewport[0] * fb_scale - viewport_offset_x,
priv->viewport[2] * fb_scale, priv->viewport[1] * fb_scale - viewport_offset_y,
priv->viewport[3] * fb_scale); priv->viewport[2] * fb_scale,
priv->viewport[3] * fb_scale);
perspective = priv->perspective; perspective = priv->perspective;
@@ -3679,7 +3682,7 @@ _clutter_stage_maybe_setup_viewport (ClutterStage *stage,
if (clutter_stage_view_is_dirty_projection (view)) if (clutter_stage_view_is_dirty_projection (view))
{ {
cogl_set_projection_matrix (&priv->projection); cogl_framebuffer_set_projection_matrix (fb, &priv->projection);
clutter_stage_view_set_dirty_projection (view, FALSE); clutter_stage_view_set_dirty_projection (view, FALSE);
} }

View File

@@ -99,6 +99,12 @@ struct _LayoutCache
guint age; guint age;
}; };
struct _ClutterTextInputFocus
{
ClutterInputFocus parent_instance;
ClutterText *text;
};
struct _ClutterTextPrivate struct _ClutterTextPrivate
{ {
PangoFontDescription *font_desc; PangoFontDescription *font_desc;
@@ -177,6 +183,7 @@ struct _ClutterTextPrivate
/* Signal handler for when the :text-direction changes */ /* Signal handler for when the :text-direction changes */
guint direction_changed_id; guint direction_changed_id;
ClutterInputFocus *input_focus;
ClutterInputContentHintFlags input_hints; ClutterInputContentHintFlags input_hints;
ClutterInputContentPurpose input_purpose; ClutterInputContentPurpose input_purpose;
@@ -275,25 +282,18 @@ static const ClutterColor default_selected_text_color = { 0, 0, 0, 255 };
static ClutterAnimatableIface *parent_animatable_iface = NULL; static ClutterAnimatableIface *parent_animatable_iface = NULL;
static ClutterScriptableIface *parent_scriptable_iface = NULL; static ClutterScriptableIface *parent_scriptable_iface = NULL;
static void clutter_input_focus_iface_init (ClutterInputFocusInterface *iface); /* ClutterTextInputFocus */
static void clutter_scriptable_iface_init (ClutterScriptableIface *iface); #define CLUTTER_TYPE_TEXT_INPUT_FOCUS (clutter_text_input_focus_get_type ())
static void clutter_animatable_iface_init (ClutterAnimatableIface *iface);
G_DEFINE_TYPE_WITH_CODE (ClutterText, G_DECLARE_FINAL_TYPE (ClutterTextInputFocus, clutter_text_input_focus,
clutter_text, CLUTTER, TEXT_INPUT_FOCUS, ClutterInputFocus)
CLUTTER_TYPE_ACTOR, G_DEFINE_TYPE (ClutterTextInputFocus, clutter_text_input_focus,
G_ADD_PRIVATE (ClutterText) CLUTTER_TYPE_INPUT_FOCUS)
G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_INPUT_FOCUS,
clutter_input_focus_iface_init)
G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_SCRIPTABLE,
clutter_scriptable_iface_init)
G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_ANIMATABLE,
clutter_animatable_iface_init));
static void static void
clutter_text_input_focus_request_surrounding (ClutterInputFocus *focus) clutter_text_input_focus_request_surrounding (ClutterInputFocus *focus)
{ {
ClutterText *clutter_text = CLUTTER_TEXT (focus); ClutterText *clutter_text = CLUTTER_TEXT_INPUT_FOCUS (focus)->text;
ClutterTextBuffer *buffer; ClutterTextBuffer *buffer;
const gchar *text; const gchar *text;
gint anchor_pos, cursor_pos; gint anchor_pos, cursor_pos;
@@ -319,7 +319,7 @@ clutter_text_input_focus_delete_surrounding (ClutterInputFocus *focus,
guint offset, guint offset,
guint len) guint len)
{ {
ClutterText *clutter_text = CLUTTER_TEXT (focus); ClutterText *clutter_text = CLUTTER_TEXT_INPUT_FOCUS (focus)->text;
if (clutter_text_get_editable (clutter_text)) if (clutter_text_get_editable (clutter_text))
clutter_text_delete_text (clutter_text, offset, len); clutter_text_delete_text (clutter_text, offset, len);
@@ -329,13 +329,14 @@ static void
clutter_text_input_focus_commit_text (ClutterInputFocus *focus, clutter_text_input_focus_commit_text (ClutterInputFocus *focus,
const gchar *text) const gchar *text)
{ {
ClutterText *clutter_text = CLUTTER_TEXT (focus); ClutterText *clutter_text = CLUTTER_TEXT_INPUT_FOCUS (focus)->text;
if (clutter_text_get_editable (clutter_text)) if (clutter_text_get_editable (clutter_text))
{ {
clutter_text_delete_selection (clutter_text); clutter_text_delete_selection (clutter_text);
clutter_text_insert_text (clutter_text, text, clutter_text_insert_text (clutter_text, text,
clutter_text_get_cursor_position (clutter_text)); clutter_text_get_cursor_position (clutter_text));
clutter_text_set_preedit_string (clutter_text, NULL, NULL, 0);
} }
} }
@@ -344,7 +345,7 @@ clutter_text_input_focus_set_preedit_text (ClutterInputFocus *focus,
const gchar *preedit_text, const gchar *preedit_text,
guint cursor_pos) guint cursor_pos)
{ {
ClutterText *clutter_text = CLUTTER_TEXT (focus); ClutterText *clutter_text = CLUTTER_TEXT_INPUT_FOCUS (focus)->text;
if (clutter_text_get_editable (clutter_text)) if (clutter_text_get_editable (clutter_text))
{ {
@@ -360,14 +361,45 @@ clutter_text_input_focus_set_preedit_text (ClutterInputFocus *focus,
} }
static void static void
clutter_input_focus_iface_init (ClutterInputFocusInterface *iface) clutter_text_input_focus_class_init (ClutterTextInputFocusClass *klass)
{ {
iface->request_surrounding = clutter_text_input_focus_request_surrounding; ClutterInputFocusClass *focus_class = CLUTTER_INPUT_FOCUS_CLASS (klass);
iface->delete_surrounding = clutter_text_input_focus_delete_surrounding;
iface->commit_text = clutter_text_input_focus_commit_text; focus_class->request_surrounding = clutter_text_input_focus_request_surrounding;
iface->set_preedit_text = clutter_text_input_focus_set_preedit_text; focus_class->delete_surrounding = clutter_text_input_focus_delete_surrounding;
focus_class->commit_text = clutter_text_input_focus_commit_text;
focus_class->set_preedit_text = clutter_text_input_focus_set_preedit_text;
} }
static void
clutter_text_input_focus_init (ClutterTextInputFocus *focus)
{
}
static ClutterInputFocus *
clutter_text_input_focus_new (ClutterText *text)
{
ClutterTextInputFocus *focus;
focus = g_object_new (CLUTTER_TYPE_TEXT_INPUT_FOCUS, NULL);
focus->text = text;
return CLUTTER_INPUT_FOCUS (focus);
}
/* ClutterText */
static void clutter_scriptable_iface_init (ClutterScriptableIface *iface);
static void clutter_animatable_iface_init (ClutterAnimatableIface *iface);
G_DEFINE_TYPE_WITH_CODE (ClutterText,
clutter_text,
CLUTTER_TYPE_ACTOR,
G_ADD_PRIVATE (ClutterText)
G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_SCRIPTABLE,
clutter_scriptable_iface_init)
G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_ANIMATABLE,
clutter_animatable_iface_init));
static inline void static inline void
clutter_text_dirty_paint_volume (ClutterText *text) clutter_text_dirty_paint_volume (ClutterText *text)
{ {
@@ -1109,7 +1141,7 @@ update_cursor_location (ClutterText *self)
rect = priv->cursor_rect; rect = priv->cursor_rect;
clutter_actor_get_transformed_position (CLUTTER_ACTOR (self), &x, &y); clutter_actor_get_transformed_position (CLUTTER_ACTOR (self), &x, &y);
clutter_rect_offset (&rect, x, y); clutter_rect_offset (&rect, x, y);
clutter_input_focus_set_cursor_location (CLUTTER_INPUT_FOCUS (self), &rect); clutter_input_focus_set_cursor_location (priv->input_focus, &rect);
} }
static inline void static inline void
@@ -1608,6 +1640,8 @@ clutter_text_finalize (GObject *gobject)
clutter_text_set_buffer (self, NULL); clutter_text_set_buffer (self, NULL);
g_free (priv->font_name); g_free (priv->font_name);
g_clear_object (&priv->input_focus);
G_OBJECT_CLASS (clutter_text_parent_class)->finalize (gobject); G_OBJECT_CLASS (clutter_text_parent_class)->finalize (gobject);
} }
@@ -1964,7 +1998,7 @@ clutter_text_press (ClutterActor *actor,
return CLUTTER_EVENT_PROPAGATE; return CLUTTER_EVENT_PROPAGATE;
clutter_actor_grab_key_focus (actor); clutter_actor_grab_key_focus (actor);
clutter_input_focus_request_toggle_input_panel (CLUTTER_INPUT_FOCUS (self)); clutter_input_focus_request_toggle_input_panel (priv->input_focus);
/* if the actor is empty we just reset everything and not /* if the actor is empty we just reset everything and not
* set up the dragging of the selection since there's nothing * set up the dragging of the selection since there's nothing
@@ -2190,6 +2224,11 @@ clutter_text_key_press (ClutterActor *actor,
pool = clutter_binding_pool_find (g_type_name (CLUTTER_TYPE_TEXT)); pool = clutter_binding_pool_find (g_type_name (CLUTTER_TYPE_TEXT));
g_assert (pool != NULL); g_assert (pool != NULL);
if (!(event->flags & CLUTTER_EVENT_FLAG_INPUT_METHOD) &&
clutter_input_focus_is_focused (priv->input_focus) &&
clutter_input_focus_filter_key_event (priv->input_focus, event))
return CLUTTER_EVENT_STOP;
/* we allow passing synthetic events that only contain /* we allow passing synthetic events that only contain
* the Unicode value and not the key symbol, unless they * the Unicode value and not the key symbol, unless they
* contain the input method flag. * contain the input method flag.
@@ -2213,9 +2252,6 @@ clutter_text_key_press (ClutterActor *actor,
{ {
gunichar key_unichar; gunichar key_unichar;
if (clutter_input_focus_filter_key_event (CLUTTER_INPUT_FOCUS (actor), event))
return CLUTTER_EVENT_STOP;
/* Skip keys when control is pressed */ /* Skip keys when control is pressed */
key_unichar = clutter_event_get_key_unicode ((ClutterEvent *) event); key_unichar = clutter_event_get_key_unicode ((ClutterEvent *) event);
@@ -2256,7 +2292,11 @@ static gboolean
clutter_text_key_release (ClutterActor *actor, clutter_text_key_release (ClutterActor *actor,
ClutterKeyEvent *event) ClutterKeyEvent *event)
{ {
if (clutter_input_focus_filter_key_event (CLUTTER_INPUT_FOCUS (actor), event)) ClutterText *self = CLUTTER_TEXT (actor);
ClutterTextPrivate *priv = self->priv;
if (clutter_input_focus_is_focused (priv->input_focus) &&
clutter_input_focus_filter_key_event (priv->input_focus, event))
return CLUTTER_EVENT_STOP; return CLUTTER_EVENT_STOP;
return CLUTTER_EVENT_PROPAGATE; return CLUTTER_EVENT_PROPAGATE;
@@ -2784,9 +2824,14 @@ static void
clutter_text_key_focus_in (ClutterActor *actor) clutter_text_key_focus_in (ClutterActor *actor)
{ {
ClutterTextPrivate *priv = CLUTTER_TEXT (actor)->priv; ClutterTextPrivate *priv = CLUTTER_TEXT (actor)->priv;
ClutterBackend *backend = clutter_get_default_backend ();
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
if (priv->editable) if (method && priv->editable)
clutter_input_focus_focus_in (CLUTTER_INPUT_FOCUS (actor)); {
clutter_input_method_focus_in (method, priv->input_focus);
update_cursor_location (CLUTTER_TEXT (actor));
}
priv->has_focus = TRUE; priv->has_focus = TRUE;
@@ -2797,11 +2842,16 @@ static void
clutter_text_key_focus_out (ClutterActor *actor) clutter_text_key_focus_out (ClutterActor *actor)
{ {
ClutterTextPrivate *priv = CLUTTER_TEXT (actor)->priv; ClutterTextPrivate *priv = CLUTTER_TEXT (actor)->priv;
ClutterBackend *backend = clutter_get_default_backend ();
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
priv->has_focus = FALSE; priv->has_focus = FALSE;
if (priv->editable) if (priv->editable && clutter_input_focus_is_focused (priv->input_focus))
clutter_input_focus_focus_out (CLUTTER_INPUT_FOCUS (actor)); {
clutter_text_set_preedit_string (CLUTTER_TEXT (actor), NULL, NULL, 0);
clutter_input_method_focus_out (method);
}
clutter_text_queue_redraw (actor); clutter_text_queue_redraw (actor);
} }
@@ -4313,6 +4363,8 @@ clutter_text_init (ClutterText *self)
g_signal_connect (self, "notify::text-direction", g_signal_connect (self, "notify::text-direction",
G_CALLBACK (clutter_text_direction_changed_cb), G_CALLBACK (clutter_text_direction_changed_cb),
NULL); NULL);
priv->input_focus = clutter_text_input_focus_new (self);
} }
/** /**
@@ -4459,6 +4511,27 @@ buffer_deleted_text (ClutterTextBuffer *buffer,
} }
} }
static void
clutter_text_queue_redraw_or_relayout (ClutterText *self)
{
ClutterActor *actor = CLUTTER_ACTOR (self);
gfloat preferred_width;
gfloat preferred_height;
clutter_text_dirty_cache (self);
/* we're using our private implementations here to avoid the caching done by ClutterActor */
clutter_text_get_preferred_width (actor, -1, NULL, &preferred_width);
clutter_text_get_preferred_height (actor, preferred_width, NULL, &preferred_height);
if (clutter_actor_has_allocation (actor) &&
(fabsf (preferred_width - clutter_actor_get_width (actor)) > 0.001 ||
fabsf (preferred_height - clutter_actor_get_height (actor)) > 0.001))
clutter_actor_queue_relayout (actor);
else
clutter_text_queue_redraw (actor);
}
static void static void
buffer_notify_text (ClutterTextBuffer *buffer, buffer_notify_text (ClutterTextBuffer *buffer,
GParamSpec *spec, GParamSpec *spec,
@@ -4466,9 +4539,7 @@ buffer_notify_text (ClutterTextBuffer *buffer,
{ {
g_object_freeze_notify (G_OBJECT (self)); g_object_freeze_notify (G_OBJECT (self));
clutter_text_dirty_cache (self); clutter_text_queue_redraw_or_relayout (self);
clutter_actor_queue_relayout (CLUTTER_ACTOR (self));
g_signal_emit (self, text_signals[TEXT_CHANGED], 0); g_signal_emit (self, text_signals[TEXT_CHANGED], 0);
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_TEXT]); g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_TEXT]);
@@ -4603,6 +4674,8 @@ void
clutter_text_set_editable (ClutterText *self, clutter_text_set_editable (ClutterText *self,
gboolean editable) gboolean editable)
{ {
ClutterBackend *backend = clutter_get_default_backend ();
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
ClutterTextPrivate *priv; ClutterTextPrivate *priv;
g_return_if_fail (CLUTTER_IS_TEXT (self)); g_return_if_fail (CLUTTER_IS_TEXT (self));
@@ -4613,10 +4686,13 @@ clutter_text_set_editable (ClutterText *self,
{ {
priv->editable = editable; priv->editable = editable;
if (!priv->editable) if (method)
clutter_input_focus_focus_out (CLUTTER_INPUT_FOCUS (self)); {
else if (priv->has_focus) if (!priv->editable && clutter_input_focus_is_focused (priv->input_focus))
clutter_input_focus_focus_in (CLUTTER_INPUT_FOCUS (self)); clutter_input_method_focus_out (method);
else if (priv->has_focus)
clutter_input_method_focus_in (method, priv->input_focus);
}
clutter_text_queue_redraw (CLUTTER_ACTOR (self)); clutter_text_queue_redraw (CLUTTER_ACTOR (self));
@@ -4815,8 +4891,7 @@ clutter_text_set_cursor_visible (ClutterText *self,
{ {
priv->cursor_visible = cursor_visible; priv->cursor_visible = cursor_visible;
clutter_text_dirty_cache (self); clutter_text_queue_redraw_or_relayout (self);
clutter_actor_queue_relayout (CLUTTER_ACTOR (self));
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_CURSOR_VISIBLE]); g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_CURSOR_VISIBLE]);
} }
@@ -5717,9 +5792,7 @@ clutter_text_set_line_alignment (ClutterText *self,
{ {
priv->alignment = alignment; priv->alignment = alignment;
clutter_text_dirty_cache (self); clutter_text_queue_redraw_or_relayout (self);
clutter_actor_queue_relayout (CLUTTER_ACTOR (self));
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_LINE_ALIGNMENT]); g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_LINE_ALIGNMENT]);
} }
@@ -5774,9 +5847,7 @@ clutter_text_set_use_markup (ClutterText *self,
if (setting) if (setting)
clutter_text_set_markup_internal (self, text); clutter_text_set_markup_internal (self, text);
clutter_text_dirty_cache (self); clutter_text_queue_redraw_or_relayout (self);
clutter_actor_queue_relayout (CLUTTER_ACTOR (self));
} }
/** /**
@@ -5823,9 +5894,7 @@ clutter_text_set_justify (ClutterText *self,
{ {
priv->justify = justify; priv->justify = justify;
clutter_text_dirty_cache (self); clutter_text_queue_redraw_or_relayout (self);
clutter_actor_queue_relayout (CLUTTER_ACTOR (self));
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_JUSTIFY]); g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_JUSTIFY]);
} }
@@ -6392,8 +6461,7 @@ clutter_text_set_preedit_string (ClutterText *self,
priv->preedit_set = TRUE; priv->preedit_set = TRUE;
} }
clutter_text_dirty_cache (self); clutter_text_queue_redraw_or_relayout (self);
clutter_actor_queue_relayout (CLUTTER_ACTOR (self));
} }
@@ -6455,7 +6523,7 @@ clutter_text_set_input_hints (ClutterText *self,
g_return_if_fail (CLUTTER_IS_TEXT (self)); g_return_if_fail (CLUTTER_IS_TEXT (self));
self->priv->input_hints = hints; self->priv->input_hints = hints;
clutter_input_focus_set_content_hints (CLUTTER_INPUT_FOCUS (self), hints); clutter_input_focus_set_content_hints (self->priv->input_focus, hints);
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_INPUT_HINTS]); g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_INPUT_HINTS]);
} }
@@ -6474,7 +6542,7 @@ clutter_text_set_input_purpose (ClutterText *self,
g_return_if_fail (CLUTTER_IS_TEXT (self)); g_return_if_fail (CLUTTER_IS_TEXT (self));
self->priv->input_purpose = purpose; self->priv->input_purpose = purpose;
clutter_input_focus_set_content_purpose (CLUTTER_INPUT_FOCUS (self), purpose); clutter_input_focus_set_content_purpose (self->priv->input_focus, purpose);
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_INPUT_PURPOSE]); g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_INPUT_PURPOSE]);
} }

View File

@@ -128,6 +128,61 @@ clutter_virtual_input_device_notify_discrete_scroll (ClutterVirtualInputDevice *
direction, scroll_source); direction, scroll_source);
} }
void
clutter_virtual_input_device_notify_scroll_continuous (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
double dx,
double dy,
ClutterScrollSource scroll_source,
ClutterScrollFinishFlags finish_flags)
{
ClutterVirtualInputDeviceClass *klass =
CLUTTER_VIRTUAL_INPUT_DEVICE_GET_CLASS (virtual_device);
klass->notify_scroll_continuous (virtual_device, time_us,
dx, dy, scroll_source, finish_flags);
}
void
clutter_virtual_input_device_notify_touch_down (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
int slot,
double x,
double y)
{
ClutterVirtualInputDeviceClass *klass =
CLUTTER_VIRTUAL_INPUT_DEVICE_GET_CLASS (virtual_device);
klass->notify_touch_down (virtual_device, time_us,
slot, x, y);
}
void
clutter_virtual_input_device_notify_touch_motion (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
int slot,
double x,
double y)
{
ClutterVirtualInputDeviceClass *klass =
CLUTTER_VIRTUAL_INPUT_DEVICE_GET_CLASS (virtual_device);
klass->notify_touch_motion (virtual_device, time_us,
slot, x, y);
}
void
clutter_virtual_input_device_notify_touch_up (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
int slot)
{
ClutterVirtualInputDeviceClass *klass =
CLUTTER_VIRTUAL_INPUT_DEVICE_GET_CLASS (virtual_device);
klass->notify_touch_up (virtual_device, time_us,
slot);
}
/** /**
* clutter_virtual_input_device_get_manager: * clutter_virtual_input_device_get_manager:
* @virtual_device: a virtual device * @virtual_device: a virtual device

View File

@@ -81,6 +81,29 @@ struct _ClutterVirtualInputDeviceClass
uint64_t time_us, uint64_t time_us,
ClutterScrollDirection direction, ClutterScrollDirection direction,
ClutterScrollSource scroll_source); ClutterScrollSource scroll_source);
void (*notify_scroll_continuous) (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
double dx,
double dy,
ClutterScrollSource scroll_source,
ClutterScrollFinishFlags finish_flags);
void (*notify_touch_down) (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
int slot,
double x,
double y);
void (*notify_touch_motion) (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
int slot,
double x,
double y);
void (*notify_touch_up) (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
int slot);
}; };
CLUTTER_AVAILABLE_IN_ALL CLUTTER_AVAILABLE_IN_ALL
@@ -119,6 +142,32 @@ void clutter_virtual_input_device_notify_discrete_scroll (ClutterVirtualInputDev
ClutterScrollDirection direction, ClutterScrollDirection direction,
ClutterScrollSource scroll_source); ClutterScrollSource scroll_source);
CLUTTER_AVAILABLE_IN_ALL
void clutter_virtual_input_device_notify_scroll_continuous (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
double dx,
double dy,
ClutterScrollSource scroll_source,
ClutterScrollFinishFlags finish_flags);
CLUTTER_AVAILABLE_IN_ALL
void clutter_virtual_input_device_notify_touch_down (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
int slot,
double x,
double y);
CLUTTER_AVAILABLE_IN_ALL
void clutter_virtual_input_device_notify_touch_motion (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
int slot,
double x,
double y);
CLUTTER_AVAILABLE_IN_ALL
void clutter_virtual_input_device_notify_touch_up (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
int slot);
CLUTTER_AVAILABLE_IN_ALL CLUTTER_AVAILABLE_IN_ALL
ClutterDeviceManager * clutter_virtual_input_device_get_manager (ClutterVirtualInputDevice *virtual_device); ClutterDeviceManager * clutter_virtual_input_device_get_manager (ClutterVirtualInputDevice *virtual_device);

View File

@@ -397,54 +397,6 @@ notify_relative_tool_motion (ClutterInputDevice *input_device,
queue_event (event); queue_event (event);
} }
static void
notify_touch_event (ClutterInputDevice *input_device,
ClutterEventType evtype,
guint64 time_us,
gint32 slot,
gdouble x,
gdouble y)
{
ClutterInputDeviceEvdev *device_evdev;
ClutterSeatEvdev *seat;
ClutterStage *stage;
ClutterEvent *event = NULL;
/* We can drop the event on the floor if no stage has been
* associated with the device yet. */
stage = _clutter_input_device_get_stage (input_device);
if (stage == NULL)
return;
device_evdev = CLUTTER_INPUT_DEVICE_EVDEV (input_device);
seat = _clutter_input_device_evdev_get_seat (device_evdev);
event = clutter_event_new (evtype);
_clutter_evdev_event_set_time_usec (event, time_us);
event->touch.time = us2ms (time_us);
event->touch.stage = CLUTTER_STAGE (stage);
event->touch.device = seat->core_pointer;
event->touch.x = x;
event->touch.y = y;
clutter_input_device_evdev_translate_coordinates (input_device, stage,
&event->touch.x,
&event->touch.y);
/* "NULL" sequences are special cased in clutter */
event->touch.sequence = GINT_TO_POINTER (slot + 1);
_clutter_xkb_translate_state (event, seat->xkb, seat->button_state);
if (evtype == CLUTTER_TOUCH_BEGIN ||
evtype == CLUTTER_TOUCH_UPDATE)
event->touch.modifier_state |= CLUTTER_BUTTON1_MASK;
clutter_event_set_device (event, seat->core_pointer);
clutter_event_set_source_device (event, input_device);
queue_event (event);
}
static void static void
notify_pinch_gesture_event (ClutterInputDevice *input_device, notify_pinch_gesture_event (ClutterInputDevice *input_device,
ClutterTouchpadGesturePhase phase, ClutterTouchpadGesturePhase phase,
@@ -1252,6 +1204,7 @@ process_device_event (ClutterDeviceManagerEvdev *manager_evdev,
gboolean handled = TRUE; gboolean handled = TRUE;
struct libinput_device *libinput_device = libinput_event_get_device(event); struct libinput_device *libinput_device = libinput_event_get_device(event);
ClutterInputDevice *device; ClutterInputDevice *device;
ClutterInputDeviceEvdev *device_evdev;
switch (libinput_event_get_type (event)) switch (libinput_event_get_type (event))
{ {
@@ -1408,7 +1361,7 @@ process_device_event (ClutterDeviceManagerEvdev *manager_evdev,
case LIBINPUT_EVENT_TOUCH_DOWN: case LIBINPUT_EVENT_TOUCH_DOWN:
{ {
gint32 slot; int device_slot;
guint64 time_us; guint64 time_us;
double x, y; double x, y;
gfloat stage_width, stage_height; gfloat stage_width, stage_height;
@@ -1419,7 +1372,8 @@ process_device_event (ClutterDeviceManagerEvdev *manager_evdev,
libinput_event_get_touch_event (event); libinput_event_get_touch_event (event);
device = libinput_device_get_user_data (libinput_device); device = libinput_device_get_user_data (libinput_device);
seat = _clutter_input_device_evdev_get_seat (CLUTTER_INPUT_DEVICE_EVDEV (device)); device_evdev = CLUTTER_INPUT_DEVICE_EVDEV (device);
seat = _clutter_input_device_evdev_get_seat (device_evdev);
stage = _clutter_input_device_get_stage (device); stage = _clutter_input_device_get_stage (device);
if (stage == NULL) if (stage == NULL)
@@ -1428,25 +1382,31 @@ process_device_event (ClutterDeviceManagerEvdev *manager_evdev,
stage_width = clutter_actor_get_width (CLUTTER_ACTOR (stage)); stage_width = clutter_actor_get_width (CLUTTER_ACTOR (stage));
stage_height = clutter_actor_get_height (CLUTTER_ACTOR (stage)); stage_height = clutter_actor_get_height (CLUTTER_ACTOR (stage));
slot = libinput_event_touch_get_slot (touch_event); device_slot = libinput_event_touch_get_slot (touch_event);
time_us = libinput_event_touch_get_time_usec (touch_event); time_us = libinput_event_touch_get_time_usec (touch_event);
x = libinput_event_touch_get_x_transformed (touch_event, x = libinput_event_touch_get_x_transformed (touch_event,
stage_width); stage_width);
y = libinput_event_touch_get_y_transformed (touch_event, y = libinput_event_touch_get_y_transformed (touch_event,
stage_height); stage_height);
touch_state = clutter_seat_evdev_add_touch (seat, slot); touch_state =
clutter_input_device_evdev_acquire_touch_state (device_evdev,
device_slot);
touch_state->coords.x = x; touch_state->coords.x = x;
touch_state->coords.y = y; touch_state->coords.y = y;
notify_touch_event (device, CLUTTER_TOUCH_BEGIN, time_us, slot, clutter_seat_evdev_notify_touch_event (seat, device,
touch_state->coords.x, touch_state->coords.y); CLUTTER_TOUCH_BEGIN,
time_us,
touch_state->seat_slot,
touch_state->coords.x,
touch_state->coords.y);
break; break;
} }
case LIBINPUT_EVENT_TOUCH_UP: case LIBINPUT_EVENT_TOUCH_UP:
{ {
gint32 slot; int device_slot;
guint64 time_us; guint64 time_us;
ClutterSeatEvdev *seat; ClutterSeatEvdev *seat;
ClutterTouchState *touch_state; ClutterTouchState *touch_state;
@@ -1454,22 +1414,30 @@ process_device_event (ClutterDeviceManagerEvdev *manager_evdev,
libinput_event_get_touch_event (event); libinput_event_get_touch_event (event);
device = libinput_device_get_user_data (libinput_device); device = libinput_device_get_user_data (libinput_device);
seat = _clutter_input_device_evdev_get_seat (CLUTTER_INPUT_DEVICE_EVDEV (device)); device_evdev = CLUTTER_INPUT_DEVICE_EVDEV (device);
seat = _clutter_input_device_evdev_get_seat (device_evdev);
slot = libinput_event_touch_get_slot (touch_event); device_slot = libinput_event_touch_get_slot (touch_event);
time_us = libinput_event_touch_get_time_usec (touch_event); time_us = libinput_event_touch_get_time_usec (touch_event);
touch_state = clutter_seat_evdev_get_touch (seat, slot); touch_state =
clutter_input_device_evdev_lookup_touch_state (device_evdev,
notify_touch_event (device, CLUTTER_TOUCH_END, time_us, slot, device_slot);
touch_state->coords.x, touch_state->coords.y); if (!touch_state)
clutter_seat_evdev_remove_touch (seat, slot); break;
clutter_seat_evdev_notify_touch_event (seat, device,
CLUTTER_TOUCH_END, time_us,
touch_state->seat_slot,
touch_state->coords.x,
touch_state->coords.y);
clutter_input_device_evdev_release_touch_state (device_evdev,
touch_state);
break; break;
} }
case LIBINPUT_EVENT_TOUCH_MOTION: case LIBINPUT_EVENT_TOUCH_MOTION:
{ {
gint32 slot; int device_slot;
guint64 time_us; guint64 time_us;
double x, y; double x, y;
gfloat stage_width, stage_height; gfloat stage_width, stage_height;
@@ -1480,7 +1448,8 @@ process_device_event (ClutterDeviceManagerEvdev *manager_evdev,
libinput_event_get_touch_event (event); libinput_event_get_touch_event (event);
device = libinput_device_get_user_data (libinput_device); device = libinput_device_get_user_data (libinput_device);
seat = _clutter_input_device_evdev_get_seat (CLUTTER_INPUT_DEVICE_EVDEV (device)); device_evdev = CLUTTER_INPUT_DEVICE_EVDEV (device);
seat = _clutter_input_device_evdev_get_seat (device_evdev);
stage = _clutter_input_device_get_stage (device); stage = _clutter_input_device_get_stage (device);
if (stage == NULL) if (stage == NULL)
@@ -1489,42 +1458,41 @@ process_device_event (ClutterDeviceManagerEvdev *manager_evdev,
stage_width = clutter_actor_get_width (CLUTTER_ACTOR (stage)); stage_width = clutter_actor_get_width (CLUTTER_ACTOR (stage));
stage_height = clutter_actor_get_height (CLUTTER_ACTOR (stage)); stage_height = clutter_actor_get_height (CLUTTER_ACTOR (stage));
slot = libinput_event_touch_get_slot (touch_event); device_slot = libinput_event_touch_get_slot (touch_event);
time_us = libinput_event_touch_get_time_usec (touch_event); time_us = libinput_event_touch_get_time_usec (touch_event);
x = libinput_event_touch_get_x_transformed (touch_event, x = libinput_event_touch_get_x_transformed (touch_event,
stage_width); stage_width);
y = libinput_event_touch_get_y_transformed (touch_event, y = libinput_event_touch_get_y_transformed (touch_event,
stage_height); stage_height);
touch_state = clutter_seat_evdev_get_touch (seat, slot); touch_state =
clutter_input_device_evdev_lookup_touch_state (device_evdev,
device_slot);
if (!touch_state)
break;
touch_state->coords.x = x; touch_state->coords.x = x;
touch_state->coords.y = y; touch_state->coords.y = y;
notify_touch_event (device, CLUTTER_TOUCH_UPDATE, time_us, slot, clutter_seat_evdev_notify_touch_event (seat, device,
touch_state->coords.x, touch_state->coords.y); CLUTTER_TOUCH_UPDATE,
time_us,
touch_state->seat_slot,
touch_state->coords.x,
touch_state->coords.y);
break; break;
} }
case LIBINPUT_EVENT_TOUCH_CANCEL: case LIBINPUT_EVENT_TOUCH_CANCEL:
{ {
ClutterTouchState *touch_state;
GHashTableIter iter;
guint64 time_us; guint64 time_us;
struct libinput_event_touch *touch_event = struct libinput_event_touch *touch_event =
libinput_event_get_touch_event (event); libinput_event_get_touch_event (event);
ClutterSeatEvdev *seat;
device = libinput_device_get_user_data (libinput_device); device = libinput_device_get_user_data (libinput_device);
device_evdev = CLUTTER_INPUT_DEVICE_EVDEV (device);
time_us = libinput_event_touch_get_time_usec (touch_event); time_us = libinput_event_touch_get_time_usec (touch_event);
seat = _clutter_input_device_evdev_get_seat (CLUTTER_INPUT_DEVICE_EVDEV (device));
g_hash_table_iter_init (&iter, seat->touches);
while (g_hash_table_iter_next (&iter, NULL, (gpointer*) &touch_state)) clutter_input_device_evdev_release_touch_slots (device_evdev, time_us);
{
notify_touch_event (device, CLUTTER_TOUCH_CANCEL,
time_us, touch_state->id,
touch_state->coords.x, touch_state->coords.y);
g_hash_table_iter_remove (&iter);
}
break; break;
} }
@@ -1898,6 +1866,14 @@ clutter_device_manager_evdev_create_virtual_device (ClutterDeviceManager *manag
NULL); NULL);
} }
static ClutterVirtualDeviceType
clutter_device_manager_evdev_get_supported_virtual_device_types (ClutterDeviceManager *device_manager)
{
return (CLUTTER_VIRTUAL_DEVICE_TYPE_KEYBOARD |
CLUTTER_VIRTUAL_DEVICE_TYPE_POINTER |
CLUTTER_VIRTUAL_DEVICE_TYPE_TOUCHSCREEN);
}
static void static void
clutter_device_manager_evdev_compress_motion (ClutterDeviceManager *device_manger, clutter_device_manager_evdev_compress_motion (ClutterDeviceManager *device_manger,
ClutterEvent *event, ClutterEvent *event,
@@ -2076,6 +2052,7 @@ clutter_device_manager_evdev_class_init (ClutterDeviceManagerEvdevClass *klass)
manager_class->get_core_device = clutter_device_manager_evdev_get_core_device; manager_class->get_core_device = clutter_device_manager_evdev_get_core_device;
manager_class->get_device = clutter_device_manager_evdev_get_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->create_virtual_device = clutter_device_manager_evdev_create_virtual_device;
manager_class->get_supported_virtual_device_types = clutter_device_manager_evdev_get_supported_virtual_device_types;
manager_class->compress_motion = clutter_device_manager_evdev_compress_motion; manager_class->compress_motion = clutter_device_manager_evdev_compress_motion;
manager_class->apply_kbd_a11y_settings = clutter_device_manager_evdev_apply_kbd_a11y_settings; manager_class->apply_kbd_a11y_settings = clutter_device_manager_evdev_apply_kbd_a11y_settings;
} }

View File

@@ -81,6 +81,9 @@ clutter_input_device_evdev_finalize (GObject *object)
if (device_evdev->libinput_device) if (device_evdev->libinput_device)
libinput_device_unref (device_evdev->libinput_device); libinput_device_unref (device_evdev->libinput_device);
clutter_input_device_evdev_release_touch_slots (device_evdev,
g_get_monotonic_time ());
_clutter_device_manager_evdev_release_device_id (manager_evdev, device); _clutter_device_manager_evdev_release_device_id (manager_evdev, device);
clear_slow_keys (device_evdev); clear_slow_keys (device_evdev);
@@ -1215,6 +1218,44 @@ clutter_input_device_evdev_apply_kbd_a11y_settings (ClutterInputDeviceEvdev *dev
device->a11y_flags = settings->controls; device->a11y_flags = settings->controls;
} }
static void
release_device_touch_slot (gpointer value)
{
ClutterTouchState *touch_state = value;
clutter_seat_evdev_release_touch_state (touch_state->seat, touch_state);
}
ClutterTouchState *
clutter_input_device_evdev_acquire_touch_state (ClutterInputDeviceEvdev *device,
int device_slot)
{
ClutterTouchState *touch_state;
touch_state = clutter_seat_evdev_acquire_touch_state (device->seat,
device_slot);
g_hash_table_insert (device->touches,
GINT_TO_POINTER (device_slot),
touch_state);
return touch_state;
}
ClutterTouchState *
clutter_input_device_evdev_lookup_touch_state (ClutterInputDeviceEvdev *device,
int device_slot)
{
return g_hash_table_lookup (device->touches, GINT_TO_POINTER (device_slot));
}
void
clutter_input_device_evdev_release_touch_state (ClutterInputDeviceEvdev *device,
ClutterTouchState *touch_state)
{
g_hash_table_remove (device->touches,
GINT_TO_POINTER (touch_state->device_slot));
}
static void static void
clutter_input_device_evdev_class_init (ClutterInputDeviceEvdevClass *klass) clutter_input_device_evdev_class_init (ClutterInputDeviceEvdevClass *klass)
{ {
@@ -1253,6 +1294,9 @@ clutter_input_device_evdev_init (ClutterInputDeviceEvdev *self)
cairo_matrix_init_identity (&self->device_matrix); cairo_matrix_init_identity (&self->device_matrix);
self->device_aspect_ratio = 0; self->device_aspect_ratio = 0;
self->output_ratio = 0; self->output_ratio = 0;
self->touches = g_hash_table_new_full (NULL, NULL,
NULL, release_device_touch_slot);
} }
/* /*
@@ -1349,6 +1393,9 @@ _clutter_input_device_evdev_new_virtual (ClutterDeviceManager *manager,
case CLUTTER_POINTER_DEVICE: case CLUTTER_POINTER_DEVICE:
name = "Virtual pointer device for seat"; name = "Virtual pointer device for seat";
break; break;
case CLUTTER_TOUCHSCREEN_DEVICE:
name = "Virtual touchscreen device for seat";
break;
default: default:
name = "Virtual device for seat"; name = "Virtual device for seat";
break; break;
@@ -1486,3 +1533,24 @@ clutter_input_device_evdev_translate_coordinates (ClutterInputDevice *device,
*x = CLAMP (x_d, MIN (min_x, max_x), MAX (min_x, max_x)) * stage_width; *x = CLAMP (x_d, MIN (min_x, max_x), MAX (min_x, max_x)) * stage_width;
*y = CLAMP (y_d, MIN (min_y, max_y), MAX (min_y, max_y)) * stage_height; *y = CLAMP (y_d, MIN (min_y, max_y), MAX (min_y, max_y)) * stage_height;
} }
void
clutter_input_device_evdev_release_touch_slots (ClutterInputDeviceEvdev *device_evdev,
uint64_t time_us)
{
GHashTableIter iter;
ClutterTouchState *touch_state;
g_hash_table_iter_init (&iter, device_evdev->touches);
while (g_hash_table_iter_next (&iter, NULL, (gpointer *) &touch_state))
{
clutter_seat_evdev_notify_touch_event (touch_state->seat,
CLUTTER_INPUT_DEVICE (device_evdev),
CLUTTER_TOUCH_CANCEL,
time_us,
touch_state->seat_slot,
touch_state->coords.x,
touch_state->coords.y);
g_hash_table_iter_remove (&iter);
}
}

View File

@@ -71,6 +71,8 @@ struct _ClutterInputDeviceEvdev
gdouble device_aspect_ratio; /* w:h */ gdouble device_aspect_ratio; /* w:h */
gdouble output_ratio; /* w:h */ gdouble output_ratio; /* w:h */
GHashTable *touches;
/* Keyboard a11y */ /* Keyboard a11y */
ClutterKeyboardA11yFlags a11y_flags; ClutterKeyboardA11yFlags a11y_flags;
GList *slow_keys_list; GList *slow_keys_list;
@@ -137,6 +139,19 @@ void clutter_input_device_evdev_translate_coordinates (Clut
void clutter_input_device_evdev_apply_kbd_a11y_settings (ClutterInputDeviceEvdev *device, void clutter_input_device_evdev_apply_kbd_a11y_settings (ClutterInputDeviceEvdev *device,
ClutterKbdA11ySettings *settings); ClutterKbdA11ySettings *settings);
ClutterTouchState * clutter_input_device_evdev_acquire_touch_state (ClutterInputDeviceEvdev *device,
int device_slot);
ClutterTouchState * clutter_input_device_evdev_lookup_touch_state (ClutterInputDeviceEvdev *device,
int device_slot);
void clutter_input_device_evdev_release_touch_state (ClutterInputDeviceEvdev *device,
ClutterTouchState *touch_state);
void clutter_input_device_evdev_release_touch_slots (ClutterInputDeviceEvdev *device_evdev,
uint64_t time_us);
G_END_DECLS G_END_DECLS
#endif /* __CLUTTER_INPUT_DEVICE_EVDEV_H__ */ #endif /* __CLUTTER_INPUT_DEVICE_EVDEV_H__ */

View File

@@ -45,6 +45,10 @@
#define DISCRETE_SCROLL_STEP 10.0 #define DISCRETE_SCROLL_STEP 10.0
#ifndef BTN_STYLUS3
#define BTN_STYLUS3 0x149 /* Linux 4.15 */
#endif
void void
clutter_seat_evdev_set_libinput_seat (ClutterSeatEvdev *seat, clutter_seat_evdev_set_libinput_seat (ClutterSeatEvdev *seat,
struct libinput_seat *libinput_seat) struct libinput_seat *libinput_seat)
@@ -88,32 +92,57 @@ clutter_touch_state_free (ClutterTouchState *touch_state)
g_slice_free (ClutterTouchState, touch_state); g_slice_free (ClutterTouchState, touch_state);
} }
ClutterTouchState * static void
clutter_seat_evdev_add_touch (ClutterSeatEvdev *seat, ensure_seat_slot_allocated (ClutterSeatEvdev *seat,
guint32 id) int seat_slot)
{ {
ClutterTouchState *touch; if (seat_slot >= seat->n_alloc_touch_states)
{
const int size_increase = 5;
int i;
touch = g_slice_new0 (ClutterTouchState); seat->n_alloc_touch_states += size_increase;
touch->id = id; seat->touch_states = g_realloc_n (seat->touch_states,
seat->n_alloc_touch_states,
sizeof (ClutterTouchState *));
for (i = 0; i < size_increase; i++)
seat->touch_states[seat->n_alloc_touch_states - (i + 1)] = NULL;
}
}
g_hash_table_insert (seat->touches, GUINT_TO_POINTER (id), touch); ClutterTouchState *
clutter_seat_evdev_acquire_touch_state (ClutterSeatEvdev *seat,
int device_slot)
{
ClutterTouchState *touch_state;
int seat_slot;
return touch; for (seat_slot = 0; seat_slot < seat->n_alloc_touch_states; seat_slot++)
{
if (!seat->touch_states[seat_slot])
break;
}
ensure_seat_slot_allocated (seat, seat_slot);
touch_state = g_slice_new0 (ClutterTouchState);
*touch_state = (ClutterTouchState) {
.seat = seat,
.seat_slot = seat_slot,
.device_slot = device_slot,
};
seat->touch_states[seat_slot] = touch_state;
return touch_state;
} }
void void
clutter_seat_evdev_remove_touch (ClutterSeatEvdev *seat, clutter_seat_evdev_release_touch_state (ClutterSeatEvdev *seat,
guint32 id) ClutterTouchState *touch_state)
{ {
g_hash_table_remove (seat->touches, GUINT_TO_POINTER (id)); g_clear_pointer (&seat->touch_states[touch_state->seat_slot],
} (GDestroyNotify) clutter_touch_state_free);
ClutterTouchState *
clutter_seat_evdev_get_touch (ClutterSeatEvdev *seat,
guint32 id)
{
return g_hash_table_lookup (seat->touches, GUINT_TO_POINTER (id));
} }
ClutterSeatEvdev * ClutterSeatEvdev *
@@ -150,9 +179,6 @@ clutter_seat_evdev_new (ClutterDeviceManagerEvdev *manager_evdev)
_clutter_device_manager_add_device (manager, device); _clutter_device_manager_add_device (manager, device);
seat->core_keyboard = device; seat->core_keyboard = device;
seat->touches = g_hash_table_new_full (NULL, NULL, NULL,
(GDestroyNotify) clutter_touch_state_free);
seat->repeat = TRUE; seat->repeat = TRUE;
seat->repeat_delay = 250; /* ms */ seat->repeat_delay = 250; /* ms */
seat->repeat_interval = 33; /* ms */ seat->repeat_interval = 33; /* ms */
@@ -492,6 +518,10 @@ clutter_seat_evdev_notify_button (ClutterSeatEvdev *seat,
button_nr = CLUTTER_BUTTON_MIDDLE; button_nr = CLUTTER_BUTTON_MIDDLE;
break; break;
case 0x149: /* BTN_STYLUS3 */
button_nr = 8;
break;
default: default:
/* For compatibility reasons, all additional buttons go after the old 4-7 scroll ones */ /* For compatibility reasons, all additional buttons go after the old 4-7 scroll ones */
if (clutter_input_device_get_device_type (input_device) == CLUTTER_TABLET_DEVICE) if (clutter_input_device_get_device_type (input_device) == CLUTTER_TABLET_DEVICE)
@@ -760,6 +790,50 @@ clutter_seat_evdev_notify_discrete_scroll (ClutterSeatEvdev *seat,
} }
void
clutter_seat_evdev_notify_touch_event (ClutterSeatEvdev *seat,
ClutterInputDevice *input_device,
ClutterEventType evtype,
uint64_t time_us,
int slot,
double x,
double y)
{
ClutterStage *stage;
ClutterEvent *event = NULL;
/* We can drop the event on the floor if no stage has been
* associated with the device yet. */
stage = _clutter_input_device_get_stage (input_device);
if (stage == NULL)
return;
event = clutter_event_new (evtype);
_clutter_evdev_event_set_time_usec (event, time_us);
event->touch.time = us2ms (time_us);
event->touch.stage = CLUTTER_STAGE (stage);
event->touch.device = seat->core_pointer;
event->touch.x = x;
event->touch.y = y;
clutter_input_device_evdev_translate_coordinates (input_device, stage,
&event->touch.x,
&event->touch.y);
/* "NULL" sequences are special cased in clutter */
event->touch.sequence = GINT_TO_POINTER (MAX (1, slot + 1));
_clutter_xkb_translate_state (event, seat->xkb, seat->button_state);
if (evtype == CLUTTER_TOUCH_BEGIN ||
evtype == CLUTTER_TOUCH_UPDATE)
event->touch.modifier_state |= CLUTTER_BUTTON1_MASK;
clutter_event_set_device (event, seat->core_pointer);
clutter_event_set_source_device (event, input_device);
queue_event (event);
}
void void
clutter_seat_evdev_free (ClutterSeatEvdev *seat) clutter_seat_evdev_free (ClutterSeatEvdev *seat)
{ {
@@ -772,7 +846,7 @@ clutter_seat_evdev_free (ClutterSeatEvdev *seat)
g_object_unref (device); g_object_unref (device);
} }
g_slist_free (seat->devices); g_slist_free (seat->devices);
g_hash_table_unref (seat->touches); g_free (seat->touch_states);
xkb_state_unref (seat->xkb); xkb_state_unref (seat->xkb);

View File

@@ -38,7 +38,10 @@ typedef struct _ClutterTouchState ClutterTouchState;
struct _ClutterTouchState struct _ClutterTouchState
{ {
guint32 id; ClutterSeatEvdev *seat;
int device_slot;
int seat_slot;
ClutterPoint coords; ClutterPoint coords;
}; };
@@ -52,7 +55,8 @@ struct _ClutterSeatEvdev
ClutterInputDevice *core_pointer; ClutterInputDevice *core_pointer;
ClutterInputDevice *core_keyboard; ClutterInputDevice *core_keyboard;
GHashTable *touches; ClutterTouchState **touch_states;
int n_alloc_touch_states;
struct xkb_state *xkb; struct xkb_state *xkb;
xkb_led_index_t caps_lock_led; xkb_led_index_t caps_lock_led;
@@ -122,16 +126,24 @@ void clutter_seat_evdev_notify_discrete_scroll (ClutterSeatEvdev *seat,
double discrete_dy, double discrete_dy,
ClutterScrollSource source); ClutterScrollSource source);
void clutter_seat_evdev_notify_touch_event (ClutterSeatEvdev *seat,
ClutterInputDevice *input_device,
ClutterEventType evtype,
uint64_t time_us,
int slot,
double x,
double y);
void clutter_seat_evdev_set_libinput_seat (ClutterSeatEvdev *seat, void clutter_seat_evdev_set_libinput_seat (ClutterSeatEvdev *seat,
struct libinput_seat *libinput_seat); struct libinput_seat *libinput_seat);
void clutter_seat_evdev_sync_leds (ClutterSeatEvdev *seat); void clutter_seat_evdev_sync_leds (ClutterSeatEvdev *seat);
ClutterTouchState * clutter_seat_evdev_add_touch (ClutterSeatEvdev *seat, ClutterTouchState * clutter_seat_evdev_acquire_touch_state (ClutterSeatEvdev *seat,
guint32 id); int device_slot);
void clutter_seat_evdev_remove_touch (ClutterSeatEvdev *seat, void clutter_seat_evdev_release_touch_state (ClutterSeatEvdev *seat,
guint32 id); ClutterTouchState *touch_state);
ClutterTouchState * clutter_seat_evdev_get_touch (ClutterSeatEvdev *seat, ClutterTouchState * clutter_seat_evdev_get_touch (ClutterSeatEvdev *seat,
guint32 id); guint32 id);

View File

@@ -448,6 +448,124 @@ clutter_virtual_input_device_evdev_notify_discrete_scroll (ClutterVirtualInputDe
scroll_source); scroll_source);
} }
static void
clutter_virtual_input_device_evdev_notify_scroll_continuous (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
double dx,
double dy,
ClutterScrollSource scroll_source,
ClutterScrollFinishFlags finish_flags)
{
ClutterVirtualInputDeviceEvdev *virtual_evdev =
CLUTTER_VIRTUAL_INPUT_DEVICE_EVDEV (virtual_device);
if (time_us == CLUTTER_CURRENT_TIME)
time_us = g_get_monotonic_time ();
clutter_seat_evdev_notify_scroll_continuous (virtual_evdev->seat,
virtual_evdev->device,
time_us,
dx, dy,
scroll_source,
CLUTTER_SCROLL_FINISHED_NONE);
}
static void
clutter_virtual_input_device_evdev_notify_touch_down (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
int device_slot,
double x,
double y)
{
ClutterVirtualInputDeviceEvdev *virtual_evdev =
CLUTTER_VIRTUAL_INPUT_DEVICE_EVDEV (virtual_device);
ClutterInputDeviceEvdev *device_evdev =
CLUTTER_INPUT_DEVICE_EVDEV (virtual_evdev->device);
ClutterTouchState *touch_state;
if (time_us == CLUTTER_CURRENT_TIME)
time_us = g_get_monotonic_time ();
touch_state = clutter_input_device_evdev_acquire_touch_state (device_evdev,
device_slot);
if (!touch_state)
return;
touch_state->coords.x = x;
touch_state->coords.y = y;
clutter_seat_evdev_notify_touch_event (virtual_evdev->seat,
virtual_evdev->device,
CLUTTER_TOUCH_BEGIN,
time_us,
touch_state->seat_slot,
touch_state->coords.x,
touch_state->coords.y);
}
static void
clutter_virtual_input_device_evdev_notify_touch_motion (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
int device_slot,
double x,
double y)
{
ClutterVirtualInputDeviceEvdev *virtual_evdev =
CLUTTER_VIRTUAL_INPUT_DEVICE_EVDEV (virtual_device);
ClutterInputDeviceEvdev *device_evdev =
CLUTTER_INPUT_DEVICE_EVDEV (virtual_evdev->device);
ClutterTouchState *touch_state;
if (time_us == CLUTTER_CURRENT_TIME)
time_us = g_get_monotonic_time ();
touch_state = clutter_input_device_evdev_lookup_touch_state (device_evdev,
device_slot);
if (!touch_state)
return;
touch_state->coords.x = x;
touch_state->coords.y = y;
clutter_seat_evdev_notify_touch_event (virtual_evdev->seat,
virtual_evdev->device,
CLUTTER_TOUCH_BEGIN,
time_us,
touch_state->seat_slot,
touch_state->coords.x,
touch_state->coords.y);
}
static void
clutter_virtual_input_device_evdev_notify_touch_up (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
int device_slot)
{
ClutterVirtualInputDeviceEvdev *virtual_evdev =
CLUTTER_VIRTUAL_INPUT_DEVICE_EVDEV (virtual_device);
ClutterInputDeviceEvdev *device_evdev =
CLUTTER_INPUT_DEVICE_EVDEV (virtual_evdev->device);
ClutterTouchState *touch_state;
if (time_us == CLUTTER_CURRENT_TIME)
time_us = g_get_monotonic_time ();
touch_state = clutter_input_device_evdev_lookup_touch_state (device_evdev,
device_slot);
if (!touch_state)
return;
clutter_seat_evdev_notify_touch_event (virtual_evdev->seat,
virtual_evdev->device,
CLUTTER_TOUCH_BEGIN,
time_us,
touch_state->seat_slot,
touch_state->coords.x,
touch_state->coords.y);
clutter_input_device_evdev_release_touch_state (device_evdev, touch_state);
}
static void static void
clutter_virtual_input_device_evdev_get_property (GObject *object, clutter_virtual_input_device_evdev_get_property (GObject *object,
guint prop_id, guint prop_id,
@@ -552,6 +670,10 @@ clutter_virtual_input_device_evdev_class_init (ClutterVirtualInputDeviceEvdevCla
virtual_input_device_class->notify_key = clutter_virtual_input_device_evdev_notify_key; virtual_input_device_class->notify_key = clutter_virtual_input_device_evdev_notify_key;
virtual_input_device_class->notify_keyval = clutter_virtual_input_device_evdev_notify_keyval; virtual_input_device_class->notify_keyval = clutter_virtual_input_device_evdev_notify_keyval;
virtual_input_device_class->notify_discrete_scroll = clutter_virtual_input_device_evdev_notify_discrete_scroll; virtual_input_device_class->notify_discrete_scroll = clutter_virtual_input_device_evdev_notify_discrete_scroll;
virtual_input_device_class->notify_scroll_continuous = clutter_virtual_input_device_evdev_notify_scroll_continuous;
virtual_input_device_class->notify_touch_down = clutter_virtual_input_device_evdev_notify_touch_down;
virtual_input_device_class->notify_touch_motion = clutter_virtual_input_device_evdev_notify_touch_motion;
virtual_input_device_class->notify_touch_up = clutter_virtual_input_device_evdev_notify_touch_up;
obj_props[PROP_SEAT] = g_param_spec_pointer ("seat", obj_props[PROP_SEAT] = g_param_spec_pointer ("seat",
P_("ClutterSeatEvdev"), P_("ClutterSeatEvdev"),

View File

@@ -109,7 +109,6 @@ static const gchar *atom_names[] = {
#define N_ATOM_NAMES G_N_ELEMENTS (atom_names) #define N_ATOM_NAMES G_N_ELEMENTS (atom_names)
/* various flags corresponding to pre init setup calls */ /* various flags corresponding to pre init setup calls */
static gboolean _want_reset_on_video_memory_purge = FALSE;
static gboolean _no_xevent_retrieval = FALSE; static gboolean _no_xevent_retrieval = FALSE;
static gboolean clutter_enable_xinput = TRUE; static gboolean clutter_enable_xinput = TRUE;
static gboolean clutter_enable_argb = FALSE; static gboolean clutter_enable_argb = FALSE;
@@ -682,8 +681,7 @@ clutter_backend_x11_get_renderer (ClutterBackend *backend,
/* set the display object we're using */ /* set the display object we're using */
cogl_xlib_renderer_set_foreign_display (renderer, xdisplay); cogl_xlib_renderer_set_foreign_display (renderer, xdisplay);
cogl_xlib_renderer_request_reset_on_video_memory_purge (renderer,
_want_reset_on_video_memory_purge);
return renderer; return renderer;
} }
@@ -1028,30 +1026,6 @@ clutter_x11_has_event_retrieval (void)
return !_no_xevent_retrieval; return !_no_xevent_retrieval;
} }
/**
* clutter_x11_request_reset_on_video_memory_purge:
*
* If the GL driver supports the NV_robustness_video_memory_purge
* extension, this call lets applications request that it gets
* initialized, thus allowing cogl_get_graphics_reset_status() to
* report memory purged errors if they happen. Checking for the
* graphics reset status is the application's responsibility.
*
* This function can only be called before calling clutter_init().
*/
void
clutter_x11_request_reset_on_video_memory_purge (void)
{
if (_clutter_context_is_initialized ())
{
g_warning ("%s() can only be used before calling clutter_init()",
G_STRFUNC);
return;
}
_want_reset_on_video_memory_purge = TRUE;
}
/** /**
* clutter_x11_get_default_screen: * clutter_x11_get_default_screen:
* *

View File

@@ -490,6 +490,13 @@ clutter_device_manager_x11_create_virtual_device (ClutterDeviceManager *device_
return g_object_new (CLUTTER_TYPE_VIRTUAL_INPUT_DEVICE_X11, NULL); return g_object_new (CLUTTER_TYPE_VIRTUAL_INPUT_DEVICE_X11, NULL);
} }
static ClutterVirtualDeviceType
clutter_device_manager_x11_get_supported_virtual_device_types (ClutterDeviceManager *device_manager)
{
return (CLUTTER_VIRTUAL_DEVICE_TYPE_KEYBOARD |
CLUTTER_VIRTUAL_DEVICE_TYPE_POINTER);
}
static void static void
clutter_device_manager_x11_set_property (GObject *gobject, clutter_device_manager_x11_set_property (GObject *gobject,
guint prop_id, guint prop_id,
@@ -537,6 +544,7 @@ clutter_device_manager_x11_class_init (ClutterDeviceManagerX11Class *klass)
manager_class->get_core_device = clutter_device_manager_x11_get_core_device; manager_class->get_core_device = clutter_device_manager_x11_get_core_device;
manager_class->get_device = clutter_device_manager_x11_get_device; manager_class->get_device = clutter_device_manager_x11_get_device;
manager_class->create_virtual_device = clutter_device_manager_x11_create_virtual_device; manager_class->create_virtual_device = clutter_device_manager_x11_create_virtual_device;
manager_class->get_supported_virtual_device_types = clutter_device_manager_x11_get_supported_virtual_device_types;
manager_class->apply_kbd_a11y_settings = clutter_device_manager_x11_apply_kbd_a11y_settings; manager_class->apply_kbd_a11y_settings = clutter_device_manager_x11_apply_kbd_a11y_settings;
} }

View File

@@ -495,13 +495,21 @@ create_device (ClutterDeviceManagerXI2 *manager_xi2,
"device-node", node_path, "device-node", node_path,
"n-rings", num_rings, "n-rings", num_rings,
"n-strips", num_strips, "n-strips", num_strips,
"n-mode-groups", MAX (num_rings, num_strips),
NULL); NULL);
translate_device_classes (backend_x11->xdpy, retval, translate_device_classes (backend_x11->xdpy, retval,
info->classes, info->classes,
info->num_classes); info->num_classes);
#ifdef HAVE_LIBWACOM
if (source == CLUTTER_PAD_DEVICE)
clutter_input_device_xi2_ensure_wacom_info (retval, manager_xi2->wacom_db);
#endif
g_free (vendor_id); g_free (vendor_id);
g_free (product_id); g_free (product_id);
g_free (node_path);
CLUTTER_NOTE (BACKEND, "Created device '%s' (id: %d, has-cursor: %s)", CLUTTER_NOTE (BACKEND, "Created device '%s' (id: %d, has-cursor: %s)",
info->name, info->name,
@@ -1126,7 +1134,7 @@ translate_pad_event (ClutterEvent *event,
ClutterInputDevice *device) ClutterInputDevice *device)
{ {
gdouble value; gdouble value;
guint number; guint number, mode = 0;
if (!translate_pad_axis (device, &xev->valuators, if (!translate_pad_axis (device, &xev->valuators,
&event->any.type, &event->any.type,
@@ -1140,15 +1148,21 @@ translate_pad_event (ClutterEvent *event,
if (xev->evtype == XI_Motion) if (xev->evtype == XI_Motion)
value = -1; value = -1;
#ifdef HAVE_LIBWACOM
mode = clutter_input_device_xi2_get_pad_group_mode (device, number);
#endif
if (event->any.type == CLUTTER_PAD_RING) if (event->any.type == CLUTTER_PAD_RING)
{ {
event->pad_ring.ring_number = number; event->pad_ring.ring_number = number;
event->pad_ring.angle = value; event->pad_ring.angle = value;
event->pad_ring.mode = mode;
} }
else else
{ {
event->pad_strip.strip_number = number; event->pad_strip.strip_number = number;
event->pad_strip.value = value; event->pad_strip.value = value;
event->pad_strip.mode = mode;
} }
event->any.time = xev->time; event->any.time = xev->time;
@@ -1375,6 +1389,13 @@ clutter_device_manager_xi2_translate_event (ClutterEventTranslator *translator,
/* Pad buttons are 0-indexed */ /* Pad buttons are 0-indexed */
event->pad_button.button = xev->detail - 1; event->pad_button.button = xev->detail - 1;
#ifdef HAVE_LIBWACOM
clutter_input_device_xi2_update_pad_state (device,
event->pad_button.button,
(xi_event->evtype == XI_ButtonPress),
&event->pad_button.group,
&event->pad_button.mode);
#endif
clutter_event_set_device (event, device); clutter_event_set_device (event, device);
clutter_event_set_source_device (event, source_device); clutter_event_set_source_device (event, source_device);
@@ -2024,6 +2045,13 @@ clutter_device_manager_xi2_create_virtual_device (ClutterDeviceManager *manage
NULL); NULL);
} }
static ClutterVirtualDeviceType
clutter_device_manager_xi2_get_supported_virtual_device_types (ClutterDeviceManager *device_manager)
{
return (CLUTTER_VIRTUAL_DEVICE_TYPE_KEYBOARD |
CLUTTER_VIRTUAL_DEVICE_TYPE_POINTER);
}
static void static void
clutter_device_manager_xi2_class_init (ClutterDeviceManagerXI2Class *klass) clutter_device_manager_xi2_class_init (ClutterDeviceManagerXI2Class *klass)
{ {
@@ -2052,6 +2080,7 @@ clutter_device_manager_xi2_class_init (ClutterDeviceManagerXI2Class *klass)
manager_class->get_device = clutter_device_manager_xi2_get_device; manager_class->get_device = clutter_device_manager_xi2_get_device;
manager_class->select_stage_events = clutter_device_manager_xi2_select_stage_events; manager_class->select_stage_events = clutter_device_manager_xi2_select_stage_events;
manager_class->create_virtual_device = clutter_device_manager_xi2_create_virtual_device; manager_class->create_virtual_device = clutter_device_manager_xi2_create_virtual_device;
manager_class->get_supported_virtual_device_types = clutter_device_manager_xi2_get_supported_virtual_device_types;
manager_class->apply_kbd_a11y_settings = clutter_device_manager_x11_apply_kbd_a11y_settings; manager_class->apply_kbd_a11y_settings = clutter_device_manager_x11_apply_kbd_a11y_settings;
} }
@@ -2063,4 +2092,8 @@ clutter_device_manager_xi2_init (ClutterDeviceManagerXI2 *self)
(GDestroyNotify) g_object_unref); (GDestroyNotify) g_object_unref);
self->tools_by_serial = g_hash_table_new_full (NULL, NULL, NULL, self->tools_by_serial = g_hash_table_new_full (NULL, NULL, NULL,
(GDestroyNotify) g_object_unref); (GDestroyNotify) g_object_unref);
#ifdef HAVE_LIBWACOM
self->wacom_db = libwacom_database_new ();
#endif
} }

View File

@@ -26,6 +26,10 @@
#include <clutter/clutter-device-manager.h> #include <clutter/clutter-device-manager.h>
#ifdef HAVE_LIBWACOM
#include <libwacom/libwacom.h>
#endif
G_BEGIN_DECLS G_BEGIN_DECLS
#define CLUTTER_TYPE_DEVICE_MANAGER_XI2 (_clutter_device_manager_xi2_get_type ()) #define CLUTTER_TYPE_DEVICE_MANAGER_XI2 (_clutter_device_manager_xi2_get_type ())
@@ -51,6 +55,10 @@ struct _ClutterDeviceManagerXI2
GList *slave_devices; GList *slave_devices;
int opcode; int opcode;
#ifdef HAVE_LIBWACOM
WacomDeviceDatabase *wacom_db;
#endif
}; };
struct _ClutterDeviceManagerXI2Class struct _ClutterDeviceManagerXI2Class

View File

@@ -45,6 +45,11 @@ struct _ClutterInputDeviceXI2
gint device_id; gint device_id;
ClutterInputDeviceTool *current_tool; ClutterInputDeviceTool *current_tool;
#ifdef HAVE_LIBWACOM
WacomDevice *wacom_device;
GArray *group_modes;
#endif
}; };
#define N_BUTTONS 5 #define N_BUTTONS 5
@@ -64,6 +69,15 @@ clutter_input_device_xi2_constructed (GObject *gobject)
if (G_OBJECT_CLASS (clutter_input_device_xi2_parent_class)->constructed) if (G_OBJECT_CLASS (clutter_input_device_xi2_parent_class)->constructed)
G_OBJECT_CLASS (clutter_input_device_xi2_parent_class)->constructed (gobject); G_OBJECT_CLASS (clutter_input_device_xi2_parent_class)->constructed (gobject);
#ifdef HAVE_LIBWACOM
if (clutter_input_device_get_device_type (CLUTTER_INPUT_DEVICE (gobject)) == CLUTTER_PAD_DEVICE)
{
device_xi2->group_modes = g_array_new (FALSE, TRUE, sizeof (guint));
g_array_set_size (device_xi2->group_modes,
clutter_input_device_get_n_mode_groups (CLUTTER_INPUT_DEVICE (gobject)));
}
#endif
} }
static gboolean static gboolean
@@ -87,6 +101,84 @@ clutter_input_device_xi2_is_grouped (ClutterInputDevice *device,
return FALSE; return FALSE;
} }
static void
clutter_input_device_xi2_finalize (GObject *object)
{
#ifdef HAVE_LIBWACOM
ClutterInputDeviceXI2 *device_xi2 = CLUTTER_INPUT_DEVICE_XI2 (object);
if (device_xi2->wacom_device)
libwacom_destroy (device_xi2->wacom_device);
g_array_unref (device_xi2->group_modes);
#endif
G_OBJECT_CLASS (clutter_input_device_xi2_parent_class)->finalize (object);
}
static gint
clutter_input_device_xi2_get_group_n_modes (ClutterInputDevice *device,
gint group)
{
#ifdef HAVE_LIBWACOM
ClutterInputDeviceXI2 *device_xi2 = CLUTTER_INPUT_DEVICE_XI2 (device);
if (device_xi2->wacom_device)
{
if (group == 0)
{
if (libwacom_has_ring (device_xi2->wacom_device))
return libwacom_get_ring_num_modes (device_xi2->wacom_device);
else if (libwacom_get_num_strips (device_xi2->wacom_device) >= 1)
return libwacom_get_strips_num_modes (device_xi2->wacom_device);
}
else if (group == 1)
{
if (libwacom_has_ring2 (device_xi2->wacom_device))
return libwacom_get_ring2_num_modes (device_xi2->wacom_device);
else if (libwacom_get_num_strips (device_xi2->wacom_device) >= 2)
return libwacom_get_strips_num_modes (device_xi2->wacom_device);
}
}
#endif
return -1;
}
#ifdef HAVE_LIBWACOM
static int
clutter_input_device_xi2_get_button_group (ClutterInputDevice *device,
guint button)
{
ClutterInputDeviceXI2 *device_xi2 = CLUTTER_INPUT_DEVICE_XI2 (device);
if (device_xi2->wacom_device)
{
if (button >= libwacom_get_num_buttons (device_xi2->wacom_device))
return -1;
return libwacom_get_button_led_group (device_xi2->wacom_device,
'A' + button);
}
else
return -1;
}
#endif
static gboolean
clutter_input_device_xi2_is_mode_switch_button (ClutterInputDevice *device,
guint group,
guint button)
{
int button_group = -1;
#ifdef HAVE_LIBWACOM
button_group = clutter_input_device_xi2_get_button_group (device, button);
#endif
return button_group == (int) group;
}
static void static void
clutter_input_device_xi2_class_init (ClutterInputDeviceXI2Class *klass) clutter_input_device_xi2_class_init (ClutterInputDeviceXI2Class *klass)
{ {
@@ -94,9 +186,12 @@ clutter_input_device_xi2_class_init (ClutterInputDeviceXI2Class *klass)
ClutterInputDeviceClass *device_class = CLUTTER_INPUT_DEVICE_CLASS (klass); ClutterInputDeviceClass *device_class = CLUTTER_INPUT_DEVICE_CLASS (klass);
gobject_class->constructed = clutter_input_device_xi2_constructed; gobject_class->constructed = clutter_input_device_xi2_constructed;
gobject_class->finalize = clutter_input_device_xi2_finalize;
device_class->keycode_to_evdev = clutter_input_device_xi2_keycode_to_evdev; device_class->keycode_to_evdev = clutter_input_device_xi2_keycode_to_evdev;
device_class->is_grouped = clutter_input_device_xi2_is_grouped; device_class->is_grouped = clutter_input_device_xi2_is_grouped;
device_class->get_group_n_modes = clutter_input_device_xi2_get_group_n_modes;
device_class->is_mode_switch_button = clutter_input_device_xi2_is_mode_switch_button;
} }
static void static void
@@ -196,3 +291,66 @@ clutter_input_device_xi2_get_current_tool (ClutterInputDevice *device)
ClutterInputDeviceXI2 *device_xi2 = CLUTTER_INPUT_DEVICE_XI2 (device); ClutterInputDeviceXI2 *device_xi2 = CLUTTER_INPUT_DEVICE_XI2 (device);
return device_xi2->current_tool; return device_xi2->current_tool;
} }
#ifdef HAVE_LIBWACOM
void
clutter_input_device_xi2_ensure_wacom_info (ClutterInputDevice *device,
WacomDeviceDatabase *wacom_db)
{
ClutterInputDeviceXI2 *device_xi2 = CLUTTER_INPUT_DEVICE_XI2 (device);
const gchar *node_path;
node_path = clutter_input_device_get_device_node (device);
device_xi2->wacom_device = libwacom_new_from_path (wacom_db, node_path,
WFALLBACK_NONE, NULL);
}
guint
clutter_input_device_xi2_get_pad_group_mode (ClutterInputDevice *device,
guint group)
{
ClutterInputDeviceXI2 *device_xi2 = CLUTTER_INPUT_DEVICE_XI2 (device);
if (group >= device_xi2->group_modes->len)
return 0;
return g_array_index (device_xi2->group_modes, guint, group);
}
void
clutter_input_device_xi2_update_pad_state (ClutterInputDevice *device,
guint button,
guint state,
guint *group,
guint *mode)
{
ClutterInputDeviceXI2 *device_xi2 = CLUTTER_INPUT_DEVICE_XI2 (device);
guint button_group, *group_mode;
gboolean is_mode_switch = FALSE;
button_group = clutter_input_device_xi2_get_button_group (device, button);
is_mode_switch = button_group >= 0;
/* Assign all non-mode-switch buttons to group 0 so far */
button_group = MAX (0, button_group);
if (button_group >= device_xi2->group_modes->len)
return;
group_mode = &g_array_index (device_xi2->group_modes, guint, button_group);
if (is_mode_switch && state)
{
guint next, n_modes;
n_modes = clutter_input_device_get_group_n_modes (device, button_group);
next = (*group_mode + 1) % n_modes;
*group_mode = next;
}
if (group)
*group = button_group;
if (mode)
*mode = *group_mode;
}
#endif

View File

@@ -27,6 +27,10 @@
#include <clutter/clutter-input-device.h> #include <clutter/clutter-input-device.h>
#include <X11/extensions/XInput2.h> #include <X11/extensions/XInput2.h>
#ifdef HAVE_LIBWACOM
#include <libwacom/libwacom.h>
#endif
G_BEGIN_DECLS G_BEGIN_DECLS
#define CLUTTER_TYPE_INPUT_DEVICE_XI2 (_clutter_input_device_xi2_get_type ()) #define CLUTTER_TYPE_INPUT_DEVICE_XI2 (_clutter_input_device_xi2_get_type ())
@@ -45,6 +49,21 @@ void clutter_input_device_xi2_update_tool (ClutterInputDevice *device,
ClutterInputDeviceTool *tool); ClutterInputDeviceTool *tool);
ClutterInputDeviceTool * clutter_input_device_xi2_get_current_tool (ClutterInputDevice *device); ClutterInputDeviceTool * clutter_input_device_xi2_get_current_tool (ClutterInputDevice *device);
#ifdef HAVE_LIBWACOM
void clutter_input_device_xi2_ensure_wacom_info (ClutterInputDevice *device,
WacomDeviceDatabase *wacom_db);
guint clutter_input_device_xi2_get_pad_group_mode (ClutterInputDevice *device,
guint group);
void clutter_input_device_xi2_update_pad_state (ClutterInputDevice *device,
guint button,
guint state,
guint *group,
guint *mode);
#endif
G_END_DECLS G_END_DECLS
#endif /* __CLUTTER_INPUT_DEVICE_XI2_H__ */ #endif /* __CLUTTER_INPUT_DEVICE_XI2_H__ */

View File

@@ -48,6 +48,10 @@ clutter_virtual_input_device_x11_notify_relative_motion (ClutterVirtualInputDevi
double dx, double dx,
double dy) double dy)
{ {
XTestFakeRelativeMotionEvent (clutter_x11_get_default_display (),
(int) dx,
(int) dy,
0);
} }
static void static void
@@ -56,6 +60,11 @@ clutter_virtual_input_device_x11_notify_absolute_motion (ClutterVirtualInputDevi
double x, double x,
double y) double y)
{ {
XTestFakeMotionEvent (clutter_x11_get_default_display (),
clutter_x11_get_default_screen (),
(int) x,
(int) y,
0);
} }
static void static void
@@ -68,6 +77,48 @@ clutter_virtual_input_device_x11_notify_button (ClutterVirtualInputDevice *virtu
button, button_state == CLUTTER_BUTTON_STATE_PRESSED, 0); button, button_state == CLUTTER_BUTTON_STATE_PRESSED, 0);
} }
static void
clutter_virtual_input_device_x11_notify_discrete_scroll (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
ClutterScrollDirection direction,
ClutterScrollSource scroll_source)
{
Display *xdisplay = clutter_x11_get_default_display ();
int button;
switch (direction)
{
case CLUTTER_SCROLL_UP:
button = 4;
break;
case CLUTTER_SCROLL_DOWN:
button = 5;
break;
case CLUTTER_SCROLL_LEFT:
button = 6;
break;
case CLUTTER_SCROLL_RIGHT:
button = 7;
break;
default:
g_warn_if_reached ();
return;
}
XTestFakeButtonEvent (xdisplay, button, True, 0);
XTestFakeButtonEvent (xdisplay, button, False, 0);
}
static void
clutter_virtual_input_device_x11_notify_scroll_continuous (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
double dx,
double dy,
ClutterScrollSource scroll_source,
ClutterScrollFinishFlags finish_flags)
{
}
static void static void
clutter_virtual_input_device_x11_notify_key (ClutterVirtualInputDevice *virtual_device, clutter_virtual_input_device_x11_notify_key (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us, uint64_t time_us,
@@ -91,6 +142,34 @@ clutter_virtual_input_device_x11_notify_keyval (ClutterVirtualInputDevice *virtu
keycode, key_state == CLUTTER_KEY_STATE_PRESSED, 0); keycode, key_state == CLUTTER_KEY_STATE_PRESSED, 0);
} }
static void
clutter_virtual_input_device_x11_notify_touch_down (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
int device_slot,
double x,
double y)
{
g_warning ("Virtual touch motion not implemented under X11");
}
static void
clutter_virtual_input_device_x11_notify_touch_motion (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
int device_slot,
double x,
double y)
{
g_warning ("Virtual touch motion not implemented under X11");
}
static void
clutter_virtual_input_device_x11_notify_touch_up (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
int device_slot)
{
g_warning ("Virtual touch motion not implemented under X11");
}
static void static void
clutter_virtual_input_device_x11_init (ClutterVirtualInputDeviceX11 *virtual_device_x11) clutter_virtual_input_device_x11_init (ClutterVirtualInputDeviceX11 *virtual_device_x11)
{ {
@@ -105,6 +184,11 @@ clutter_virtual_input_device_x11_class_init (ClutterVirtualInputDeviceX11Class *
virtual_input_device_class->notify_relative_motion = clutter_virtual_input_device_x11_notify_relative_motion; virtual_input_device_class->notify_relative_motion = clutter_virtual_input_device_x11_notify_relative_motion;
virtual_input_device_class->notify_absolute_motion = clutter_virtual_input_device_x11_notify_absolute_motion; virtual_input_device_class->notify_absolute_motion = clutter_virtual_input_device_x11_notify_absolute_motion;
virtual_input_device_class->notify_button = clutter_virtual_input_device_x11_notify_button; virtual_input_device_class->notify_button = clutter_virtual_input_device_x11_notify_button;
virtual_input_device_class->notify_discrete_scroll = clutter_virtual_input_device_x11_notify_discrete_scroll;
virtual_input_device_class->notify_scroll_continuous = clutter_virtual_input_device_x11_notify_scroll_continuous;
virtual_input_device_class->notify_key = clutter_virtual_input_device_x11_notify_key; virtual_input_device_class->notify_key = clutter_virtual_input_device_x11_notify_key;
virtual_input_device_class->notify_keyval = clutter_virtual_input_device_x11_notify_keyval; virtual_input_device_class->notify_keyval = clutter_virtual_input_device_x11_notify_keyval;
virtual_input_device_class->notify_touch_down = clutter_virtual_input_device_x11_notify_touch_down;
virtual_input_device_class->notify_touch_motion = clutter_virtual_input_device_x11_notify_touch_motion;
virtual_input_device_class->notify_touch_up = clutter_virtual_input_device_x11_notify_touch_up;
} }

View File

@@ -161,9 +161,6 @@ gint clutter_x11_event_get_key_group (const ClutterEvent *event);
CLUTTER_AVAILABLE_IN_ALL CLUTTER_AVAILABLE_IN_ALL
guint clutter_x11_event_sequence_get_touch_detail (const ClutterEventSequence *sequence); guint clutter_x11_event_sequence_get_touch_detail (const ClutterEventSequence *sequence);
CLUTTER_AVAILABLE_IN_ALL
void clutter_x11_request_reset_on_video_memory_purge (void);
G_END_DECLS G_END_DECLS
#endif /* __CLUTTER_X11_H__ */ #endif /* __CLUTTER_X11_H__ */

View File

@@ -121,6 +121,7 @@ m4_define([xcomposite_req_version], [0.4])
m4_define([gdk_req_version], [3.3.18]) m4_define([gdk_req_version], [3.3.18])
m4_define([libinput_req_version], [1.4.0]) m4_define([libinput_req_version], [1.4.0])
m4_define([libudev_req_version], [136]) m4_define([libudev_req_version], [136])
m4_define([libwacom_req_version], [0.13])
AC_SUBST([GLIB_REQ_VERSION], [glib_req_version]) AC_SUBST([GLIB_REQ_VERSION], [glib_req_version])
AC_SUBST([COGL_REQ_VERSION], [cogl_req_version]) AC_SUBST([COGL_REQ_VERSION], [cogl_req_version])
@@ -133,6 +134,7 @@ AC_SUBST([XCOMPOSITE_REQ_VERSION], [xcomposite_req_version])
AC_SUBST([GDK_REQ_VERSION], [gdk_req_version]) AC_SUBST([GDK_REQ_VERSION], [gdk_req_version])
AC_SUBST([LIBINPUT_REQ_VERSION], [libinput_req_version]) AC_SUBST([LIBINPUT_REQ_VERSION], [libinput_req_version])
AC_SUBST([LIBUDEV_REQ_VERSION], [libudev_req_version]) AC_SUBST([LIBUDEV_REQ_VERSION], [libudev_req_version])
AC_SUBST([LIBWACOM_REQ_VERSION], [libwacom_req_version])
# Checks for typedefs, structures, and compiler characteristics. # Checks for typedefs, structures, and compiler characteristics.
AM_PATH_GLIB_2_0([glib_req_version], AM_PATH_GLIB_2_0([glib_req_version],
@@ -149,7 +151,7 @@ AC_ARG_ENABLE([Bsymbolic],
saved_LDFLAGS="${LDFLAGS}" saved_LDFLAGS="${LDFLAGS}"
AC_MSG_CHECKING([for -Bsymbolic-functions linker flag]) AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
LDFLAGS=-Wl,-Bsymbolic-functions LDFLAGS=-Wl,-Bsymbolic-functions
AC_TRY_LINK([], [int main (void) { return 0; }], AC_TRY_LINK([], [return 0],
[ [
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
enable_Bsymbolic=yes enable_Bsymbolic=yes
@@ -170,7 +172,7 @@ dnl on other compilers, check if we can do -fvisibility=hidden
SAVED_CFLAGS="${CFLAGS}" SAVED_CFLAGS="${CFLAGS}"
CFLAGS="-fvisibility=hidden" CFLAGS="-fvisibility=hidden"
AC_MSG_CHECKING([for -fvisibility=hidden compiler flag]) AC_MSG_CHECKING([for -fvisibility=hidden compiler flag])
AC_TRY_COMPILE([], [int main (void) { return 0; }], AC_TRY_COMPILE([], [return 0],
AC_MSG_RESULT(yes) AC_MSG_RESULT(yes)
enable_fvisibility_hidden=yes, enable_fvisibility_hidden=yes,
AC_MSG_RESULT(no) AC_MSG_RESULT(no)
@@ -508,6 +510,32 @@ X11_EXTS=${X11_EXTS#* }
AC_CACHE_SAVE AC_CACHE_SAVE
dnl === Libwacom support for X11 ===============================================
AC_ARG_WITH(libwacom,
AC_HELP_STRING([--without-libwacom],
[disable the use of libwacom for advanced tablet management]),,
with_libwacom=auto)
have_libwacom=no
AC_MSG_CHECKING([libwacom])
if test x$with_libwacom = xno ; then
AC_MSG_RESULT([disabled])
else
if $PKG_CONFIG --exists libwacom '>=' $LIBWACOM_REQ_VERSION; then
have_libwacom=yes
AC_MSG_RESULT(yes)
PKG_CHECK_MODULES([LIBWACOM], [libwacom])
AC_SUBST(LIBWACOM_CFLAGS)
AC_SUBST(LIBWACOM_LIBS)
AC_DEFINE([HAVE_LIBWACOM], 1, [Building with libwacom for advanced tablet management])
else
AC_MSG_RESULT(no)
if test x$with_libwacom = xyes ; then
AC_MSG_ERROR([libwacom forced but not found])
fi
fi
fi
dnl === Enable GDK-Pixbuf in tests ============================================ dnl === Enable GDK-Pixbuf in tests ============================================
m4_define([pixbuf_default], [yes]) m4_define([pixbuf_default], [yes])
@@ -679,8 +707,8 @@ AS_IF([test "x$CLUTTER_BASE_PC_FILES_PRIVATE" = "x" && test "x$BACKEND_PC_FILES_
AC_SUBST(CLUTTER_REQUIRES) AC_SUBST(CLUTTER_REQUIRES)
AC_SUBST(CLUTTER_REQUIRES_PRIVATE) AC_SUBST(CLUTTER_REQUIRES_PRIVATE)
CLUTTER_CFLAGS="$FLAVOUR_CFLAGS $CLUTTER_DEPS_CFLAGS $CLUTTER_DEPS_PRIVATE_CFLAGS $GLIB_CFLAGS" CLUTTER_CFLAGS="$FLAVOUR_CFLAGS $CLUTTER_DEPS_CFLAGS $CLUTTER_DEPS_PRIVATE_CFLAGS $GLIB_CFLAGS $LIBWACOM_CFLAGS"
CLUTTER_LIBS="$FLAVOUR_LIBS $CLUTTER_DEPS_LIBS $CLUTTER_DEPS_PRIVATE_LIBS $GLIB_LIBS" CLUTTER_LIBS="$FLAVOUR_LIBS $CLUTTER_DEPS_LIBS $CLUTTER_DEPS_PRIVATE_LIBS $GLIB_LIBS $LIBWACOM_LIBS"
AC_SUBST(CLUTTER_CFLAGS) AC_SUBST(CLUTTER_CFLAGS)
AC_SUBST(CLUTTER_LIBS) AC_SUBST(CLUTTER_LIBS)

View File

@@ -592,7 +592,7 @@ _cogl_rectangles_validate_layer_cb (CoglPipeline *pipeline,
if (!warning_seen) if (!warning_seen)
g_warning ("Skipping layer %d of your pipeline consisting of " g_warning ("Skipping layer %d of your pipeline consisting of "
"a sliced texture (unsuported for multi texturing)", "a sliced texture (unsupported for multi texturing)",
state->i); state->i);
warning_seen = TRUE; warning_seen = TRUE;

View File

@@ -542,285 +542,6 @@ cogl_texture_set_data (CoglTexture *texture,
error); error);
} }
/* Reads back the contents of a texture by rendering it to the framebuffer
* and reading back the resulting pixels.
*
* It will perform multiple renders if the texture is larger than the
* current glViewport.
*
* It assumes the projection and modelview have already been setup so
* that rendering to 0,0 with the same width and height of the viewport
* will exactly cover the viewport.
*
* NB: Normally this approach isn't normally used since we can just use
* glGetTexImage, but may be used as a fallback in some circumstances.
*/
static CoglBool
do_texture_draw_and_read (CoglFramebuffer *fb,
CoglPipeline *pipeline,
CoglTexture *texture,
CoglBitmap *target_bmp,
float *viewport,
CoglError **error)
{
float rx1, ry1;
float rx2, ry2;
float tx1, ty1;
float tx2, ty2;
int bw, bh;
CoglBitmap *rect_bmp;
unsigned int tex_width, tex_height;
CoglContext *ctx = fb->context;
tex_width = cogl_texture_get_width (texture);
tex_height = cogl_texture_get_height (texture);
ry2 = 0;
ty2 = 0;
/* Walk Y axis until whole bitmap height consumed */
for (bh = tex_height; bh > 0; bh -= viewport[3])
{
/* Rectangle Y coords */
ry1 = ry2;
ry2 += (bh < viewport[3]) ? bh : viewport[3];
/* Normalized texture Y coords */
ty1 = ty2;
ty2 = (ry2 / (float) tex_height);
rx2 = 0;
tx2 = 0;
/* Walk X axis until whole bitmap width consumed */
for (bw = tex_width; bw > 0; bw-=viewport[2])
{
int width;
int height;
/* Rectangle X coords */
rx1 = rx2;
rx2 += (bw < viewport[2]) ? bw : viewport[2];
width = rx2 - rx1;
height = ry2 - ry1;
/* Normalized texture X coords */
tx1 = tx2;
tx2 = (rx2 / (float) tex_width);
/* Draw a portion of texture */
cogl_framebuffer_draw_textured_rectangle (fb,
pipeline,
0, 0,
rx2 - rx1,
ry2 - ry1,
tx1, ty1,
tx2, ty2);
/* Read into a temporary bitmap */
rect_bmp = _cogl_bitmap_new_with_malloc_buffer
(ctx,
width, height,
COGL_PIXEL_FORMAT_RGBA_8888_PRE,
error);
if (!rect_bmp)
return FALSE;
if (!_cogl_framebuffer_read_pixels_into_bitmap
(fb,
viewport[0], viewport[1],
COGL_READ_PIXELS_COLOR_BUFFER,
rect_bmp,
error))
{
cogl_object_unref (rect_bmp);
return FALSE;
}
/* Copy to target bitmap */
if (!_cogl_bitmap_copy_subregion (rect_bmp,
target_bmp,
0, 0,
rx1, ry1,
width,
height,
error))
{
cogl_object_unref (rect_bmp);
return FALSE;
}
/* Free temp bitmap */
cogl_object_unref (rect_bmp);
}
}
return TRUE;
}
/* Reads back the contents of a texture by rendering it to the framebuffer
* and reading back the resulting pixels.
*
* NB: Normally this approach isn't normally used since we can just use
* glGetTexImage, but may be used as a fallback in some circumstances.
*/
static CoglBool
_cogl_texture_draw_and_read (CoglTexture *texture,
CoglBitmap *target_bmp,
GLuint target_gl_format,
GLuint target_gl_type,
CoglError **error)
{
CoglFramebuffer *framebuffer = cogl_get_draw_framebuffer ();
CoglContext *ctx = framebuffer->context;
float save_viewport[4];
float viewport[4];
CoglBool status = FALSE;
viewport[0] = 0;
viewport[1] = 0;
viewport[2] = cogl_framebuffer_get_width (framebuffer);
viewport[3] = cogl_framebuffer_get_height (framebuffer);
cogl_framebuffer_get_viewport4fv (framebuffer, save_viewport);
_cogl_framebuffer_push_projection (framebuffer);
cogl_framebuffer_orthographic (framebuffer,
0, 0,
viewport[2],
viewport[3],
0, 100);
cogl_framebuffer_push_matrix (framebuffer);
cogl_framebuffer_identity_matrix (framebuffer);
/* Direct copy operation */
if (ctx->texture_download_pipeline == NULL)
{
ctx->texture_download_pipeline = cogl_pipeline_new (ctx);
cogl_pipeline_set_blend (ctx->texture_download_pipeline,
"RGBA = ADD (SRC_COLOR, 0)",
NULL);
}
cogl_pipeline_set_layer_texture (ctx->texture_download_pipeline, 0, texture);
cogl_pipeline_set_layer_combine (ctx->texture_download_pipeline,
0, /* layer */
"RGBA = REPLACE (TEXTURE)",
NULL);
cogl_pipeline_set_layer_filters (ctx->texture_download_pipeline, 0,
COGL_PIPELINE_FILTER_NEAREST,
COGL_PIPELINE_FILTER_NEAREST);
if (!do_texture_draw_and_read (framebuffer,
ctx->texture_download_pipeline,
texture, target_bmp, viewport,
error))
return FALSE;
/* XXX: As an alleged PowerVR driver bug workaround where the driver
* is apparently not maintaining the alpha component of some
* framebuffers we render the alpha component of the texture
* separately to be sure we retrieve all components of the texture.
*
* TODO: verify if this is still an issue
*/
if ((_cogl_texture_get_format (texture) & COGL_A_BIT)/* && a_bits == 0*/)
{
uint8_t *srcdata;
uint8_t *dstdata;
uint8_t *srcpixel;
uint8_t *dstpixel;
int target_width = cogl_bitmap_get_width (target_bmp);
int target_height = cogl_bitmap_get_height (target_bmp);
int target_rowstride = cogl_bitmap_get_rowstride (target_bmp);
int bpp = _cogl_pixel_format_get_bytes_per_pixel (COGL_PIXEL_FORMAT_RGBA_8888);
int alpha_rowstride = bpp * target_width;
CoglBitmap *alpha_bmp;
int x,y;
if ((dstdata = _cogl_bitmap_map (target_bmp,
COGL_BUFFER_ACCESS_WRITE,
COGL_BUFFER_MAP_HINT_DISCARD,
error)) == NULL)
goto EXIT;
/* Create temp bitmap for alpha values */
alpha_bmp =
_cogl_bitmap_new_with_malloc_buffer (ctx,
target_width,
target_height,
COGL_PIXEL_FORMAT_RGBA_8888,
error);
if (!alpha_bmp)
{
_cogl_bitmap_unmap (target_bmp);
goto EXIT;
}
/* Draw alpha values into RGB channels */
cogl_pipeline_set_layer_combine (ctx->texture_download_pipeline,
0, /* layer */
"RGBA = REPLACE (TEXTURE[A])",
NULL);
if (!do_texture_draw_and_read (framebuffer,
ctx->texture_download_pipeline,
texture, alpha_bmp, viewport,
error))
{
cogl_object_unref (alpha_bmp);
_cogl_bitmap_unmap (target_bmp);
goto EXIT;
}
/* Copy temp R to target A */
/* Note: we don't try to catch errors since "mapping" an
* malloc buffer should never fail */
srcdata = _cogl_bitmap_map (alpha_bmp,
COGL_BUFFER_ACCESS_READ,
0 /* hints */,
NULL);
for (y=0; y<target_height; ++y)
{
for (x=0; x<target_width; ++x)
{
srcpixel = srcdata + x*bpp;
dstpixel = dstdata + x*bpp;
dstpixel[3] = srcpixel[0];
}
srcdata += alpha_rowstride;
dstdata += target_rowstride;
}
_cogl_bitmap_unmap (alpha_bmp);
_cogl_bitmap_unmap (target_bmp);
cogl_object_unref (alpha_bmp);
}
status = TRUE;
EXIT:
/* Restore old state */
cogl_framebuffer_pop_matrix (framebuffer);
_cogl_framebuffer_pop_projection (framebuffer);
cogl_framebuffer_set_viewport (framebuffer,
save_viewport[0],
save_viewport[1],
save_viewport[2],
save_viewport[3]);
return status;
}
static CoglBool static CoglBool
get_texture_bits_via_offscreen (CoglTexture *meta_texture, get_texture_bits_via_offscreen (CoglTexture *meta_texture,
CoglTexture *sub_texture, CoglTexture *sub_texture,
@@ -1156,25 +877,13 @@ cogl_texture_get_data (CoglTexture *texture,
tg_data.success = FALSE; tg_data.success = FALSE;
} }
/* XXX: In some cases _cogl_texture_2d_download_from_gl may fail /* XXX: In some cases this api may fail to read back the texture
* to read back the texture data; such as for GLES which doesn't * data; such as for GLES which doesn't support glGetTexImage
* support glGetTexImage, so here we fallback to drawing the */
* texture and reading the pixels from the framebuffer. */
if (!tg_data.success) if (!tg_data.success)
{ {
if (!_cogl_texture_draw_and_read (texture, target_bmp, cogl_object_unref (target_bmp);
closest_gl_format, return 0;
closest_gl_type,
&ignore_error))
{
/* We have no more fallbacks so we just give up and
* hope for the best */
g_warning ("Failed to read texture since draw-and-read "
"fallback failed: %s", ignore_error->message);
cogl_error_free (ignore_error);
cogl_object_unref (target_bmp);
return 0;
}
} }
/* Was intermediate used? */ /* Was intermediate used? */

View File

@@ -168,7 +168,7 @@ cogl_xlib_renderer_set_event_retrieval_enabled (CoglRenderer *renderer,
CoglBool enable); CoglBool enable);
/** /**
* cogl_xlib_renderer_set_threaded_swap_wait_enabled: * cogl_xlib_renderer_set_threaded_swap_wait_enabled: (skip)
* @renderer: a #CoglRenderer * @renderer: a #CoglRenderer
* @enable: The new value * @enable: The new value
* *

View File

@@ -1412,22 +1412,12 @@ _cogl_framebuffer_gl_read_pixels_into_bitmap (CoglFramebuffer *framebuffer,
if (!cogl_is_offscreen (framebuffer)) if (!cogl_is_offscreen (framebuffer))
y = framebuffer_height - y - height; y = framebuffer_height - y - height;
required_format = ctx->driver_vtable->pixel_format_to_gl (ctx, required_format = ctx->driver_vtable->pixel_format_to_gl_with_target (ctx,
format, framebuffer->internal_format,
&gl_intformat, format,
&gl_format, &gl_intformat,
&gl_type); &gl_format,
#if HAVE_COGL_GL &gl_type);
/* As we are reading pixels, we want to consider the bitmap according to
* its real pixel format, not the swizzled channels we pretend face to the
* pipeline.
*/
if ((ctx->driver == COGL_DRIVER_GL || ctx->driver == COGL_DRIVER_GL3) &&
(format == COGL_PIXEL_FORMAT_BGRA_8888 ||
format == COGL_PIXEL_FORMAT_BGRA_8888_PRE) &&
_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_TEXTURE_SWIZZLE))
gl_format = GL_BGRA;
#endif
/* NB: All offscreen rendering is done upside down so there is no need /* NB: All offscreen rendering is done upside down so there is no need
* to flip in this case... */ * to flip in this case... */

View File

@@ -90,6 +90,11 @@ typedef struct _CoglWinsysEGLVtable
(* add_config_attributes) (CoglDisplay *display, (* add_config_attributes) (CoglDisplay *display,
CoglFramebufferConfig *config, CoglFramebufferConfig *config,
EGLint *attributes); EGLint *attributes);
CoglBool
(* choose_config) (CoglDisplay *display,
EGLint *attributes,
EGLConfig *out_config,
CoglError **error);
} CoglWinsysEGLVtable; } CoglWinsysEGLVtable;
typedef enum _CoglEGLWinsysFeature typedef enum _CoglEGLWinsysFeature

View File

@@ -336,6 +336,32 @@ _cogl_winsys_egl_add_config_attributes (CoglDisplay *display,
return i; return i;
} }
static CoglBool
_cogl_winsys_egl_choose_config (CoglDisplay *display,
EGLint *attributes,
EGLConfig *out_config,
CoglError **error)
{
CoglRenderer *renderer = display->renderer;
CoglRendererEGL *egl_renderer = renderer->winsys;
EGLint config_count = 0;
EGLBoolean status;
status = eglChooseConfig (egl_renderer->edpy,
attributes,
out_config, 1,
&config_count);
if (status != EGL_TRUE || config_count == 0)
{
_cogl_set_error (error, COGL_WINSYS_ERROR,
COGL_WINSYS_ERROR_CREATE_CONTEXT,
"No compatible EGL configs found");
return FALSE;
}
return TRUE;
}
static CoglBool static CoglBool
_cogl_winsys_egl_display_setup (CoglDisplay *display, _cogl_winsys_egl_display_setup (CoglDisplay *display,
CoglError **error) CoglError **error)
@@ -841,6 +867,7 @@ static const CoglWinsysEGLVtable
_cogl_winsys_egl_vtable = _cogl_winsys_egl_vtable =
{ {
.add_config_attributes = _cogl_winsys_egl_add_config_attributes, .add_config_attributes = _cogl_winsys_egl_add_config_attributes,
.choose_config = _cogl_winsys_egl_choose_config,
.display_setup = _cogl_winsys_egl_display_setup, .display_setup = _cogl_winsys_egl_display_setup,
.display_destroy = _cogl_winsys_egl_display_destroy, .display_destroy = _cogl_winsys_egl_display_destroy,
.context_created = _cogl_winsys_egl_context_created, .context_created = _cogl_winsys_egl_context_created,

View File

@@ -338,10 +338,9 @@ try_create_context (CoglDisplay *display,
CoglRendererEGL *egl_renderer = renderer->winsys; CoglRendererEGL *egl_renderer = renderer->winsys;
EGLDisplay edpy; EGLDisplay edpy;
EGLConfig config; EGLConfig config;
EGLint config_count = 0;
EGLBoolean status;
EGLint attribs[9]; EGLint attribs[9];
EGLint cfg_attribs[MAX_EGL_CONFIG_ATTRIBS]; EGLint cfg_attribs[MAX_EGL_CONFIG_ATTRIBS];
GError *config_error = NULL;
const char *error_message; const char *error_message;
_COGL_RETURN_VAL_IF_FAIL (egl_display->egl_context == NULL, TRUE); _COGL_RETURN_VAL_IF_FAIL (egl_display->egl_context == NULL, TRUE);
@@ -356,14 +355,16 @@ try_create_context (CoglDisplay *display,
edpy = egl_renderer->edpy; edpy = egl_renderer->edpy;
status = eglChooseConfig (edpy, if (!egl_renderer->platform_vtable->choose_config (display,
cfg_attribs, cfg_attribs,
&config, 1, &config,
&config_count); &config_error))
if (status != EGL_TRUE || config_count == 0)
{ {
error_message = "Unable to find a usable EGL configuration"; _cogl_set_error (error, COGL_WINSYS_ERROR,
goto fail; COGL_WINSYS_ERROR_CREATE_CONTEXT,
"Couldn't choose config: %s", config_error->message);
g_error_free (config_error);
goto err;
} }
egl_display->egl_config = config; egl_display->egl_config = config;
@@ -419,6 +420,7 @@ fail:
COGL_WINSYS_ERROR_CREATE_CONTEXT, COGL_WINSYS_ERROR_CREATE_CONTEXT,
"%s", error_message); "%s", error_message);
err:
cleanup_context (display); cleanup_context (display);
return FALSE; return FALSE;

View File

@@ -1,15 +1,15 @@
AC_PREREQ(2.62) AC_PREREQ(2.62)
m4_define([mutter_major_version], [3]) m4_define([mutter_major_version], [3])
m4_define([mutter_minor_version], [27]) m4_define([mutter_minor_version], [28])
m4_define([mutter_micro_version], [1]) m4_define([mutter_micro_version], [0])
m4_define([mutter_version], m4_define([mutter_version],
[mutter_major_version.mutter_minor_version.mutter_micro_version]) [mutter_major_version.mutter_minor_version.mutter_micro_version])
m4_define([mutter_plugin_api_version], [3]) m4_define([mutter_plugin_api_version], [3])
m4_define([libmutter_api_version], [1]) m4_define([libmutter_api_version], [2])
AC_INIT([mutter], [mutter_version], AC_INIT([mutter], [mutter_version],
[http://bugzilla.gnome.org/enter_bug.cgi?product=mutter]) [http://bugzilla.gnome.org/enter_bug.cgi?product=mutter])
@@ -245,11 +245,7 @@ AC_ARG_ENABLE(remote-desktop,
enable_remote_desktop=no enable_remote_desktop=no
) )
AS_IF([test "$enable_remote_desktop" = "yes"], [ AS_IF([test "$enable_remote_desktop" = "yes"], [
MUTTER_PC_MODULES="$MUTTER_PC_MODULES libpipewire-0.1 >= 0.1.4" MUTTER_PC_MODULES="$MUTTER_PC_MODULES libpipewire-0.1 >= 0.1.8"
PKG_CHECK_EXISTS([libpipewire-0.1], [
pw_micro=`$PKG_CONFIG --modversion libpipewire-0.1 | cut -d. -f3`
AC_DEFINE_UNQUOTED([PIPEWIRE_VERSION_MICRO],[$pw_micro], [Pipewire micro version used])
])
AC_DEFINE([HAVE_REMOTE_DESKTOP],[1], [Defined if screen cast and remote desktop support is enabled]) AC_DEFINE([HAVE_REMOTE_DESKTOP],[1], [Defined if screen cast and remote desktop support is enabled])
]) ])
AM_CONDITIONAL([HAVE_REMOTE_DESKTOP],[test "$enable_remote_desktop" = "yes"]) AM_CONDITIONAL([HAVE_REMOTE_DESKTOP],[test "$enable_remote_desktop" = "yes"])
@@ -266,7 +262,22 @@ AC_SUBST(XWAYLAND_PATH)
PKG_CHECK_MODULES(MUTTER, $MUTTER_PC_MODULES) PKG_CHECK_MODULES(MUTTER, $MUTTER_PC_MODULES)
MUTTER_NATIVE_BACKEND_MODULES="libdrm libsystemd libinput >= 1.4 gudev-1.0 gbm >= 10.3" PKG_CHECK_MODULES(ELOGIND, [libelogind], [have_elogind=yes], [have_elogind=no])
if test x$have_elogind = xyes; then
logind_provider="libelogind"
fi
PKG_CHECK_MODULES(SYSTEMD, [libsystemd], [have_systemd=yes], [have_systemd=no])
if test x$have_systemd = xyes; then
logind_provider="libsystemd"
fi
AS_IF([test -z "$logind_provider"],
AC_MSG_ERROR([Could not find either systemd or elogind as logind provider])])
MUTTER_NATIVE_BACKEND_MODULES="libdrm $logind_provider libinput >= 1.4 gudev-1.0 gbm >= 10.3"
AC_ARG_ENABLE(native-backend, AC_ARG_ENABLE(native-backend,
AS_HELP_STRING([--disable-native-backend], [disable mutter native (KMS) backend]),, AS_HELP_STRING([--disable-native-backend], [disable mutter native (KMS) backend]),,
@@ -307,7 +318,7 @@ AS_IF([test "$have_wayland" = "yes"], [
AC_SUBST([WAYLAND_SCANNER]) AC_SUBST([WAYLAND_SCANNER])
AC_DEFINE([HAVE_WAYLAND],[1],[Define if you want to enable Wayland support]) AC_DEFINE([HAVE_WAYLAND],[1],[Define if you want to enable Wayland support])
PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, [wayland-protocols >= 1.10], PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, [wayland-protocols >= 1.12],
[ac_wayland_protocols_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`]) [ac_wayland_protocols_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`])
AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, $ac_wayland_protocols_pkgdatadir) AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, $ac_wayland_protocols_pkgdatadir)
]) ])

View File

@@ -20,12 +20,6 @@
<KeyListEntry name="move-to-workspace-last" <KeyListEntry name="move-to-workspace-last"
description="Move window to last workspace" /> description="Move window to last workspace" />
<KeyListEntry name="move-to-workspace-left"
description="Move window one workspace to the left" />
<KeyListEntry name="move-to-workspace-right"
description="Move window one workspace to the right" />
<KeyListEntry name="move-to-workspace-up" <KeyListEntry name="move-to-workspace-up"
description="Move window one workspace up" /> description="Move window one workspace up" />
@@ -125,12 +119,6 @@
<KeyListEntry name="switch-to-workspace-last" <KeyListEntry name="switch-to-workspace-last"
description="Switch to last workspace" /> description="Switch to last workspace" />
<KeyListEntry name="switch-to-workspace-left"
description="Move to workspace left" />
<KeyListEntry name="switch-to-workspace-right"
description="Move to workspace right" />
<KeyListEntry name="switch-to-workspace-up" <KeyListEntry name="switch-to-workspace-up"
description="Move to workspace above" /> description="Move to workspace above" />

View File

@@ -15,8 +15,6 @@
<KeyListEntry name="unmaximize" description="Restore window"/> <KeyListEntry name="unmaximize" description="Restore window"/>
<KeyListEntry name="toggle-shaded" description="Toggle shaded state"/>
<KeyListEntry name="close" description="Close window"/> <KeyListEntry name="close" description="Close window"/>
<KeyListEntry name="minimize" description="Hide window"/> <KeyListEntry name="minimize" description="Hide window"/>

View File

@@ -28,6 +28,7 @@ clutter/clutter/clutter-grid-layout.c
clutter/clutter/clutter-image.c clutter/clutter/clutter-image.c
clutter/clutter/clutter-input-device.c clutter/clutter/clutter-input-device.c
clutter/clutter/clutter-input-device-tool.c clutter/clutter/clutter-input-device-tool.c
clutter/clutter/clutter-input-method.c
clutter/clutter/clutter-interval.c clutter/clutter/clutter-interval.c
clutter/clutter/clutter-layout-manager.c clutter/clutter/clutter-layout-manager.c
clutter/clutter/clutter-layout-meta.c clutter/clutter/clutter-layout-meta.c

201
po/cs.po
View File

@@ -6,15 +6,14 @@
# Petr Tomeš <ptomes@gmail.com>, 2006. # Petr Tomeš <ptomes@gmail.com>, 2006.
# Jakub Friedl <jfriedl@suse.cz>, 2006, 2007. # Jakub Friedl <jfriedl@suse.cz>, 2006, 2007.
# Petr Kovar <pknbe@volny.cz>, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014. # Petr Kovar <pknbe@volny.cz>, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014.
# Marek Černocký <marek@manet.cz>, 2012, 2013, 2014, 2016, 2017. # Marek Černocký <marek@manet.cz>, 2012, 2013, 2014, 2016, 2017, 2018.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter\n" "Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-03-01 10:47+0000\n"
"POT-Creation-Date: 2017-11-10 18:16+0000\n" "PO-Revision-Date: 2018-03-07 19:28+0100\n"
"PO-Revision-Date: 2017-11-15 13:31+0100\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n" "Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: čeština <gnome-cs-list@gnome.org>\n" "Language-Team: čeština <gnome-cs-list@gnome.org>\n"
"Language: cs\n" "Language: cs\n"
@@ -50,130 +49,114 @@ msgid "Move window to last workspace"
msgstr "Přesunout okno na poslední pracovní plochu" msgstr "Přesunout okno na poslední pracovní plochu"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Přesunout okno o jednu pracovní plochu doleva"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Přesunout okno o jednu pracovní plochu doprava"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Přesunout okno o jednu pracovní plochu nahoru" msgstr "Přesunout okno o jednu pracovní plochu nahoru"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Přesunout okno o jednu pracovní plochu dolů" msgstr "Přesunout okno o jednu pracovní plochu dolů"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Přesunout okno o jeden monitor doleva" msgstr "Přesunout okno o jeden monitor doleva"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Přesunout okno o jeden monitor doprava" msgstr "Přesunout okno o jeden monitor doprava"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Přesunout okno o jeden monitor nahoru" msgstr "Přesunout okno o jeden monitor nahoru"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Přesunout okno o jeden monitor dolů" msgstr "Přesunout okno o jeden monitor dolů"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Přepnout do jiné aplikace" msgstr "Přepnout do jiné aplikace"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Přepnout do předchozí aplikaci" msgstr "Přepnout do předchozí aplikaci"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Přepnout do jiného okna" msgstr "Přepnout do jiného okna"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Přepnout do minulého okna" msgstr "Přepnout do minulého okna"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Přepnout do jiného okna aplikace" msgstr "Přepnout do jiného okna aplikace"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Přepnout do předchozího okna aplikace" msgstr "Přepnout do předchozího okna aplikace"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Přepnout na systémový ovládací prvek" msgstr "Přepnout na systémový ovládací prvek"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Přepnout na minulý systémový ovládací prvek" msgstr "Přepnout na minulý systémový ovládací prvek"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Přepnout do minulého okna" msgstr "Přepnout do minulého okna"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Přepnout přímo na předchozí okno" msgstr "Přepnout přímo na předchozí okno"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Přepnout do jiného okna aplikace" msgstr "Přepnout do jiného okna aplikace"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Přepnout do předchozího okna aplikace" msgstr "Přepnout do předchozího okna aplikace"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Přepnout na minulý systémový ovládací prvek" msgstr "Přepnout na minulý systémový ovládací prvek"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Přepnout přímo na předchozí systémové ovládací prvky" msgstr "Přepnout přímo na předchozí systémové ovládací prvky"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Skrýt všechna běžná okna" msgstr "Skrýt všechna běžná okna"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Přepnout na plochu 1" msgstr "Přepnout na plochu 1"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Přepnout na plochu 2" msgstr "Přepnout na plochu 2"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Přepnout na plochu 3" msgstr "Přepnout na plochu 3"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Přepnout na plochu 4" msgstr "Přepnout na plochu 4"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Přepnout na poslední plochu" msgstr "Přepnout na poslední plochu"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Přesunout na plochu vlevo"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Přesunout na plochu vpravo"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Přesunout na plochu nad" msgstr "Přesunout na plochu nad"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Přesunout na plochu pod" msgstr "Přesunout na plochu pod"
@@ -218,54 +201,50 @@ msgid "Restore window"
msgstr "Obnovit velikost okna" msgstr "Obnovit velikost okna"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Přepnout stav svinutí"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Zavřít okno" msgstr "Zavřít okno"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Skrýt okno" msgstr "Skrýt okno"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Přesunout okno" msgstr "Přesunout okno"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Změnit velikost okna" msgstr "Změnit velikost okna"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Přepnout okno na všechny/jednu pracovní plochu" msgstr "Přepnout okno na všechny/jednu pracovní plochu"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Když je okno zakryté vynést jej do popředí, jinak odsunout do pozadí" msgstr "Když je okno zakryté vynést jej do popředí, jinak odsunout do pozadí"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Vynést okno do popředí nad ostatní okna" msgstr "Vynést okno do popředí nad ostatní okna"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Odsunout okno do pozadí za ostatní okna" msgstr "Odsunout okno do pozadí za ostatní okna"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Maximalizovat okno svisle" msgstr "Maximalizovat okno svisle"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Maximalizovat okno vodorovně" msgstr "Maximalizovat okno vodorovně"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Rozdělit okno přes levou půlku obrazovky" msgstr "Rozdělit okno přes levou půlku obrazovky"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Rozdělit okno přes pravou půlku obrazovky" msgstr "Rozdělit okno přes pravou půlku obrazovky"
@@ -503,10 +482,57 @@ msgstr "Přepnout na VT 12"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Znovu povolit klávesové zkratky" msgstr "Znovu povolit klávesové zkratky"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Povolit zachytávání pomocí Xwaylandu"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"Povolit, aby bylo bráno v úvahu zachytávání kláves, o které se stará "
"aplikace X11 běžící v Xwaylandu. Aby bylo pod Waylandem zachytávání bráno v "
"úvahu, musí klient navíc buď poslat specifickou zprávu X11 ClientMessage do "
"kořenového okna, nebo být mezi aplikacemi na bílé listině v klíči „xwayland-"
"grab-access-rules“."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr ""
"Aplikace pod Xwaylandem mají povoleno se starat o zachytávání klávesnice"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"Seznam názvů prostředků nebo tříd prostředků oken X11, které buď mají nebo "
"nemají povolené se starat o zachytávání klávesnice X11 pod Xwaylandem. Název "
"nebo třída prostředku daného okna X11 se dá zjistit pomocí příkazu „xprop "
"WM_CLASS“. V názvech jsou podporované divoké znaky „*“ a „?“. Hodnoty "
"začínající „!“ jsou na černé listině, což má přednost před bílou listinou, "
"aby se daly aplikace odvolat z výchozího systémového seznamu. Do výchozího "
"systémového seznamu patří následující aplikace: "
"„@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@“. Uživatel může přerušit existující "
"zachytávání pomocí speciální klávesové zkratky definované klíčem „restore-"
"shortcuts“."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2167 #: src/backends/meta-input-settings.c:2325
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Přepínač režimu (skupina %d)" msgstr "Přepínač režimu (skupina %d)"
@@ -514,11 +540,11 @@ msgstr "Přepínač režimu (skupina %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2190 #: src/backends/meta-input-settings.c:2348
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Přepnout monitor" msgstr "Přepnout monitor"
#: src/backends/meta-input-settings.c:2192 #: src/backends/meta-input-settings.c:2350
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Zobrazit nápovědu na obrazovce" msgstr "Zobrazit nápovědu na obrazovce"
@@ -544,7 +570,7 @@ msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -559,42 +585,46 @@ msgstr "Událost zvonku"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Nelze otevřít displej X Window System „%s“\n" msgstr "Nelze otevřít displej X Window System „%s“\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Zakáže připojení ke správci sezení" msgstr "Zakáže připojení ke správci sezení"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Nahradí běžícího správce oken" msgstr "Nahradí běžícího správce oken"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Určení ID správy sezení" msgstr "Určení ID správy sezení"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "Displej X, který použije" msgstr "Displej X, který použije"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Spustí sezení z uloženého souboru" msgstr "Spustí sezení z uloženého souboru"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Provede volání X synchronně" msgstr "Provede volání X synchronně"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Spustit jako kompozitor protokolu Wayland" msgstr "Spustit jako kompozitor protokolu Wayland"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Spustit jako podkladový kompozitor" msgstr "Spustit jako podkladový kompozitor"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Spustit jako plnohodnotný server displeje, nikoliv vnořeně" msgstr "Spustit jako plnohodnotný server displeje, nikoliv vnořeně"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Spustit se serverem X11"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -668,12 +698,12 @@ msgstr "Obrazovka %d na displeji „%s“ je neplatná\n"
msgid "Mutter was compiled without support for verbose mode\n" msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter bylo přeloženo bez podpory podrobného režimu\n" msgstr "Mutter bylo přeloženo bez podpory podrobného režimu\n"
#: src/wayland/meta-wayland-tablet-pad.c:563 #: src/wayland/meta-wayland-tablet-pad.c:567
#, c-format #, c-format
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Přepínač režimu: režim %d" msgstr "Přepínač režimu: režim %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -685,3 +715,18 @@ msgstr ""
#, c-format #, c-format
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (na %s)" msgstr "%s (na %s)"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Přesunout okno o jednu pracovní plochu doleva"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Přesunout okno o jednu pracovní plochu doprava"
#~ msgid "Move to workspace left"
#~ msgstr "Přesunout na plochu vlevo"
#~ msgid "Move to workspace right"
#~ msgstr "Přesunout na plochu vpravo"
#~ msgid "Toggle shaded state"
#~ msgstr "Přepnout stav svinutí"

216
po/da.po
View File

@@ -1,5 +1,5 @@
# Danish translation of Mutter. # Danish translation of Mutter.
# Copyright (C) 2002-2009, 2012-2017. # Copyright (C) 2002-2009, 2012-2018.
# This file is distributed under the same license as the metacity package. # This file is distributed under the same license as the metacity package.
# Kjartan Maraas <kmaraas@gnome.org>, 2002 # Kjartan Maraas <kmaraas@gnome.org>, 2002
# Keld simonsen <keld@dkuug.dk>, 2002 # Keld simonsen <keld@dkuug.dk>, 2002
@@ -8,7 +8,7 @@
# Lasse Bang Mikkelsen <lbm@fatalerror.dk>, 2006. # Lasse Bang Mikkelsen <lbm@fatalerror.dk>, 2006.
# Kenneth Nielsen <k.nielsen81@gmail.com>, 2008. # Kenneth Nielsen <k.nielsen81@gmail.com>, 2008.
# Joe Hansen <joedalton2@yahoo.dk>, 2011. # Joe Hansen <joedalton2@yahoo.dk>, 2011.
# Ask Hjorth Larsen <asklarsen@gmail.com>, 2007, 09, 10, 12, 13, 14, 15, 16, 17. # Ask Hjorth Larsen <asklarsen@gmail.com>, 2007, 09, 10, 12, 13, 14, 15, 16, 17, 18.
# #
# Ordliste: # Ordliste:
# #
@@ -19,10 +19,9 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter\n" "Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-06 04:14+0000\n"
"POT-Creation-Date: 2017-08-29 16:09+0000\n" "PO-Revision-Date: 2018-03-07 22:29+0100\n"
"PO-Revision-Date: 2017-09-03 20:29+0200\n"
"Last-Translator: Ask Hjorth Larsen <asklarsen@gmail.com>\n" "Last-Translator: Ask Hjorth Larsen <asklarsen@gmail.com>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n" "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n" "Language: da\n"
@@ -55,134 +54,118 @@ msgid "Move window to last workspace"
msgstr "Flyt vindue til sidste arbejdsområde" msgstr "Flyt vindue til sidste arbejdsområde"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Flyt vindue et arbejdsområde til venstre"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Flyt vindue et arbejdsområde til højre"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Flyt vindue et arbejdsområde op" msgstr "Flyt vindue et arbejdsområde op"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Flyt vindue et arbejdsområde ned" msgstr "Flyt vindue et arbejdsområde ned"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Flyt vindue en skærm til venstre" msgstr "Flyt vindue en skærm til venstre"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Flyt vindue en skærm til højre" msgstr "Flyt vindue en skærm til højre"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Flyt vindue en skærm op" msgstr "Flyt vindue en skærm op"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Flyt vindue en skærm ned" msgstr "Flyt vindue en skærm ned"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Skift mellem programmer" msgstr "Skift mellem programmer"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Skift til forrige program" msgstr "Skift til forrige program"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Skift mellem vinduer" msgstr "Skift mellem vinduer"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Skift til forrige vindue" msgstr "Skift til forrige vindue"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Skift mellem vinduer i et program" msgstr "Skift mellem vinduer i et program"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Skift til forrige vindue af et program" msgstr "Skift til forrige vindue af et program"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Skift mellem systemkontroller" msgstr "Skift mellem systemkontroller"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Skift til forrige systemkontrol" msgstr "Skift til forrige systemkontrol"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Skift direkte mellem vinduer" msgstr "Skift direkte mellem vinduer"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Skift direkte til forrige vindue" msgstr "Skift direkte til forrige vindue"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Skift direkte mellem vinduer i et program" msgstr "Skift direkte mellem vinduer i et program"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Skift direkte til forrige vindue af et program" msgstr "Skift direkte til forrige vindue af et program"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Skift direkte mellem systemkontroller" msgstr "Skift direkte mellem systemkontroller"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Skift direkte til forrige systemkontrol" msgstr "Skift direkte til forrige systemkontrol"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Skjul alle normale vinduer" msgstr "Skjul alle normale vinduer"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Skift til arbejdsområde 1" msgstr "Skift til arbejdsområde 1"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Skift til arbejdsområde 2" msgstr "Skift til arbejdsområde 2"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Skift til arbejdsområde 3" msgstr "Skift til arbejdsområde 3"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Skift til arbejdsområde 4" msgstr "Skift til arbejdsområde 4"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Skift til sidste arbejdsområde" msgstr "Skift til sidste arbejdsområde"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Flyt til arbejdsområdet til venstre"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Flyt til arbejdsområdet til højre"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Flyt til arbejdsområdet ovenover" msgstr "Flyt til arbejdsområdet ovenover"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Flyt til arbejdsområdet nedenunder" msgstr "Flyt til arbejdsområdet nedenunder"
#: data/50-mutter-system.xml:6 #: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
msgid "System" msgid "System"
msgstr "System" msgstr "System"
@@ -194,6 +177,10 @@ msgstr "Vis “kør kommando”-prompten"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Vis aktivitetsoversigten" msgstr "Vis aktivitetsoversigten"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Gendan tastaturgenvejene"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Vinduer" msgstr "Vinduer"
@@ -219,54 +206,50 @@ msgid "Restore window"
msgstr "Gendan vindue" msgstr "Gendan vindue"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Slå vinduesoprulning til/fra"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Luk vindue" msgstr "Luk vindue"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Skjul vindue" msgstr "Skjul vindue"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Flyt vindue" msgstr "Flyt vindue"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Ændr vinduesstørrelse" msgstr "Ændr vinduesstørrelse"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Slå visning af vindue på alle arbejdsområder til/fra" msgstr "Slå visning af vindue på alle arbejdsområder til/fra"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Hæv vindue hvis det er dækket, ellers sænk det" msgstr "Hæv vindue hvis det er dækket, ellers sænk det"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Hæv vindue over andre vinduer" msgstr "Hæv vindue over andre vinduer"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Sænk vindue under andre vinduer" msgstr "Sænk vindue under andre vinduer"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Maksimér vindue lodret" msgstr "Maksimér vindue lodret"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Maksimér vindue vandret" msgstr "Maksimér vindue vandret"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Delt visning venstre" msgstr "Delt visning venstre"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Delt visning højre" msgstr "Delt visning højre"
@@ -424,7 +407,18 @@ msgid ""
"enables remote desktop support. To support remote desktop with screen " "enables remote desktop support. To support remote desktop with screen "
"sharing, “screen-cast” must also be enabled. • “screen-cast” — enables " "sharing, “screen-cast” must also be enabled. • “screen-cast” — enables "
"screen cast support." "screen cast support."
msgstr "For at slå eksperimentelle funktioner til, skal du tilføje funktionsnøgleordet til listen. Om funktionen kræver genstart af kompositoren afhænger af den givne funktion. Der er ingen garanti for at eksperimentelle funktion forbliver tilgængelige eller mulige at konfigurere. Forvent ikke at noget i denne indstilling nødvendigvis fungerer i fremtiden. Mulige nøgleord i øjeblikket: • “scale-monitor-framebuffer” — får mutter til som standard at arrangere logiske skærme i et logisk pixelkoordinatrum, mens skærmes framebuffere skaleres frem for vinduesindholdet for at håndtere HiDPI-skærme. Fjernskrivebord med skærmdeling understøttes hvis “screen-cast” også er aktiveret. • “screen-cast” — aktiverer understøttelse af skærmoptagelse." msgstr ""
"For at slå eksperimentelle funktioner til, skal du tilføje "
"funktionsnøgleordet til listen. Om funktionen kræver genstart af "
"kompositoren afhænger af den givne funktion. Der er ingen garanti for at "
"eksperimentelle funktion forbliver tilgængelige eller mulige at konfigurere. "
"Forvent ikke at noget i denne indstilling nødvendigvis fungerer i fremtiden. "
"Mulige nøgleord i øjeblikket: • “scale-monitor-framebuffer” — får mutter til "
"som standard at arrangere logiske skærme i et logisk pixelkoordinatrum, mens "
"skærmes framebuffere skaleres frem for vinduesindholdet for at håndtere "
"HiDPI-skærme. Fjernskrivebord med skærmdeling understøttes hvis “screen-"
"cast” også er aktiveret. • “screen-cast” — aktiverer understøttelse af "
"skærmoptagelse."
#: data/org.gnome.mutter.gschema.xml.in:145 #: data/org.gnome.mutter.gschema.xml.in:145
msgid "Select window from tab popup" msgid "Select window from tab popup"
@@ -495,10 +489,41 @@ msgstr "Skift til VT 12"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Genaktivér genveje" msgstr "Genaktivér genveje"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Tillad indfangelse med Xwayland"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr "Tillad tastaturindfangelse af X11-programmer, som kører i Xwayland. For at en X11-tastaturindfangelse behandles i Wayland, skal klienten også enten sende en specifik X11-ClientMessage til rodvinduet eller være blandt de godkendte programmer i nøglen “xwayland-grab-access-rules”."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "Xwayland-programmer, som må indfange tastatur"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr "Anfør navne på ressourcer eller ressourceklasser for X11-vinduer som tillades eller ikke tillades at udføre X11-tastaturindfangelse under Xwayland. Ressourcenavnet eller ressourceklassen for et givent X11-vindue kan findes med kommandoen “xprop WM_CLASS”. Værdierne understøtter jokertegnene “*” og “?”. Værdier som begynder med “!” forbydes, hvilket har præcedens over godkendelse, og dette tillader at fjerne programmer som ellers findes i systemets standardliste. Denne liste inkluderer følgende programmer: “@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@”. Brugere kan afbryde en eksisterende indfangelse ved hjælp af den særlige tastaturgenvej defineret ved nøglen “restore-shortcuts”."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2151 #: src/backends/meta-input-settings.c:2260
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Tilstandsskift (Gruppe %d)" msgstr "Tilstandsskift (Gruppe %d)"
@@ -506,37 +531,37 @@ msgstr "Tilstandsskift (Gruppe %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2174 #: src/backends/meta-input-settings.c:2283
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Skift skærm" msgstr "Skift skærm"
#: src/backends/meta-input-settings.c:2176 #: src/backends/meta-input-settings.c:2285
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Vis integreret hjælp" msgstr "Vis integreret hjælp"
#: src/backends/meta-monitor-manager.c:903 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Indbygget terminal" msgstr "Indbygget terminal"
#: src/backends/meta-monitor-manager.c:926 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Ukendt" msgstr "Ukendt"
#: src/backends/meta-monitor-manager.c:928 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Ukendt terminal" msgstr "Ukendt terminal"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:936 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -552,42 +577,46 @@ msgstr "Bip-hændelse"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Kunne ikke åbne X Window System-terminalen “%s”\n" msgstr "Kunne ikke åbne X Window System-terminalen “%s”\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Deaktivér forbindelse til sessionshåndtering" msgstr "Deaktivér forbindelse til sessionshåndtering"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Erstat den kørende vindueshåndtering" msgstr "Erstat den kørende vindueshåndtering"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Angiv sessionhåndterings-id" msgstr "Angiv sessionhåndterings-id"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "X-terminal som bruges" msgstr "X-terminal som bruges"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Initialisér session fra gemt fil" msgstr "Initialisér session fra gemt fil"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Gør kald til X synkrone" msgstr "Gør kald til X synkrone"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Kør som en wayland-kompositor" msgstr "Kør som en wayland-kompositor"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Kør som en indlejret kompositor" msgstr "Kør som en indlejret kompositor"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Kør som fuld terminalserver, frem for indlejret" msgstr "Kør som fuld terminalserver, frem for indlejret"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Kør med X11-motor"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -642,7 +671,7 @@ msgstr "Mutter-udvidelsesmodul der skal bruges"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Arbejdsområde %d" msgstr "Arbejdsområde %d"
#: src/core/screen.c:580 #: src/core/screen.c:583
#, c-format #, c-format
msgid "" msgid ""
"Display “%s” already has a window manager; try using the --replace option to " "Display “%s” already has a window manager; try using the --replace option to "
@@ -651,7 +680,7 @@ msgstr ""
"Terminalen “%s” har allerede en vindueshåndtering; prøv tilvalget --replace " "Terminalen “%s” har allerede en vindueshåndtering; prøv tilvalget --replace "
"for at erstatte den aktuelle vindueshåndtering." "for at erstatte den aktuelle vindueshåndtering."
#: src/core/screen.c:665 #: src/core/screen.c:668
#, c-format #, c-format
msgid "Screen %d on display “%s” is invalid\n" msgid "Screen %d on display “%s” is invalid\n"
msgstr "Skærm %d på terminal “%s” er ugyldig\n" msgstr "Skærm %d på terminal “%s” er ugyldig\n"
@@ -665,7 +694,7 @@ msgstr "Mutter blev kompileret uden understøttelse for uddybende tilstand\n"
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Tilstandsskift: Tilstand %d" msgstr "Tilstandsskift: Tilstand %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -679,6 +708,21 @@ msgstr ""
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (på %s)" msgstr "%s (på %s)"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Flyt vindue et arbejdsområde til venstre"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Flyt vindue et arbejdsområde til højre"
#~ msgid "Move to workspace left"
#~ msgstr "Flyt til arbejdsområdet til venstre"
#~ msgid "Move to workspace right"
#~ msgstr "Flyt til arbejdsområdet til højre"
#~ msgid "Toggle shaded state"
#~ msgstr "Slå vinduesoprulning til/fra"
#~ msgid "Failed to scan themes directory: %s\n" #~ msgid "Failed to scan themes directory: %s\n"
#~ msgstr "Kunne ikke skanne temamappe: %s\n" #~ msgstr "Kunne ikke skanne temamappe: %s\n"

205
po/de.po
View File

@@ -3,26 +3,26 @@
# Matthias Warkus <mawarkus@gnome.org>, 2002. # Matthias Warkus <mawarkus@gnome.org>, 2002.
# Christian Neumair <chris@gnome-de.org>, 2002-2004. # Christian Neumair <chris@gnome-de.org>, 2002-2004.
# Hendrik Richter <hendrikr@gnome.org>, 2005, 2006, 2007, 2008. # Hendrik Richter <hendrikr@gnome.org>, 2005, 2006, 2007, 2008.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2010-2013, 2016-2017. # Mario Blättermann <mario.blaettermann@gmail.com>, 2010-2013, 2016-2018.
# Christian Kirbach <Christian.Kirbach@googlemail.com>, 2009, 2011, 2012. # Christian Kirbach <Christian.Kirbach@googlemail.com>, 2009, 2011, 2012.
# Wolfgang Stöggl <c72578@yahoo.de> 2011, 2017. # Wolfgang Stöggl <c72578@yahoo.de> 2011, 2017.
# Tobias Endrigkeit <tobiasendrigkeit@googlemail.com>, 2012. # Tobias Endrigkeit <tobiasendrigkeit@googlemail.com>, 2012.
# Tim Sabsch <timæsabsch.com>, 2018.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter master\n" "Project-Id-Version: mutter master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-26 07:59+0000\n"
"POT-Creation-Date: 2017-11-10 18:18+0000\n" "PO-Revision-Date: 2018-02-26 21:26+0100\n"
"PO-Revision-Date: 2017-11-11 17:57+0100\n" "Last-Translator: Tim Sabsch <tim@sabsch.com>\n"
"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n" "Language-Team: Deutsch <gnome-de@gnome.org>\n"
"Language: de\n" "Language: de\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.4\n" "X-Generator: Poedit 2.0.6\n"
#: data/50-mutter-navigation.xml:6 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
@@ -49,130 +49,114 @@ msgid "Move window to last workspace"
msgstr "Fenster auf letzte Arbeitsfläche verschieben" msgstr "Fenster auf letzte Arbeitsfläche verschieben"
#: data/50-mutter-navigation.xml:24 #: 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" msgid "Move window one workspace up"
msgstr "Fenster eine Arbeitsfläche nach oben verschieben" msgstr "Fenster eine Arbeitsfläche nach oben verschieben"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Fenster eine Arbeitsfläche nach unten verschieben" msgstr "Fenster eine Arbeitsfläche nach unten verschieben"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Fenster einen Bildschirm nach links verschieben" msgstr "Fenster einen Bildschirm nach links verschieben"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Fenster einen Bildschirm nach rechts verschieben" msgstr "Fenster einen Bildschirm nach rechts verschieben"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Fenster einen Bildschirm nach oben verschieben" msgstr "Fenster einen Bildschirm nach oben verschieben"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Fenster einen Bildschirm nach unten verschieben" msgstr "Fenster einen Bildschirm nach unten verschieben"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Anwendungen wechseln" msgstr "Anwendungen wechseln"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Zur vorherigen Anwendung wechseln" msgstr "Zur vorherigen Anwendung wechseln"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Fenster wechseln" msgstr "Fenster wechseln"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Zum vorherigen Fenster wechseln" msgstr "Zum vorherigen Fenster wechseln"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Zwischen den Fenstern einer Anwendung wechseln" msgstr "Zwischen den Fenstern einer Anwendung wechseln"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Zum vorherigen Fenster einer Anwendung wechseln" msgstr "Zum vorherigen Fenster einer Anwendung wechseln"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Systemsteuerungen umschalten" msgstr "Systemsteuerungen umschalten"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Zur vorherigen Systemsteuerungen wechseln" msgstr "Zur vorherigen Systemsteuerungen wechseln"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Fenster sofort wechseln" msgstr "Fenster sofort wechseln"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Direkt zum vorherigen Fenster wechseln" msgstr "Direkt zum vorherigen Fenster wechseln"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Sofort zwischen den Fenstern einer Anwendung wechseln" msgstr "Sofort zwischen den Fenstern einer Anwendung wechseln"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Direkt zum vorherigen Fenster einer Anwendung wechseln" msgstr "Direkt zum vorherigen Fenster einer Anwendung wechseln"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Systemsteuerungen sofort umschalten" msgstr "Systemsteuerungen sofort umschalten"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Direkt zur vorherigen Systemsteuerungen wechseln" msgstr "Direkt zur vorherigen Systemsteuerungen wechseln"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Alle normalen Fenster verbergen" msgstr "Alle normalen Fenster verbergen"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Zur Arbeitsfläche 1 wechseln" msgstr "Zur Arbeitsfläche 1 wechseln"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Zur Arbeitsfläche 2 wechseln" msgstr "Zur Arbeitsfläche 2 wechseln"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Zur Arbeitsfläche 3 wechseln" msgstr "Zur Arbeitsfläche 3 wechseln"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Zur Arbeitsfläche 4 wechseln" msgstr "Zur Arbeitsfläche 4 wechseln"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Zur letzten Arbeitsfläche wechseln" msgstr "Zur letzten Arbeitsfläche wechseln"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
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" msgid "Move to workspace above"
msgstr "Auf Arbeitsfläche darüber verschieben" msgstr "Auf Arbeitsfläche darüber verschieben"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Auf Arbeitsfläche darunter verschieben" msgstr "Auf Arbeitsfläche darunter verschieben"
@@ -217,55 +201,51 @@ msgid "Restore window"
msgstr "Fenstergröße wiederherstellen" msgstr "Fenstergröße wiederherstellen"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Fenster ein-/ausrollen"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Fenster schließen" msgstr "Fenster schließen"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Fenster verbergen" msgstr "Fenster verbergen"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Fenster verschieben" msgstr "Fenster verschieben"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Fenstergröße ändern" msgstr "Fenstergröße ändern"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "" msgstr ""
"Festlegen, ob das Fenster auf allen oder nur einer Arbeitsfläche sichtbar ist" "Festlegen, ob das Fenster auf allen oder nur einer Arbeitsfläche sichtbar ist"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Fenster anheben, falls es verdeckt ist, andernfalls absenken" msgstr "Fenster anheben, falls es verdeckt ist, andernfalls absenken"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Fenster vor die anderen Fenster anheben" msgstr "Fenster vor die anderen Fenster anheben"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Fenster hinter die anderen Fenster absenken" msgstr "Fenster hinter die anderen Fenster absenken"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Fenster vertikal maximieren" msgstr "Fenster vertikal maximieren"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Fenster horizontal maximieren" msgstr "Fenster horizontal maximieren"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Ansicht links teilen" msgstr "Ansicht links teilen"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Ansicht rechts teilen" msgstr "Ansicht rechts teilen"
@@ -323,7 +303,7 @@ msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:40 #: data/org.gnome.mutter.gschema.xml.in:40
msgid "Workspaces are managed dynamically" msgid "Workspaces are managed dynamically"
msgstr "Arbeitsflächen sollen dynamisch verwaltet werden " msgstr "Arbeitsflächen sollen dynamisch verwaltet werden"
#: data/org.gnome.mutter.gschema.xml.in:41 #: data/org.gnome.mutter.gschema.xml.in:41
msgid "" msgid ""
@@ -409,7 +389,7 @@ msgid ""
"screen of the monitor." "screen of the monitor."
msgstr "" msgstr ""
"Falls wahr, so werden neue Fenster immer in der Mitte des aktiven " "Falls wahr, so werden neue Fenster immer in der Mitte des aktiven "
"Bildschirms platziert" "Bildschirms platziert."
#: data/org.gnome.mutter.gschema.xml.in:107 #: data/org.gnome.mutter.gschema.xml.in:107
msgid "Enable experimental features" msgid "Enable experimental features"
@@ -513,10 +493,59 @@ msgstr "Zum virtuellen Terminal 12 wechseln"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Tastenkombinationen erneut aktivieren" msgstr "Tastenkombinationen erneut aktivieren"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Tastatur-Kontrollübernahmen in Xwayland erlauben"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"Erlauben, dass in Xwayland laufende X11-Anwendungen Kontrolle über die "
"Tastatur übernehmen dürfen. Damit eine X11-Kontrollübernahme unter Wayland "
"durchgeführt werden kann, muss der Client auch entweder eine spezifische X11-"
"ClientMessage an das Root-Fenster senden oder in den als »whitelisted« im "
"Schlüssel »xwayland-grab-access-rules« aufgelisteten Anwendungen enthalten "
"sein."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "Xwayland-Anwendungen mit Erlaubnis zur Kontrollübernahme der Tastatur"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"Listet die Ressourcennamen oder -klassen von X11-Fenstern auf, die unter "
"Xwayland X11-Tastatur-Kontrollübernahmen durchführen dürfen. Ressourcenname "
"oder -klasse eines bestimmten X11-Fensters kann mit dem Befehl »xprop "
"WM_CLASS« ermittelt werden. Dabei werden »*« als Platzhalter und »?« als "
"Joker in den Wertangaben unterstützt. Mit »!« beginnende Werte gelten als "
"»blacklisted« und werden gegenüber den als »whitelisted« markierten Werten "
"bevorzugt, um in der Standardliste des Systems aufgeführte Anwendungen außer "
"Kraft zu setzen. Die Standardliste des Systems enthält die folgenden "
"Anwendungen: »@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@« Benutzer können eine "
"existierende Kontrollübernahme unterbrechen, indem sie das spezifische "
"Tastenkürzel verwenden, wie es im Schlüssel »restore-shortcuts« angegeben "
"ist."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2167 #: src/backends/meta-input-settings.c:2325
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Moduswechsel (Gruppe %d)" msgstr "Moduswechsel (Gruppe %d)"
@@ -524,37 +553,37 @@ msgstr "Moduswechsel (Gruppe %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2190 #: src/backends/meta-input-settings.c:2348
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Bildschirm wechseln" msgstr "Bildschirm wechseln"
#: src/backends/meta-input-settings.c:2192 #: src/backends/meta-input-settings.c:2350
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Bildschirmhilfe anzeigen" msgstr "Bildschirmhilfe anzeigen"
#: src/backends/meta-monitor-manager.c:908 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Eingebaute Anzeige" msgstr "Eingebaute Anzeige"
#: src/backends/meta-monitor-manager.c:931 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Unbekannt" msgstr "Unbekannt"
#: src/backends/meta-monitor-manager.c:933 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Unbekannte Anzeige" msgstr "Unbekannte Anzeige"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:941 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -571,42 +600,46 @@ msgstr "Klangereignis"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "X-Window-Systemanzeige »%s« konnte nicht geöffnet werden\n" msgstr "X-Window-Systemanzeige »%s« konnte nicht geöffnet werden\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Verbindung zur Sitzungsverwaltung deaktivieren" msgstr "Verbindung zur Sitzungsverwaltung deaktivieren"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Den aktuellen Fensterverwalter ersetzen" msgstr "Den aktuellen Fensterverwalter ersetzen"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Kennung der Sitzungsverwaltung angeben" msgstr "Kennung der Sitzungsverwaltung angeben"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "Zu verwendende X-Anzeige" msgstr "Zu verwendende X-Anzeige"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Sitzung anhand gespeicherter Datei starten" msgstr "Sitzung anhand gespeicherter Datei starten"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "X-Aufrufe abgleichen" msgstr "X-Aufrufe abgleichen"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Als Wayland-Compositor ausführen" msgstr "Als Wayland-Compositor ausführen"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Als eingebetteten Compositor ausführen" msgstr "Als eingebetteten Compositor ausführen"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Als vollwertigen Display-Server verwenden (nicht eingebettet)" msgstr "Als vollwertigen Display-Server verwenden (nicht eingebettet)"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Mit X11-Backend ausführen"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -682,12 +715,12 @@ msgstr "Bildschirm %d auf Anzeige »%s« ist ungültig\n"
msgid "Mutter was compiled without support for verbose mode\n" msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter wurde ohne Unterstützung für den redseligen Modus kompiliert\n" msgstr "Mutter wurde ohne Unterstützung für den redseligen Modus kompiliert\n"
#: src/wayland/meta-wayland-tablet-pad.c:563 #: src/wayland/meta-wayland-tablet-pad.c:567
#, c-format #, c-format
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Moduswechsel: Modus %d" msgstr "Moduswechsel: Modus %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."

518
po/eo.po
View File

@@ -2,16 +2,16 @@
# Copyright (C) 2011 Free Software Foundation, Inc. # Copyright (C) 2011 Free Software Foundation, Inc.
# This file is distributed under the same license as the mutter package. # This file is distributed under the same license as the mutter package.
# Michael MORONI < >, 2011. # Michael MORONI < >, 2011.
# Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>, 2011, 2012, 2015. # Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>, 2011, 2012, 2015, 2018.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter\n" "Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mutter" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=mutter"
"&keywords=I18N+L10N&component=general\n" "&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-02-14 11:06+0000\n" "POT-Creation-Date: 2017-12-18 16:24+0000\n"
"PO-Revision-Date: 2015-02-14 22:34+0200\n" "PO-Revision-Date: 2018-01-22 20:12+0200\n"
"Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n" "Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
"Language-Team: Esperanto <gnome-l10n-eo@lists.launchpad.net>\n" "Language-Team: Esperanto <gnome-eo-list@gnome.org>\n"
"Language: eo\n" "Language: eo\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -20,553 +20,675 @@ msgstr ""
"X-Generator: Virtaal 0.7.1\n" "X-Generator: Virtaal 0.7.1\n"
"X-Project-Style: gnome\n" "X-Project-Style: gnome\n"
#: ../data/50-mutter-navigation.xml.in.h:1 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
msgstr "Navigado" msgstr "Navigado"
#: ../data/50-mutter-navigation.xml.in.h:2 #: data/50-mutter-navigation.xml:9
msgid "Move window to workspace 1" msgid "Move window to workspace 1"
msgstr "Movi la fenestron al laborspaco 1" msgstr "Movi la fenestron al laborspaco 1"
#: ../data/50-mutter-navigation.xml.in.h:3 #: data/50-mutter-navigation.xml:12
msgid "Move window to workspace 2" msgid "Move window to workspace 2"
msgstr "Movi la fenestron al laborspaco 2" msgstr "Movi la fenestron al laborspaco 2"
#: ../data/50-mutter-navigation.xml.in.h:4 #: data/50-mutter-navigation.xml:15
msgid "Move window to workspace 3" msgid "Move window to workspace 3"
msgstr "Movi la fenestron al laborspaco 3" msgstr "Movi la fenestron al laborspaco 3"
#: ../data/50-mutter-navigation.xml.in.h:5 #: data/50-mutter-navigation.xml:18
msgid "Move window to workspace 4" msgid "Move window to workspace 4"
msgstr "Movi la fenestron al laborspaco 4" msgstr "Movi la fenestron al laborspaco 4"
#: ../data/50-mutter-navigation.xml.in.h:6 #: data/50-mutter-navigation.xml:21
msgid "Move window to last workspace" msgid "Move window to last workspace"
msgstr "Movi la fenestron al lasta laborspaco" msgstr "Movi la fenestron al lasta laborspaco"
#: ../data/50-mutter-navigation.xml.in.h:7 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left" msgid "Move window one workspace to the left"
msgstr "Movi la fenestron al la maldekstra laborspaco" msgstr "Movi la fenestron al la maldekstra laborspaco"
#: ../data/50-mutter-navigation.xml.in.h:8 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right" msgid "Move window one workspace to the right"
msgstr "Movi la fenestron al la dekstra laborspaco" msgstr "Movi la fenestron al la dekstra laborspaco"
#: ../data/50-mutter-navigation.xml.in.h:9 #: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Movi la fenestron al la supra laborspaco" msgstr "Movi la fenestron al la supra laborspaco"
#: ../data/50-mutter-navigation.xml.in.h:10 #: data/50-mutter-navigation.xml:33
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Movi la fenestron al la suba laborspaco" msgstr "Movi la fenestron al la suba laborspaco"
#: ../data/50-mutter-navigation.xml.in.h:11 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Movi la fenestron al la maldekstra ekrano" msgstr "Movi la fenestron al la maldekstra ekrano"
#: ../data/50-mutter-navigation.xml.in.h:12 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Movi la fenestron al la dekstra ekrano" msgstr "Movi la fenestron al la dekstra ekrano"
#: ../data/50-mutter-navigation.xml.in.h:13 #: data/50-mutter-navigation.xml:42
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Movi la fenestron al la supra ekrano" msgstr "Movi la fenestron al la supra ekrano"
#: ../data/50-mutter-navigation.xml.in.h:14 #: data/50-mutter-navigation.xml:45
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Movi la fenestron al la suba ekrano" msgstr "Movi la fenestron al la suba ekrano"
#: ../data/50-mutter-navigation.xml.in.h:15 #: data/50-mutter-navigation.xml:49
msgid "Switch applications" msgid "Switch applications"
msgstr "Ŝanĝi aplikaĵojn" msgstr "Ŝanĝi aplikaĵojn"
#: ../data/50-mutter-navigation.xml.in.h:16 #: data/50-mutter-navigation.xml:54
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Ŝalti al antaŭa aplikaĵo" msgstr "Ŝalti al antaŭa aplikaĵo"
#: ../data/50-mutter-navigation.xml.in.h:17 #: data/50-mutter-navigation.xml:58
msgid "Switch windows" msgid "Switch windows"
msgstr "Ŝanĝi fenestrojn" msgstr "Ŝanĝi fenestrojn"
#: ../data/50-mutter-navigation.xml.in.h:18 #: data/50-mutter-navigation.xml:63
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Ŝalti al antaŭa fenestro" msgstr "Ŝalti al antaŭa fenestro"
#: ../data/50-mutter-navigation.xml.in.h:19 #: data/50-mutter-navigation.xml:67
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Ŝanĝi fenestrojn de aplikaĵo" msgstr "Ŝanĝi fenestrojn de aplikaĵo"
#: ../data/50-mutter-navigation.xml.in.h:20 #: data/50-mutter-navigation.xml:72
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Ŝalti al antaŭa fenestro de aplikaĵo" msgstr "Ŝalti al antaŭa fenestro de aplikaĵo"
#: ../data/50-mutter-navigation.xml.in.h:21 #: data/50-mutter-navigation.xml:76
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Ŝanĝi sistem-kontrolojn" msgstr "Ŝanĝi sistem-kontrolojn"
#: ../data/50-mutter-navigation.xml.in.h:22 #: data/50-mutter-navigation.xml:81
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Ŝalti al antaŭa sistem-kontrolo" msgstr "Ŝalti al antaŭa sistem-kontrolo"
#: ../data/50-mutter-navigation.xml.in.h:23 #: data/50-mutter-navigation.xml:85
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Ŝanĝi rekte fenestrojn" msgstr "Ŝanĝi rekte fenestrojn"
#: ../data/50-mutter-navigation.xml.in.h:24 #: data/50-mutter-navigation.xml:90
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Ŝalti rekte al antaŭa fenestro" msgstr "Ŝalti rekte al antaŭa fenestro"
#: ../data/50-mutter-navigation.xml.in.h:25 #: data/50-mutter-navigation.xml:94
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Ŝanĝi rekte fenestrojn de aplikaĵo" msgstr "Ŝanĝi rekte fenestrojn de aplikaĵo"
#: ../data/50-mutter-navigation.xml.in.h:26 #: data/50-mutter-navigation.xml:99
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Ŝalti rekte al antaŭa fenestro de aplikaĵo" msgstr "Ŝalti rekte al antaŭa fenestro de aplikaĵo"
#: ../data/50-mutter-navigation.xml.in.h:27 #: data/50-mutter-navigation.xml:103
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Ŝalti rekte sistem-kontrolojn" msgstr "Ŝalti rekte sistem-kontrolojn"
#: ../data/50-mutter-navigation.xml.in.h:28 #: data/50-mutter-navigation.xml:108
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Ŝalti rekte al antaŭa sistem-kontrolo" msgstr "Ŝalti rekte al antaŭa sistem-kontrolo"
#: ../data/50-mutter-navigation.xml.in.h:29 #: data/50-mutter-navigation.xml:111
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Kaŝi ĉiujn normalajn fenestrojn" msgstr "Kaŝi ĉiujn normalajn fenestrojn"
#: ../data/50-mutter-navigation.xml.in.h:30 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Ŝalti al laborspaco 1" msgstr "Ŝalti al laborspaco 1"
#: ../data/50-mutter-navigation.xml.in.h:31 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Ŝalti al laborspaco 2" msgstr "Ŝalti al laborspaco 2"
#: ../data/50-mutter-navigation.xml.in.h:32 #: data/50-mutter-navigation.xml:120
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Ŝalti al laborspaco 3" msgstr "Ŝalti al laborspaco 3"
#: ../data/50-mutter-navigation.xml.in.h:33 #: data/50-mutter-navigation.xml:123
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Ŝalti al laborspaco 4" msgstr "Ŝalti al laborspaco 4"
#: ../data/50-mutter-navigation.xml.in.h:34 #: data/50-mutter-navigation.xml:126
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Ŝalti al lasta laborspaco" msgstr "Ŝalti al lasta laborspaco"
#: ../data/50-mutter-navigation.xml.in.h:35 #: data/50-mutter-navigation.xml:129
msgid "Move to workspace left" msgid "Move to workspace left"
msgstr "Movi al la maldekstra laborspaco" msgstr "Movi al la maldekstra laborspaco"
#: ../data/50-mutter-navigation.xml.in.h:36 #: data/50-mutter-navigation.xml:132
msgid "Move to workspace right" msgid "Move to workspace right"
msgstr "Movi al la dekstra laborspaco" msgstr "Movi al la dekstra laborspaco"
#: ../data/50-mutter-navigation.xml.in.h:37 #: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Movi al la supra laborspaco" msgstr "Movi al la supra laborspaco"
#: ../data/50-mutter-navigation.xml.in.h:38 #: data/50-mutter-navigation.xml:138
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Movi al la malsupra laborspaco" msgstr "Movi al la malsupra laborspaco"
#: ../data/50-mutter-system.xml.in.h:1 #: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
msgid "System" msgid "System"
msgstr "Sistemo" msgstr "Sistemo"
#: ../data/50-mutter-system.xml.in.h:2 #: data/50-mutter-system.xml:8
msgid "Show the run command prompt" msgid "Show the run command prompt"
msgstr "" msgstr ""
#: ../data/50-mutter-system.xml.in.h:3 #: data/50-mutter-system.xml:10
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "" msgstr ""
#: ../data/50-mutter-windows.xml.in.h:1 #: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr ""
#: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Fenestroj" msgstr "Fenestroj"
#: ../data/50-mutter-windows.xml.in.h:2 #: data/50-mutter-windows.xml:8
msgid "Activate the window menu" msgid "Activate the window menu"
msgstr "Aktivigi la fenestromenuon" msgstr "Aktivigi la fenestromenuon"
#: ../data/50-mutter-windows.xml.in.h:3 #: data/50-mutter-windows.xml:10
msgid "Toggle fullscreen mode" msgid "Toggle fullscreen mode"
msgstr "Baskuligi tutekranan reĝimon" msgstr "Baskuligi tutekranan reĝimon"
#: ../data/50-mutter-windows.xml.in.h:4 #: data/50-mutter-windows.xml:12
msgid "Toggle maximization state" msgid "Toggle maximization state"
msgstr "" msgstr ""
#: ../data/50-mutter-windows.xml.in.h:5 #: data/50-mutter-windows.xml:14
msgid "Maximize window" msgid "Maximize window"
msgstr "Maksimumigi la fenestron" msgstr "Maksimumigi la fenestron"
#: ../data/50-mutter-windows.xml.in.h:6 #: data/50-mutter-windows.xml:16
msgid "Restore window" msgid "Restore window"
msgstr "Restaŭri la fenestron" msgstr "Restaŭri la fenestron"
#: ../data/50-mutter-windows.xml.in.h:7 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state" msgid "Toggle shaded state"
msgstr "" msgstr ""
#: ../data/50-mutter-windows.xml.in.h:8 #: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Fermi la fenestron" msgstr "Fermi la fenestron"
#: ../data/50-mutter-windows.xml.in.h:9 #: data/50-mutter-windows.xml:22
msgid "Hide window" msgid "Hide window"
msgstr "Kaŝi la fenestron" msgstr "Kaŝi la fenestron"
#: ../data/50-mutter-windows.xml.in.h:10 #: data/50-mutter-windows.xml:24
msgid "Move window" msgid "Move window"
msgstr "Movi la fenestron" msgstr "Movi la fenestron"
#: ../data/50-mutter-windows.xml.in.h:11 #: data/50-mutter-windows.xml:26
msgid "Resize window" msgid "Resize window"
msgstr "Ŝanĝi la fenestrograndon" msgstr "Ŝanĝi la fenestrograndon"
#: ../data/50-mutter-windows.xml.in.h:12 #: data/50-mutter-windows.xml:29
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "" msgstr ""
#: ../data/50-mutter-windows.xml.in.h:13 #: data/50-mutter-windows.xml:31
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "" msgstr ""
#: ../data/50-mutter-windows.xml.in.h:14 #: data/50-mutter-windows.xml:33
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "" msgstr ""
#: ../data/50-mutter-windows.xml.in.h:15 #: data/50-mutter-windows.xml:35
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "" msgstr ""
#: ../data/50-mutter-windows.xml.in.h:16 #: data/50-mutter-windows.xml:37
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Vertikale maksimumigi la fenestron" msgstr "Vertikale maksimumigi la fenestron"
#: ../data/50-mutter-windows.xml.in.h:17 #: data/50-mutter-windows.xml:39
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Horizontale maksimumigi la fenestron" msgstr "Horizontale maksimumigi la fenestron"
#: ../data/50-mutter-windows.xml.in.h:18 #: data/50-mutter-windows.xml:43
msgid "View split on left" msgid "View split on left"
msgstr "" msgstr ""
#: ../data/50-mutter-windows.xml.in.h:19 #: data/50-mutter-windows.xml:47
msgid "View split on right" msgid "View split on right"
msgstr "" msgstr ""
#: ../data/mutter.desktop.in.h:1 #: data/mutter.desktop.in:4
msgid "Mutter" msgid "Mutter"
msgstr "Mutero" msgstr "Mutero"
#: ../data/org.gnome.mutter.gschema.xml.in.h:1 #: data/org.gnome.mutter.gschema.xml.in:7
msgid "Modifier to use for extended window management operations" msgid "Modifier to use for extended window management operations"
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:2 #: data/org.gnome.mutter.gschema.xml.in:8
msgid "" msgid ""
"This key will initiate the \"overlay\", which is a combination window " "This key will initiate the overlay, which is a combination window overview "
"overview and application launching system. The default is intended to be the " "and application launching system. The default is intended to be the “Windows "
"\"Windows key\" on PC hardware. It's expected that this binding either the " "key on PC hardware. Its expected that this binding either the default or "
"default or set to the empty string." "set to the empty string."
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:3 #: data/org.gnome.mutter.gschema.xml.in:20
msgid "Attach modal dialogs" msgid "Attach modal dialogs"
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:4 #: data/org.gnome.mutter.gschema.xml.in:21
msgid "" msgid ""
"When true, instead of having independent titlebars, modal dialogs appear " "When true, instead of having independent titlebars, modal dialogs appear "
"attached to the titlebar of the parent window and are moved together with " "attached to the titlebar of the parent window and are moved together with "
"the parent window." "the parent window."
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:5 #: data/org.gnome.mutter.gschema.xml.in:30
msgid "Enable edge tiling when dropping windows on screen edges" msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:6 #: data/org.gnome.mutter.gschema.xml.in:31
msgid "" msgid ""
"If enabled, dropping windows on vertical screen edges maximizes them " "If enabled, dropping windows on vertical screen edges maximizes them "
"vertically and resizes them horizontally to cover half of the available " "vertically and resizes them horizontally to cover half of the available "
"area. Dropping windows on the top screen edge maximizes them completely." "area. Dropping windows on the top screen edge maximizes them completely."
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:7 #: data/org.gnome.mutter.gschema.xml.in:40
msgid "Workspaces are managed dynamically" msgid "Workspaces are managed dynamically"
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:8 #: data/org.gnome.mutter.gschema.xml.in:41
msgid "" msgid ""
"Determines whether workspaces are managed dynamically or whether there's a " "Determines whether workspaces are managed dynamically or whether theres a "
"static number of workspaces (determined by the num-workspaces key in org." "static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)." "gnome.desktop.wm.preferences)."
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:9 #: data/org.gnome.mutter.gschema.xml.in:50
msgid "Workspaces only on primary" msgid "Workspaces only on primary"
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:10 #: data/org.gnome.mutter.gschema.xml.in:51
msgid "" msgid ""
"Determines whether workspace switching should happen for windows on all " "Determines whether workspace switching should happen for windows on all "
"monitors or only for windows on the primary monitor." "monitors or only for windows on the primary monitor."
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:11 #: data/org.gnome.mutter.gschema.xml.in:59
msgid "No tab popup" msgid "No tab popup"
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:12 #: data/org.gnome.mutter.gschema.xml.in:60
msgid "" msgid ""
"Determines whether the use of popup and highlight frame should be disabled " "Determines whether the use of popup and highlight frame should be disabled "
"for window cycling." "for window cycling."
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:13 #: data/org.gnome.mutter.gschema.xml.in:68
msgid "Delay focus changes until the pointer stops moving" msgid "Delay focus changes until the pointer stops moving"
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:14 #: data/org.gnome.mutter.gschema.xml.in:69
msgid "" msgid ""
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then " "If set to true, and the focus mode is either sloppy or mouse then the "
"the focus will not be changed immediately when entering a window, but only " "focus will not be changed immediately when entering a window, but only after "
"after the pointer stops moving." "the pointer stops moving."
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:15 #: data/org.gnome.mutter.gschema.xml.in:79
msgid "Draggable border width" msgid "Draggable border width"
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:16 #: data/org.gnome.mutter.gschema.xml.in:80
msgid "" msgid ""
"The amount of total draggable borders. If the theme's visible borders are " "The amount of total draggable borders. If the themes visible borders are "
"not enough, invisible borders will be added to meet this value." "not enough, invisible borders will be added to meet this value."
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:17 #: data/org.gnome.mutter.gschema.xml.in:89
msgid "Auto maximize nearly monitor sized windows" msgid "Auto maximize nearly monitor sized windows"
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:18 #: data/org.gnome.mutter.gschema.xml.in:90
msgid "" msgid ""
"If enabled, new windows that are initially the size of the monitor " "If enabled, new windows that are initially the size of the monitor "
"automatically get maximized." "automatically get maximized."
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:19 #: data/org.gnome.mutter.gschema.xml.in:98
msgid "Place new windows in the center" msgid "Place new windows in the center"
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:20 #: data/org.gnome.mutter.gschema.xml.in:99
msgid "" msgid ""
"When true, the new windows will always be put in the center of the active " "When true, the new windows will always be put in the center of the active "
"screen of the monitor." "screen of the monitor."
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:21 #: data/org.gnome.mutter.gschema.xml.in:107
msgid "Enable experimental features"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:108
msgid ""
"To enable experimental features, add the feature keyword to the list. "
"Whether the feature requires restarting the compositor depends on the given "
"feature. Any experimental feature is not required to still be available, or "
"configurable. Dont expect adding anything in this setting to be future "
"proof. Currently possible keywords: • “scale-monitor-framebuffer” — makes "
"mutter default to layout logical monitors in a logical pixel coordinate "
"space, while scaling monitor framebuffers instead of window content, to "
"manage HiDPI monitors. Does not require a restart. • “remote-desktop” — "
"enables remote desktop support. To support remote desktop with screen "
"sharing, “screen-cast” must also be enabled. • “screen-cast” — enables "
"screen cast support."
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:145
msgid "Select window from tab popup" msgid "Select window from tab popup"
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.gschema.xml.in.h:22 #: data/org.gnome.mutter.gschema.xml.in:150
msgid "Cancel tab popup" msgid "Cancel tab popup"
msgstr "" msgstr ""
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:1 #: data/org.gnome.mutter.gschema.xml.in:155
#, fuzzy #, fuzzy
#| msgid "Switch applications"
msgid "Switch monitor configurations"
msgstr "Ŝanĝi aplikaĵojn"
#: data/org.gnome.mutter.gschema.xml.in:160
msgid "Rotates the built-in monitor configuration"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:6
msgid "Switch to VT 1" msgid "Switch to VT 1"
msgstr "Ŝalti al VT 1" msgstr "Ŝalti al virtuala terminalo 1"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:2 #: data/org.gnome.mutter.wayland.gschema.xml.in:10
#, fuzzy
msgid "Switch to VT 2" msgid "Switch to VT 2"
msgstr "Ŝalti al VT 2" msgstr "Ŝalti al virtuala terminalo 2"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:3 #: data/org.gnome.mutter.wayland.gschema.xml.in:14
#, fuzzy
msgid "Switch to VT 3" msgid "Switch to VT 3"
msgstr "Ŝalti al VT 3" msgstr "Ŝalti al virtuala terminalo 3"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:4 #: data/org.gnome.mutter.wayland.gschema.xml.in:18
#, fuzzy
msgid "Switch to VT 4" msgid "Switch to VT 4"
msgstr "Ŝalti al VT 4" msgstr "Ŝalti al virtuala terminalo 4"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:5 #: data/org.gnome.mutter.wayland.gschema.xml.in:22
#, fuzzy
#| msgid "Switch to workspace 5" #| msgid "Switch to workspace 5"
msgid "Switch to VT 5" msgid "Switch to VT 5"
msgstr "Ŝalti al VT 5" msgstr "Ŝalti al virtuala terminalo 5"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:6 #: data/org.gnome.mutter.wayland.gschema.xml.in:26
#, fuzzy
#| msgid "Switch to workspace 6" #| msgid "Switch to workspace 6"
msgid "Switch to VT 6" msgid "Switch to VT 6"
msgstr "Ŝalti al VT 6" msgstr "Ŝalti al virtuala terminalo 6"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:7 #: data/org.gnome.mutter.wayland.gschema.xml.in:30
#, fuzzy
#| msgid "Switch to workspace 7" #| msgid "Switch to workspace 7"
msgid "Switch to VT 7" msgid "Switch to VT 7"
msgstr "Ŝalti al VT 7" msgstr "Ŝalti al virtuala terminalo 7"
#: ../src/backends/meta-monitor-manager.c:364 #: data/org.gnome.mutter.wayland.gschema.xml.in:34
msgid "Switch to VT 8"
msgstr "Ŝalti al virtuala terminalo 8"
#: data/org.gnome.mutter.wayland.gschema.xml.in:38
msgid "Switch to VT 9"
msgstr "Ŝalti al virtuala terminalo 9"
#: data/org.gnome.mutter.wayland.gschema.xml.in:42
msgid "Switch to VT 10"
msgstr "Ŝalti al virtuala terminalo 10"
#: data/org.gnome.mutter.wayland.gschema.xml.in:46
msgid "Switch to VT 11"
msgstr "Ŝalti al virtuala terminalo 11"
#: data/org.gnome.mutter.wayland.gschema.xml.in:50
msgid "Switch to VT 12"
msgstr "Ŝalti al virtuala terminalo 12"
#: data/org.gnome.mutter.wayland.gschema.xml.in:54
msgid "Re-enable shortcuts"
msgstr "Re-ŝalti klavkombinojn"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:2260
#, c-format
msgid "Mode Switch (Group %d)"
msgstr ""
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:2283
#, fuzzy
#| msgid "Switch system controls"
msgid "Switch monitor"
msgstr "Ŝanĝi sistem-kontrolojn"
#: src/backends/meta-input-settings.c:2285
msgid "Show on-screen help"
msgstr "Montri ekranhelpon"
#: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "" msgstr ""
#: ../src/backends/meta-monitor-manager.c:391 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Nekonate" msgstr "Nekonate"
#: ../src/backends/meta-monitor-manager.c:393 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Nekonata ekrano" msgstr "Nekonata ekrano"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: ../src/backends/meta-monitor-manager.c:401 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: ../src/compositor/compositor.c:456 #: src/compositor/compositor.c:479
#, c-format #, fuzzy, c-format
#| msgid ""
#| "Another compositing manager is already running on screen %i on display "
#| "\"%s\"."
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display \"%s" "Another compositing manager is already running on screen %i on display “%s”."
"\"." msgstr "Alia kunmetanta administrilo jam rulas sur ekrano %i de montrilo “%s”."
msgstr "Alia kunmetanta administrilo jam rulas sur ekrano %i de montrilo \"%s\"."
#: ../src/core/bell.c:185 #: src/core/bell.c:194
msgid "Bell event" msgid "Bell event"
msgstr "Sonoril-evento" msgstr "Sonoril-evento"
#: ../src/core/delete.c:127 #: src/core/display.c:608
#, fuzzy, c-format
#| msgid "Failed to open X Window System display '%s'\n"
msgid "Failed to open X Window System display “%s”\n"
msgstr "Malsukcesis malfermi jenan vidigon de fenestra sistemo X “%s”\n"
#: src/core/main.c:189
msgid "Disable connection to session manager"
msgstr "Elŝalti konekton al la seancoadministrilo"
#: src/core/main.c:195
msgid "Replace the running window manager"
msgstr "Anstataŭigi la nun ruliĝantan fenestromastrumilon"
#: src/core/main.c:201
msgid "Specify session management ID"
msgstr "Specifi identigilon de la seancoadministrilo"
#: src/core/main.c:206
#, fuzzy
msgid "X Display to use"
msgstr "X-Vidigo uzenda"
#: src/core/main.c:212
msgid "Initialize session from savefile"
msgstr "Pravalorizi la seancon el konservita dosiero"
#: src/core/main.c:218
msgid "Make X calls synchronous"
msgstr "Fari X-vokojn sinkrone"
#: src/core/main.c:225
msgid "Run as a wayland compositor"
msgstr ""
#: src/core/main.c:231
msgid "Run as a nested compositor"
msgstr ""
#: src/core/main.c:239
msgid "Run as a full display server, rather than nested"
msgstr ""
#. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
#| msgid "<tt>%s</tt> is not responding."
msgid "“%s” is not responding." msgid "“%s” is not responding."
msgstr "“%s” ne respondas." msgstr "“%s” ne respondas."
#: ../src/core/delete.c:129 #: src/core/meta-close-dialog-default.c:149
msgid "Application is not responding." msgid "Application is not responding."
msgstr "Aplikaĵo ne respondas." msgstr "Aplikaĵo ne respondas."
#: ../src/core/delete.c:134 #: src/core/meta-close-dialog-default.c:154
msgid "" msgid ""
"You may choose to wait a short while for it to continue or force the " "You may choose to wait a short while for it to continue or force the "
"application to quit entirely." "application to quit entirely."
msgstr "Vi povas elekti ĉu atendi iomete por la aplikaĵo aŭ perforte ĉesi ĝin." msgstr "Vi povas elekti ĉu atendi iomete por la aplikaĵo aŭ perforte ĉesi ĝin."
#: ../src/core/delete.c:141 #: src/core/meta-close-dialog-default.c:161
msgid "_Wait"
msgstr "_Atendi"
#: ../src/core/delete.c:141
msgid "_Force Quit" msgid "_Force Quit"
msgstr "Per_forta eliro" msgstr "Per_forta eliro"
#: ../src/core/display.c:562 #: src/core/meta-close-dialog-default.c:161
#, c-format msgid "_Wait"
msgid "Failed to open X Window System display '%s'\n" msgstr "_Atendi"
msgstr "Malsukcesis malfermi jenan vidigon de fenestra sistemo X: '%s'\n"
#: src/core/mutter.c:39
#: ../src/core/main.c:176
msgid "Disable connection to session manager"
msgstr "Elŝalti konekton al la seancoadministrilo"
#: ../src/core/main.c:182
msgid "Replace the running window manager"
msgstr "Anstataŭigi la nun ruliĝantan fenestromastrumilon"
#: ../src/core/main.c:188
msgid "Specify session management ID"
msgstr "Specifi identigilon de la seancoadministrilo"
#: ../src/core/main.c:193
#, fuzzy
msgid "X Display to use"
msgstr "X-Vidigo uzenda"
#: ../src/core/main.c:199
msgid "Initialize session from savefile"
msgstr "Pravalorizi la seancon el konservita dosiero"
#: ../src/core/main.c:205
msgid "Make X calls synchronous"
msgstr "Fari X-vokojn sinkrone"
#: ../src/core/main.c:212
msgid "Run as a wayland compositor"
msgstr ""
#: ../src/core/main.c:220
msgid "Run as a full display server, rather than nested"
msgstr ""
#: ../src/core/mutter.c:39
#, c-format #, c-format
#| msgid ""
#| "mutter %s\n"
#| "Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
#| "This is free software; see the source for copying conditions.\n"
#| "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
#| "PARTICULAR PURPOSE.\n"
msgid "" msgid ""
"mutter %s\n" "mutter %s\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n" "Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n" "This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A " "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n" "PARTICULAR PURPOSE.\n"
msgstr "" msgstr ""
"Mutero %s\n" "Mutero %s\n"
"Kopirajto (C) 2001-%d Havoc PENNIGTON, Red Hat, Inc., kaj aliaj\n" "Kopirajto © 2001-%d Havoc PENNIGTON, Red Hat, Inc., kaj aliaj\n"
"Ĉi tio estas libera programaro; rigardu la fontkodon por pli da informoj.\n" "Ĉi tio estas libera programaro; rigardu la fontkodon por kondiĉoj pri "
"Ekzistas neniu GARANTIO; nek por NEGOCEBLO nek por ADAPTADO AL IU APARTA " "kopiado.\n"
"Ekzistas NENIU garantio; nek por NEGOCEBLO nek por ADAPTADO AL IU APARTA "
"CELO.\n" "CELO.\n"
#: ../src/core/mutter.c:53 #: src/core/mutter.c:53
msgid "Print version" msgid "Print version"
msgstr "Motri version" msgstr "Motri version"
#: ../src/core/mutter.c:59 #: src/core/mutter.c:59
msgid "Mutter plugin to use" msgid "Mutter plugin to use"
msgstr "" msgstr ""
#: ../src/core/prefs.c:2004 #: src/core/prefs.c:1997
#, c-format #, c-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Laborspaco %d" msgstr "Laborspaco %d"
#: ../src/core/screen.c:525 #: src/core/screen.c:583
#, c-format #, c-format
#| msgid "" #| msgid ""
#| "Screen %d on display \"%s\" already has a window manager; try using the --" #| "Display \"%s\" already has a window manager; try using the --replace "
#| "replace option to replace the current window manager.\n" #| "option to replace the current window manager."
msgid "" msgid ""
"Display \"%s\" already has a window manager; try using the --replace option " "Display “%s” already has a window manager; try using the --replace option to "
"to replace the current window manager." "replace the current window manager."
msgstr "" msgstr ""
"Ekrano \"%s\" jam havas fenestroadministrilon; provu uzi opcion --replace por " "Ekrano “%s” jam havas fenestroadministrilon; provu uzi la opcion --replace "
"anstataŭigi la nunan fenestroadministrilon." "por anstataŭigi la nunan fenestroadministrilon."
#: ../src/core/screen.c:607 #: src/core/screen.c:668
#, c-format #, fuzzy, c-format
msgid "Screen %d on display '%s' is invalid\n" #| msgid "Screen %d on display '%s' is invalid\n"
msgstr "Ekrano %d en vidigilo '%s' estas nevalida\n" msgid "Screen %d on display “%s” is invalid\n"
msgstr "Ekrano %d en vidigilo “%s” estas nevalida\n"
#: ../src/core/util.c:118 #: src/core/util.c:120
msgid "Mutter was compiled without support for verbose mode\n" msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutero estis kompilita sen subteno por eksplicita reĝimo\n" msgstr "Mutero estis kompilita sen subteno por eksplicita reĝimo\n"
#: ../src/x11/session.c:1815 #: src/wayland/meta-wayland-tablet-pad.c:563
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Reĝim-ŝaltilo: Reĝimo %d"
#: src/x11/session.c:1815
msgid "" msgid ""
"These windows do not support &quot;save current setup&quot; and will have to " "These windows do not support save current setup and will have to be "
"be restarted manually next time you log in." "restarted manually next time you log in."
msgstr "" msgstr ""
#: ../src/x11/window-props.c:549 #: src/x11/window-props.c:559
#, c-format #, c-format
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (ĉe %s)" msgstr "%s (ĉe %s)"

191
po/es.po
View File

@@ -7,15 +7,14 @@
# Pablo Gonzalo del Campo <pablodc@bigfoot.com>,2002,2003. # Pablo Gonzalo del Campo <pablodc@bigfoot.com>,2002,2003.
# Francisco Javier F. Serrador <serrador@cvs.gnome.org>, 2004, 2005, 2006. # Francisco Javier F. Serrador <serrador@cvs.gnome.org>, 2004, 2005, 2006.
# Jorge González <jorgegonz@svn.gnome.org>, 2007, 2008, 2009, 2010, 2011. # Jorge González <jorgegonz@svn.gnome.org>, 2007, 2008, 2009, 2010, 2011.
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011, 2012, 2013, 2014, 2015, 2016, 2017. # Daniel Mustieles <daniel.mustieles@gmail.com>, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter.master\n" "Project-Id-Version: mutter.master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-07 18:39+0000\n"
"POT-Creation-Date: 2017-11-17 16:03+0000\n" "PO-Revision-Date: 2018-02-22 12:34+0100\n"
"PO-Revision-Date: 2017-12-14 13:02+0100\n"
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n" "Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
"Language-Team: es <gnome-es-list@gnome.org>\n" "Language-Team: es <gnome-es-list@gnome.org>\n"
"Language: es\n" "Language: es\n"
@@ -50,130 +49,114 @@ msgid "Move window to last workspace"
msgstr "Mover la ventana a la última área de trabajo" msgstr "Mover la ventana a la última área de trabajo"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Mover la ventana un área de trabajo a la izquierda"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Mover la ventana un área de trabajo a la derecha"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Subir la ventana un área de trabajo" msgstr "Subir la ventana un área de trabajo"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Bajar la ventana un área de trabajo" msgstr "Bajar la ventana un área de trabajo"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Mover la ventana una pantalla a la izquierda" msgstr "Mover la ventana una pantalla a la izquierda"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Mover la ventana una pantalla a la derecha" msgstr "Mover la ventana una pantalla a la derecha"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Subir la ventana una pantalla" msgstr "Subir la ventana una pantalla"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Bajar la ventana una pantalla" msgstr "Bajar la ventana una pantalla"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Cambiar entre aplicaciones" msgstr "Cambiar entre aplicaciones"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Cambiar a la aplicación anterior" msgstr "Cambiar a la aplicación anterior"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Cambiar entre ventanas" msgstr "Cambiar entre ventanas"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Cambiar a la ventana anterior" msgstr "Cambiar a la ventana anterior"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Cambiar entre ventanas de una aplicación" msgstr "Cambiar entre ventanas de una aplicación"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Cambiar a la ventana anterior de una aplicación" msgstr "Cambiar a la ventana anterior de una aplicación"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Cambiar entre controles del sistema" msgstr "Cambiar entre controles del sistema"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Cambiar al control del sistema anterior" msgstr "Cambiar al control del sistema anterior"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Cambiar entre ventanas directamente" msgstr "Cambiar entre ventanas directamente"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Cambiar directamente a la ventana anterior" msgstr "Cambiar directamente a la ventana anterior"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Cambiar entre ventanas de una aplicación directamente" msgstr "Cambiar entre ventanas de una aplicación directamente"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Cambiar directamente a la ventana anterior de una aplicación" msgstr "Cambiar directamente a la ventana anterior de una aplicación"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Cambiar entre controles del sistema directamente" msgstr "Cambiar entre controles del sistema directamente"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Cambiar directamente al control del sistema anterior" msgstr "Cambiar directamente al control del sistema anterior"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Ocultar todas las ventanas normales" msgstr "Ocultar todas las ventanas normales"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Cambiar al área de trabajo 1" msgstr "Cambiar al área de trabajo 1"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Cambiar al área de trabajo 2" msgstr "Cambiar al área de trabajo 2"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Cambiar al área de trabajo 3" msgstr "Cambiar al área de trabajo 3"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Cambiar al área de trabajo 4" msgstr "Cambiar al área de trabajo 4"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Cambiar a la útima área de trabajo" msgstr "Cambiar a la útima área de trabajo"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Mover al área de trabajo de la izquierda"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Mover al área de trabajo de la derecha"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Mover al área de trabajo de la arriba" msgstr "Mover al área de trabajo de la arriba"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Mover al área de trabajo de abajo" msgstr "Mover al área de trabajo de abajo"
@@ -218,54 +201,50 @@ msgid "Restore window"
msgstr "Restaurar la ventana" msgstr "Restaurar la ventana"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Cambiar el estado de enrollado"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Cerrar la ventana" msgstr "Cerrar la ventana"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Ocultar la ventana" msgstr "Ocultar la ventana"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Mover la ventana" msgstr "Mover la ventana"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Redimensionar la ventana" msgstr "Redimensionar la ventana"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Conmutar la ventana en todas las áreas de trabajo o sólo en una" msgstr "Conmutar la ventana en todas las áreas de trabajo o sólo en una"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Elevar la ventana si está cubierta, de lo contrario, bajarla" msgstr "Elevar la ventana si está cubierta, de lo contrario, bajarla"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Elevar la ventana sobre las otras ventanas" msgstr "Elevar la ventana sobre las otras ventanas"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Bajar la ventana por debajo de otras ventanas" msgstr "Bajar la ventana por debajo de otras ventanas"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Maximizar la ventana verticalmente" msgstr "Maximizar la ventana verticalmente"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Maximizar la ventana horizontalmente" msgstr "Maximizar la ventana horizontalmente"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Ver división a la izquierda" msgstr "Ver división a la izquierda"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Ver división a la derecha" msgstr "Ver división a la derecha"
@@ -418,20 +397,6 @@ msgid "Enable experimental features"
msgstr "Activar las características experimentales" msgstr "Activar las características experimentales"
#: data/org.gnome.mutter.gschema.xml.in:108 #: data/org.gnome.mutter.gschema.xml.in:108
#| msgid ""
#| "To enable experimental features, add the feature keyword to the list. "
#| "Whether the feature requires restarting the compositor depends on the "
#| "given feature. Any experimental feature is not required to still be "
#| "available, or configurable. Dont expect adding anything in this setting "
#| "to be future proof. Currently possible keywords: • “monitor-config-"
#| "manager” — use the new monitor configuration system, aimed to replace the "
#| "old one. This enables a higher level configuration API to be used by "
#| "configuration applications, as well as the ability to configure per "
#| "logical monitor scale. • “scale-monitor-framebuffer” — makes mutter "
#| "default to layout logical monitors in a logical pixel coordinate space, "
#| "while scaling monitor framebuffers instead of window content, to manage "
#| "HiDPI monitors. Does not require a restart. Also enabling “monitor-config-"
#| "manager” is required for this feature to be enabled."
msgid "" msgid ""
"To enable experimental features, add the feature keyword to the list. " "To enable experimental features, add the feature keyword to the list. "
"Whether the feature requires restarting the compositor depends on the given " "Whether the feature requires restarting the compositor depends on the given "
@@ -526,6 +491,37 @@ msgstr "Cambiar al VT 12"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Volver a activar los atajos" msgstr "Volver a activar los atajos"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Permitir capturas con Xwayland"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "Aplicaciones de Xwayland que pueden capturar el teclado"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
@@ -567,7 +563,7 @@ msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:479 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -584,42 +580,46 @@ msgstr "Evento de campana"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Ocurrió un error al abrir la pantalla de X Window System «%s»\n" msgstr "Ocurrió un error al abrir la pantalla de X Window System «%s»\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Desactivar conexión al gestor de sesión" msgstr "Desactivar conexión al gestor de sesión"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Reemplazar el gestor de ventanas en ejecución" msgstr "Reemplazar el gestor de ventanas en ejecución"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Especificar el ID se gestión de sesión" msgstr "Especificar el ID se gestión de sesión"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "Pantalla X que usar" msgstr "Pantalla X que usar"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Inicializar sesión desde el archivo de salvaguarda" msgstr "Inicializar sesión desde el archivo de salvaguarda"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Hacer que las llamadas a las X sean síncronas" msgstr "Hacer que las llamadas a las X sean síncronas"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Ejecutar como compositor Wayland" msgstr "Ejecutar como compositor Wayland"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Ejecutar como compositor anidado" msgstr "Ejecutar como compositor anidado"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Ejecutar como servidor completo, en lugar de anidado" msgstr "Ejecutar como servidor completo, en lugar de anidado"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Ejecutar con «backend» de X11"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -698,7 +698,7 @@ msgstr "Mutter fue compilado sin soporte para modo prolijo\n"
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Cambiar modo: modo %d" msgstr "Cambiar modo: modo %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -711,6 +711,21 @@ msgstr ""
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (on %s)" msgstr "%s (on %s)"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Mover la ventana un área de trabajo a la izquierda"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Mover la ventana un área de trabajo a la derecha"
#~ msgid "Move to workspace left"
#~ msgstr "Mover al área de trabajo de la izquierda"
#~ msgid "Move to workspace right"
#~ msgstr "Mover al área de trabajo de la derecha"
#~ msgid "Toggle shaded state"
#~ msgstr "Cambiar el estado de enrollado"
#~ msgid "background texture could not be created from file" #~ msgid "background texture could not be created from file"
#~ msgstr "no se pudo crear la textura de fondo a partir de archivo" #~ msgstr "no se pudo crear la textura de fondo a partir de archivo"

1961
po/et.po

File diff suppressed because it is too large Load Diff

211
po/fr.po
View File

@@ -1,5 +1,5 @@
# French translation of mutter. # French translation of mutter.
# Copyright (C) 2002-2017 Free Software Foundation, Inc. # Copyright (C) 2002-2018 Free Software Foundation, Inc.
# This file is distributed under the same license as the metacity package. # This file is distributed under the same license as the metacity package.
# #
# Christophe Fergeau <teuf@users.sourceforge.net>, 2002. # Christophe Fergeau <teuf@users.sourceforge.net>, 2002.
@@ -11,7 +11,7 @@
# Cyprien Le Pannérer <cyplp@free.fr>, 2006. # Cyprien Le Pannérer <cyplp@free.fr>, 2006.
# Robert-André Mauchin <zebob.m@gmail.com>, 2007. # Robert-André Mauchin <zebob.m@gmail.com>, 2007.
# Stéphane Raimbault <stephane.raimbault@gmail.com>, 2007. # Stéphane Raimbault <stephane.raimbault@gmail.com>, 2007.
# Claude Paroz <claude@2xlibre.net>, 2008-2017. # Claude Paroz <claude@2xlibre.net>, 2008-2018.
# Bruno Brouard <annoa.b@gmail.com>, 2011-12. # Bruno Brouard <annoa.b@gmail.com>, 2011-12.
# Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2017. # Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2017.
# Charles Monzat <superboa@hotmail.fr>, 2016, 2017. # Charles Monzat <superboa@hotmail.fr>, 2016, 2017.
@@ -19,18 +19,16 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter master\n" "Project-Id-Version: mutter master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-06 04:14+0000\n"
"POT-Creation-Date: 2017-11-10 18:18+0000\n" "PO-Revision-Date: 2018-03-03 11:18+0100\n"
"PO-Revision-Date: 2017-11-10 23:07+0100\n" "Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
"Last-Translator: Charles Monzat <superboa@hotmail.fr>\n"
"Language-Team: français <gnomefr@traduc.org>\n" "Language-Team: français <gnomefr@traduc.org>\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Gtranslator 2.91.7\n"
#: data/50-mutter-navigation.xml:6 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
@@ -57,130 +55,114 @@ msgid "Move window to last workspace"
msgstr "Déplacer la fenêtre vers le dernier espace de travail" msgstr "Déplacer la fenêtre vers le dernier espace de travail"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Déplacer la fenêtre dun espace de travail vers la gauche"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Déplacer la fenêtre dun espace de travail vers la droite"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Déplacer la fenêtre dun espace de travail vers le haut" msgstr "Déplacer la fenêtre dun espace de travail vers le haut"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Déplacer la fenêtre dun espace de travail vers le bas" msgstr "Déplacer la fenêtre dun espace de travail vers le bas"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Déplacer la fenêtre dun écran vers la gauche" msgstr "Déplacer la fenêtre dun écran vers la gauche"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Déplacer la fenêtre dun écran vers la droite" msgstr "Déplacer la fenêtre dun écran vers la droite"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Déplacer la fenêtre dun écran vers le haut" msgstr "Déplacer la fenêtre dun écran vers le haut"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Déplacer la fenêtre dun écran vers le bas" msgstr "Déplacer la fenêtre dun écran vers le bas"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Changer dapplication" msgstr "Changer dapplication"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Passer à lapplication précédente" msgstr "Passer à lapplication précédente"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Changer de fenêtre" msgstr "Changer de fenêtre"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Passer à la fenêtre précédente" msgstr "Passer à la fenêtre précédente"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Changer de fenêtre dune application" msgstr "Changer de fenêtre dune application"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Passer à la fenêtre précédente dune application" msgstr "Passer à la fenêtre précédente dune application"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Changer les contrôles système" msgstr "Changer les contrôles système"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Passer au contrôle système précédent" msgstr "Passer au contrôle système précédent"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Changer de fenêtre directement" msgstr "Changer de fenêtre directement"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Passer directement à la fenêtre précédente" msgstr "Passer directement à la fenêtre précédente"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Changer de fenêtre dune application directement" msgstr "Changer de fenêtre dune application directement"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Passer directement à la fenêtre précédente dune application" msgstr "Passer directement à la fenêtre précédente dune application"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Changer les contrôles système directement" msgstr "Changer les contrôles système directement"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Passer directement au contrôle système précédent" msgstr "Passer directement au contrôle système précédent"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Masquer toutes les fenêtres normales" msgstr "Masquer toutes les fenêtres normales"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Passer à lespace de travail 1" msgstr "Passer à lespace de travail 1"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Passer à lespace de travail 2" msgstr "Passer à lespace de travail 2"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Passer à lespace de travail 3" msgstr "Passer à lespace de travail 3"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Passer à lespace de travail 4" msgstr "Passer à lespace de travail 4"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Passer au dernier espace de travail" msgstr "Passer au dernier espace de travail"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Déplacer vers lespace de travail de gauche"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Déplacer vers lespace de travail de droite"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Déplacer vers lespace de travail du dessus" msgstr "Déplacer vers lespace de travail du dessus"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Déplacer vers lespace de travail du dessous" msgstr "Déplacer vers lespace de travail du dessous"
@@ -225,55 +207,51 @@ msgid "Restore window"
msgstr "Restaurer la fenêtre" msgstr "Restaurer la fenêtre"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Basculer létat de repli"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Fermer la fenêtre" msgstr "Fermer la fenêtre"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Masquer la fenêtre" msgstr "Masquer la fenêtre"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Déplacer la fenêtre" msgstr "Déplacer la fenêtre"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Redimensionner la fenêtre" msgstr "Redimensionner la fenêtre"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Placer la fenêtre sur tous les espaces de travail, ou sur un seul" msgstr "Placer la fenêtre sur tous les espaces de travail, ou sur un seul"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "" msgstr ""
"Mettre la fenêtre au premier plan si elle est cachée, sinon à larrière-plan" "Mettre la fenêtre au premier plan si elle est cachée, sinon à larrière-plan"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Mettre la fenêtre au premier plan" msgstr "Mettre la fenêtre au premier plan"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Mettre la fenêtre sous les autres fenêtres" msgstr "Mettre la fenêtre sous les autres fenêtres"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Maximiser la fenêtre verticalement" msgstr "Maximiser la fenêtre verticalement"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Maximiser la fenêtre horizontalement" msgstr "Maximiser la fenêtre horizontalement"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Vue divisée sur la gauche" msgstr "Vue divisée sur la gauche"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Vue divisée sur la droite" msgstr "Vue divisée sur la droite"
@@ -520,10 +498,56 @@ msgstr "Passer à lémulateur de terminal 12"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Réactiver les raccourcis" msgstr "Réactiver les raccourcis"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Autoriser les captures clavier avec Xwayland"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"Permettre aux captures de clavier émises par les applications X11 tournant "
"dans Xwayland dêtre prises en compte. Pour que ceci puisse arriver, le "
"client doit aussi soit envoyer un ClientMessage X11 spécifique à la "
"fenêtre racine, soit figurer dans les applications autorisées dans la clé "
 xwayland-access-rules »."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "Applications Xwayland autorisées à émettre des captures clavier"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"Liste de noms de ressources ou de classes de ressources de fenêtres X11 "
"autorisées ou non à émettre des captures clavier sous Xwayland. Le nom ou "
"la classe de ressource dune fenêtre X11 donnée peut être obtenue à laide "
"de la commande « xprop WM_CLASS ». Les caractères joker « * » et « ? » sont "
"acceptées dans les valeurs. Les valeurs commençant pas « ! » sont en liste "
"noire, qui a priorité sur la liste blanche, pour révoquer les applications "
"de la liste système par défaut. Celle-ci contient les applications suivantes : "
"« @XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@ ». Les utilisateurs peuvent casser une "
"capture existante en utilisant le raccourci clavier spécifique défini par "
"la combinaison de touches « restore-shortcuts »."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2167 #: src/backends/meta-input-settings.c:2260
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Changement de mode (groupe %d)" msgstr "Changement de mode (groupe %d)"
@@ -531,37 +555,37 @@ msgstr "Changement de mode (groupe %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2190 #: src/backends/meta-input-settings.c:2283
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Changer de moniteur" msgstr "Changer de moniteur"
#: src/backends/meta-input-settings.c:2192 #: src/backends/meta-input-settings.c:2285
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Afficher laide à lécran" msgstr "Afficher laide à lécran"
#: src/backends/meta-monitor-manager.c:908 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Affichage intégré" msgstr "Affichage intégré"
#: src/backends/meta-monitor-manager.c:931 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Inconnu" msgstr "Inconnu"
#: src/backends/meta-monitor-manager.c:933 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Affichage inconnu" msgstr "Affichage inconnu"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:941 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -578,42 +602,46 @@ msgstr "Évènement sonore"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Impossible douvrir laffichage « %s » du système X Window\n" msgstr "Impossible douvrir laffichage « %s » du système X Window\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Désactiver la connexion au gestionnaire de sessions" msgstr "Désactiver la connexion au gestionnaire de sessions"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Remplacer le gestionnaire de fenêtres en cours de fonctionnement" msgstr "Remplacer le gestionnaire de fenêtres en cours de fonctionnement"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Indiquer lID de gestion de sessions" msgstr "Indiquer lID de gestion de sessions"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "Affichage X à utiliser" msgstr "Affichage X à utiliser"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Initialiser la session depuis le fichier de sauvegarde" msgstr "Initialiser la session depuis le fichier de sauvegarde"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Rendre synchrones les appels à X" msgstr "Rendre synchrones les appels à X"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Lancer comme un compositeur wayland" msgstr "Lancer comme un compositeur wayland"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Lancer comme un compositeur imbriqué" msgstr "Lancer comme un compositeur imbriqué"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Lancer comme un serveur daffichage complet, plutôt quimbriqué" msgstr "Lancer comme un serveur daffichage complet, plutôt quimbriqué"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Lancer avec le moteur X11"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -692,7 +720,7 @@ msgstr "Mutter a été compilé sans la prise en charge du mode bavard\n"
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Changement de mode : mode %d" msgstr "Changement de mode : mode %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -705,3 +733,18 @@ msgstr ""
#, c-format #, c-format
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (sur %s)" msgstr "%s (sur %s)"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Déplacer la fenêtre dun espace de travail vers la gauche"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Déplacer la fenêtre dun espace de travail vers la droite"
#~ msgid "Move to workspace left"
#~ msgstr "Déplacer vers lespace de travail de gauche"
#~ msgid "Move to workspace right"
#~ msgstr "Déplacer vers lespace de travail de droite"
#~ msgid "Toggle shaded state"
#~ msgstr "Basculer létat de repli"

264
po/fur.po
View File

@@ -6,17 +6,16 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter master\n" "Project-Id-Version: mutter master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-06 04:14+0000\n"
"POT-Creation-Date: 2017-07-22 09:45+0000\n" "PO-Revision-Date: 2018-02-06 22:43+0100\n"
"PO-Revision-Date: 2017-07-22 22:53+0200\n"
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n" "Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
"Language-Team: Friulian <fur@li.org>\n" "Language-Team: Friulian <fur@li.org>\n"
"Language: fur\n" "Language: fur\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.2\n" "X-Generator: Poedit 2.0.3\n"
#: data/50-mutter-navigation.xml:6 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
@@ -43,145 +42,133 @@ msgid "Move window to last workspace"
msgstr "Sposte barcon tal ultin spazi di lavôr" msgstr "Sposte barcon tal ultin spazi di lavôr"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Sposte barcon tal spazi di lavôr a çampe"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Sposte barcon tal spazi di lavôr a drete"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Sposte barcon tal spazi di lavôr parsore" msgstr "Sposte barcon tal spazi di lavôr parsore"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Sposte barcon tal spazi di lavôr sot" msgstr "Sposte barcon tal spazi di lavôr sot"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Sposte barcon tal visôr a çampe" msgstr "Sposte barcon tal visôr a çampe"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Sposte barcon tal visôr a drete" msgstr "Sposte barcon tal visôr a drete"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Sposte barcon tal visôr parsore" msgstr "Sposte barcon tal visôr parsore"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Sposte barcon tal visôr sot" msgstr "Sposte barcon tal visôr sot"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Passâ di une aplicazion in chê altre" msgstr "Passâ di une aplicazion in chê altre"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Passe ae aplicazion prime" msgstr "Passe ae aplicazion prime"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Passâ di un barcon in chel altri" msgstr "Passâ di un barcon in chel altri"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Passe al barcon prime" msgstr "Passe al barcon prime"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Passâ di un barcon in chel altri di une aplicazion" msgstr "Passâ di un barcon in chel altri di une aplicazion"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Passe al barcon prime di une aplicazion" msgstr "Passe al barcon prime di une aplicazion"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Passâ di un control di sisteme in chel altri" msgstr "Passâ di un control di sisteme in chel altri"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Passe al control di sisteme precedent" msgstr "Passe al control di sisteme precedent"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Passe dret ai barcons" msgstr "Passe dret ai barcons"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Passe dret al barcon precedent" msgstr "Passe dret al barcon precedent"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Passe dret a un barcon di une aplicazion" msgstr "Passe dret a un barcon di une aplicazion"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Passe dret al barcon precedent di une aplicazion" msgstr "Passe dret al barcon precedent di une aplicazion"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Passe dret ai controi dal sisteme" msgstr "Passe dret ai controi dal sisteme"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Passe dret al control precedent dal sisteme" msgstr "Passe dret al control precedent dal sisteme"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Plate ducj i barcons normâi" msgstr "Plate ducj i barcons normâi"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Passe al spazi di lavôr 1" msgstr "Passe al spazi di lavôr 1"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Passe al spazi di lavôr 2" msgstr "Passe al spazi di lavôr 2"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Passe al spazi di lavôr 3" msgstr "Passe al spazi di lavôr 3"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Passe al spazi di lavôr 4" msgstr "Passe al spazi di lavôr 4"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Passe al ultin spazi di lavôr" msgstr "Passe al ultin spazi di lavôr"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Sposte il spazi di lavôr a çampe"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Sposte il spazi di lavôr a drete"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Sposte il spazi di lavôr parsore" msgstr "Sposte il spazi di lavôr parsore"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Sposte il spazi di lavôr sot" msgstr "Sposte il spazi di lavôr sot"
#: data/50-mutter-system.xml:6 #: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
msgid "System" msgid "System"
msgstr "Sisteme" msgstr "Sisteme"
#: data/50-mutter-system.xml:8 #: data/50-mutter-system.xml:8
msgid "Show the run command prompt" msgid "Show the run command prompt"
msgstr "Mostre la richieste \"eseguìs comant\"" msgstr "Mostre la richieste eseguìs comant"
#: data/50-mutter-system.xml:10 #: data/50-mutter-system.xml:10
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Mostre la panoramiche ativitâts" msgstr "Mostre la panoramiche ativitâts"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Ripristine lis scurtis di tastiere"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Barcons" msgstr "Barcons"
@@ -207,54 +194,50 @@ msgid "Restore window"
msgstr "Ripristine barcon" msgstr "Ripristine barcon"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Ative/Disative stât inrodolât"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Siere il barcon" msgstr "Siere il barcon"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Plate il barcon" msgstr "Plate il barcon"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Sposte il barcon" msgstr "Sposte il barcon"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Ridimensione barcon" msgstr "Ridimensione barcon"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Ative/Disative barcon su ducj i spazis di lavôr o nome un" msgstr "Ative/Disative barcon su ducj i spazis di lavôr o nome un"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Tire sù il barcon se al è cuviert, se no sbassilu" msgstr "Tire sù il barcon se al è cuviert, se no sbassilu"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Met il barcon parsore di chei altris" msgstr "Met il barcon parsore di chei altris"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Bute il barcon sot di chei altris" msgstr "Bute il barcon sot di chei altris"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Slargje il barcon par verticâl" msgstr "Slargje il barcon par verticâl"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Slargje il barcon par orizontâl" msgstr "Slargje il barcon par orizontâl"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Slargje dividint ae çampe" msgstr "Slargje dividint ae çampe"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Slargje dividint ae drete" msgstr "Slargje dividint ae drete"
@@ -405,14 +388,13 @@ msgid ""
"Whether the feature requires restarting the compositor depends on the given " "Whether the feature requires restarting the compositor depends on the given "
"feature. Any experimental feature is not required to still be available, or " "feature. Any experimental feature is not required to still be available, or "
"configurable. Dont expect adding anything in this setting to be future " "configurable. Dont expect adding anything in this setting to be future "
"proof. Currently possible keywords: • “monitor-config-manager” — use the new " "proof. Currently possible keywords: • “scale-monitor-framebuffer” — makes "
"monitor configuration system, aimed to replace the old one. This enables a " "mutter default to layout logical monitors in a logical pixel coordinate "
"higher level configuration API to be used by configuration applications, as " "space, while scaling monitor framebuffers instead of window content, to "
"well as the ability to configure per logical monitor scale. • “scale-monitor-" "manage HiDPI monitors. Does not require a restart. • “remote-desktop” — "
"framebuffer” — makes mutter default to layout logical monitors in a logical " "enables remote desktop support. To support remote desktop with screen "
"pixel coordinate space, while scaling monitor framebuffers instead of window " "sharing, “screen-cast” must also be enabled. • “screen-cast” — enables "
"content, to manage HiDPI monitors. Does not require a restart. Also enabling " "screen cast support."
"“monitor-config-manager” is required for this feature to be enabled."
msgstr "" msgstr ""
"Par abilitâ lis funzionalitâts sperimentâls, zonte la peraule clâf de " "Par abilitâ lis funzionalitâts sperimentâls, zonte la peraule clâf de "
"funzionalitât ae liste. Il fat che la funzionalitât e vedi bisugne di tornâ " "funzionalitât ae liste. Il fat che la funzionalitât e vedi bisugne di tornâ "
@@ -420,30 +402,28 @@ msgstr ""
"funzionalitât sperimentâl no je necessarie che e sedi disponibile o " "funzionalitât sperimentâl no je necessarie che e sedi disponibile o "
"configurabile. No sta spietâti di zontâ alc in cheste impostazion e pensâ " "configurabile. No sta spietâti di zontâ alc in cheste impostazion e pensâ "
"che e duredi tal timp. Atualmentri lis peraulis clâf pussibilis a son: • " "che e duredi tal timp. Atualmentri lis peraulis clâf pussibilis a son: • "
"“monitor-config-manager” — al dopre il gnûf sisteme di configurazion dal " "“scale-monitor-framebuffer” — al rint come predefinît par mutter, la "
"visôr, fat par sostituî chel vecjo. Chest al abilite une API di nivel " "disposizion logjiche dai visôrs intun spazi logjic di coordenadis di pixel, "
"superiôr che e pues jessi doprade di aplicazions di configurazion, cussì " "in plui si fâs il scjalâ dai framebuffer dai visôrs invezit che il contignût "
"come la capacitât di configurâ par scjale di monitor logjic. • “scale-" "dal barcon; dut chest par gjestî i visôrs HiDPI. Nol covente tornâ a inviâ. "
"monitor-framebuffer” — al rint come predefinît par mutter la disposizion dai " "• “remote-desktop” — al abilite il supuart pal scritori rimot. Par podê "
"visôrs logjics intun spazi logjic di coordenadis dai pixel, intant i " "supuartâ il scritori rimot cun la condivision dal schermi si scugne abilitâ "
"framebuffer dai visôrs par scjalâ, invezit dal contignût dal barcon, a " "ancje “screen-cast”. • “screen-cast” — al abilite il supuart pe trasmission "
"gjestissin i visôrs HiDPI. Nol covente tornâ a inviâ. In plui al è necessari " "dal schermi."
"abilitâ “monitor-config-manager” par fâ in mût che cheste funzionalitât e "
"sedi abilitade."
#: data/org.gnome.mutter.gschema.xml.in:151 #: data/org.gnome.mutter.gschema.xml.in:145
msgid "Select window from tab popup" msgid "Select window from tab popup"
msgstr "Selezione barcon dal tab popup" msgstr "Selezione barcon dal tab popup"
#: data/org.gnome.mutter.gschema.xml.in:156 #: data/org.gnome.mutter.gschema.xml.in:150
msgid "Cancel tab popup" msgid "Cancel tab popup"
msgstr "Anule tab popup" msgstr "Anule tab popup"
#: data/org.gnome.mutter.gschema.xml.in:161 #: data/org.gnome.mutter.gschema.xml.in:155
msgid "Switch monitor configurations" msgid "Switch monitor configurations"
msgstr "Cambie configurazions visôr" msgstr "Cambie configurazions visôr"
#: data/org.gnome.mutter.gschema.xml.in:166 #: data/org.gnome.mutter.gschema.xml.in:160
msgid "Rotates the built-in monitor configuration" msgid "Rotates the built-in monitor configuration"
msgstr "Al volte la configurazion dal visôr integrât" msgstr "Al volte la configurazion dal visôr integrât"
@@ -495,10 +475,61 @@ msgstr "Passe al VT 11"
msgid "Switch to VT 12" msgid "Switch to VT 12"
msgstr "Passe al VT 12" msgstr "Passe al VT 12"
#: data/org.gnome.mutter.wayland.gschema.xml.in:54
msgid "Re-enable shortcuts"
msgstr "Torne abilite lis scurtis"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Permet cjapadis di control cun Xwayland"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"Permet che il cjapâ il control de tastiere emetût di aplicazions X11 che a "
"zirin in Xwayland, di jessi tignûts in considerazion. Par une cjapade di "
"control di X11, par che e sedi tignude in considerazion sot Wayland, il "
"client al scugne ancje inviâ un specific messaç (X11 ClientMessage) al "
"barcon lidrîs o jessi tra lis aplicazions metudis te liste blancje inte clâf "
"“xwayland-grab-access-rules”."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "Aplicazions Xwayland che a puedin cjapâ la tastiere"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"Liste di nons di risorsis o classis di risorsis di barcons X11 che a puedin "
"o no puedin cjapâ i segnâi di tastiere X11 sot di Xwayland. Il non de "
"risorse o la classe de risorse di un dât barcon X11 al pues jessi otignût "
"doprant il comant “xprop WM_CLASS”. I caratars “*” e “?” tai valôrs a son "
"supuartâts. I valôrs che a tachin cun “!” a son metûts te liste nere, che e "
"à precedence su la liste blancje, par revocâ lis aplicazions de liste di "
"sisteme predefinide. La liste di sisteme predefinide e inclût lis "
"aplicazions chi daurman: “@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” I utents a "
"puedin interompi il control cjapât doprant la specifiche scurte di tastiere "
"definide de clâf di associazion tast “restore-shortcuts”."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2118 #: src/backends/meta-input-settings.c:2260
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Cambie mût (Grup %d)" msgstr "Cambie mût (Grup %d)"
@@ -506,37 +537,37 @@ msgstr "Cambie mût (Grup %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2141 #: src/backends/meta-input-settings.c:2283
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Cambie visôr" msgstr "Cambie visôr"
#: src/backends/meta-input-settings.c:2143 #: src/backends/meta-input-settings.c:2285
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Mostre jutori a schermi" msgstr "Mostre jutori a schermi"
#: src/backends/meta-monitor-manager.c:925 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Display integrât" msgstr "Display integrât"
#: src/backends/meta-monitor-manager.c:948 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "No cognossût" msgstr "No cognossût"
#: src/backends/meta-monitor-manager.c:950 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Display no cognossût" msgstr "Display no cognossût"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:958 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -553,42 +584,46 @@ msgstr "Event cjampane"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Impussibil vierzi il display “%s” di X Window System\n" msgstr "Impussibil vierzi il display “%s” di X Window System\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Disabilite la conession al gjestôr de session" msgstr "Disabilite la conession al gjestôr de session"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Rimplace il window manager in vore" msgstr "Rimplace il window manager in vore"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Specifiche il ID di gjestion session" msgstr "Specifiche il ID di gjestion session"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "Display X di doprâ" msgstr "Display X di doprâ"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Inizialize session da file salvât" msgstr "Inizialize session da file salvât"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Fâs lis clamadis X sincronis" msgstr "Fâs lis clamadis X sincronis"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Eseguìs come compositor wayland" msgstr "Eseguìs come compositor wayland"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Eseguìs come compositor nidiât" msgstr "Eseguìs come compositor nidiât"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Eseguìs come servidôr display complet, invezit che nidiât" msgstr "Eseguìs come servidôr display complet, invezit che nidiât"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Eseguìs cul backend X11"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -643,7 +678,7 @@ msgstr "Plugin Mutter di doprâ"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Spazi di lavôr %d" msgstr "Spazi di lavôr %d"
#: src/core/screen.c:580 #: src/core/screen.c:583
#, c-format #, c-format
msgid "" msgid ""
"Display “%s” already has a window manager; try using the --replace option to " "Display “%s” already has a window manager; try using the --replace option to "
@@ -652,7 +687,7 @@ msgstr ""
"Il display “%s” al à za un window manager; prove dopre la opzion --replace " "Il display “%s” al à za un window manager; prove dopre la opzion --replace "
"par rimplaçâ chel atuâl." "par rimplaçâ chel atuâl."
#: src/core/screen.c:665 #: src/core/screen.c:668
#, c-format #, c-format
msgid "Screen %d on display “%s” is invalid\n" msgid "Screen %d on display “%s” is invalid\n"
msgstr "Schermi %d su display “%s” no valit\n" msgstr "Schermi %d su display “%s” no valit\n"
@@ -666,7 +701,7 @@ msgstr "Mutter al è stât compilât cence supuart pe modalitât fetose\n"
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Cambie mût: mût %d" msgstr "Cambie mût: mût %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -678,3 +713,18 @@ msgstr ""
#, c-format #, c-format
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (su %s)" msgstr "%s (su %s)"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Sposte barcon tal spazi di lavôr a çampe"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Sposte barcon tal spazi di lavôr a drete"
#~ msgid "Move to workspace left"
#~ msgstr "Sposte il spazi di lavôr a çampe"
#~ msgid "Move to workspace right"
#~ msgstr "Sposte il spazi di lavôr a drete"
#~ msgid "Toggle shaded state"
#~ msgstr "Ative/Disative stât inrodolât"

335
po/gd.po
View File

@@ -1,14 +1,13 @@
# Scottish Gaelic translation for mutter. # Scottish Gaelic translation for mutter.
# Copyright (C) 2016 mutter's COPYRIGHT HOLDER # Copyright (C) 2016 mutter's COPYRIGHT HOLDER
# This file is distributed under the same license as the mutter package. # This file is distributed under the same license as the mutter package.
# GunChleoc <fios@foramnagaidhlig.net>, 2016, 2017. # GunChleoc <fios@foramnagaidhlig.net>, 2016, 2017, 2018.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter master\n" "Project-Id-Version: mutter master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=mutte" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"r&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-01-27 08:02+0000\n"
"POT-Creation-Date: 2017-03-02 11:37+0000\n" "PO-Revision-Date: 2018-03-01 10:45+0100\n"
"PO-Revision-Date: 2017-03-07 11:59+0100\n"
"Last-Translator: GunChleoc <fios@foramnagaidhlig.net>\n" "Last-Translator: GunChleoc <fios@foramnagaidhlig.net>\n"
"Language-Team: Fòram na Gàidhlig\n" "Language-Team: Fòram na Gàidhlig\n"
"Language: gd\n" "Language: gd\n"
@@ -18,6 +17,7 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : " "Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
"(n > 2 && n < 20) ? 2 : 3;\n" "(n > 2 && n < 20) ? 2 : 3;\n"
"X-Generator: Virtaal 0.7.1\n" "X-Generator: Virtaal 0.7.1\n"
"(n > 2 && n < 20) ? 2: 3;\n"
"X-Project-Style: gnome\n" "X-Project-Style: gnome\n"
#: data/50-mutter-navigation.xml:6 #: data/50-mutter-navigation.xml:6
@@ -166,13 +166,13 @@ msgstr "Gluais dhan rum-obrach air an taobh deas"
#: data/50-mutter-navigation.xml:135 #: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Gluais dhan rum-obrach aig a' bharr" msgstr "Gluais dhan rum-obrach aig a bharr"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:138
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Gluais dhan rum-obrach aig a' bhonn" msgstr "Gluais dhan rum-obrach aig a bhonn"
#: data/50-mutter-system.xml:6 #: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
msgid "System" msgid "System"
msgstr "An siostam" msgstr "An siostam"
@@ -184,6 +184,10 @@ msgstr ""
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Foir-shealladh air na gnìomhachdan" msgstr "Foir-shealladh air na gnìomhachdan"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Aisig ath-ghoiridean a mheur-chlàir"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Uinneagan" msgstr "Uinneagan"
@@ -250,7 +254,7 @@ msgstr "Làn-mheudaich an uinneag gu h-ingearach"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:39
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Làn-mheudaich an uinneag air a' chòmhnard" msgstr "Làn-mheudaich an uinneag air a chòmhnard"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:43
msgid "View split on left" msgid "View split on left"
@@ -262,284 +266,135 @@ msgstr "Sgoilt an t-sealladh air an taobh deas"
#: data/mutter.desktop.in:4 #: data/mutter.desktop.in:4
msgid "Mutter" msgid "Mutter"
msgstr "" msgstr "Mutter"
#: data/org.gnome.mutter.gschema.xml.in:7 #: data/org.gnome.mutter.gschema.xml.in:155
msgid "Modifier to use for extended window management operations" #| msgid "Switch monitor"
msgstr "" msgid "Switch monitor configurations"
msgstr "Gearr leum eadar rèiteachaidhean monatair"
#: data/org.gnome.mutter.gschema.xml.in:8 #. TRANSLATORS: This string refers to a button that switches between
msgid "" #. * different modes.
"This key will initiate the \"overlay\", which is a combination window " #.
"overview and application launching system. The default is intended to be the " #: src/backends/meta-input-settings.c:2167
"\"Windows key\" on PC hardware. It's expected that this binding either the " #, c-format
"default or set to the empty string." #| msgid "Mode Switch: Mode %d"
msgstr "" msgid "Mode Switch (Group %d)"
msgstr "Suidse nam modh (Buidheann %d)"
#: data/org.gnome.mutter.gschema.xml.in:20
msgid "Attach modal dialogs"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:21
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
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:31
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
msgid "Workspaces are managed dynamically"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:41
msgid ""
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:50
msgid "Workspaces only on primary"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:51
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
msgid "No tab popup"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:60
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
msgid "Delay focus changes until the pointer stops moving"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:69
msgid ""
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:79
msgid "Draggable border width"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:80
msgid ""
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:89
msgid "Auto maximize nearly monitor sized windows"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:90
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
msgid "Place new windows in the center"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:99
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
msgid "Select window from tab popup"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:125
msgid "Cancel tab popup"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:6
msgid "Switch to VT 1"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:10
msgid "Switch to VT 2"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:14
msgid "Switch to VT 3"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:18
msgid "Switch to VT 4"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:22
msgid "Switch to VT 5"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:26
msgid "Switch to VT 6"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:30
msgid "Switch to VT 7"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:34
msgid "Switch to VT 8"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:38
msgid "Switch to VT 9"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:42
msgid "Switch to VT 10"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:46
msgid "Switch to VT 11"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:50
msgid "Switch to VT 12"
msgstr ""
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:1913 #: src/backends/meta-input-settings.c:2190
#| msgid "Switch system controls"
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Gearr leum gu monatair eile" msgstr "Gearr leum gu monatair eile"
#: src/backends/meta-input-settings.c:1915 #: src/backends/meta-input-settings.c:2192
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Seall a' chobhair air an sgrìn" msgstr "Seall a chobhair air an sgrìn"
#: src/backends/meta-monitor-manager.c:515 #: src/backends/meta-monitor-manager.c:908
msgid "Built-in display" msgid "Built-in display"
msgstr "Uidheam-taisbeanaidh 'na broinn" msgstr "Uidheam-taisbeanaidh na broinn"
#: src/backends/meta-monitor-manager.c:538 #: src/backends/meta-monitor-manager.c:931
msgid "Unknown" msgid "Unknown"
msgstr "Chan eil fhios" msgstr "Chan eil fhios"
#: src/backends/meta-monitor-manager.c:540 #: src/backends/meta-monitor-manager.c:933
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Uidheam-taisbeanaidh nach aithne dhuinn" msgstr "Uidheam-taisbeanaidh nach aithne dhuinn"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:548 #: src/backends/meta-monitor-manager.c:941
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:471 #: src/compositor/compositor.c:479
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display \"%s" "Another compositing manager is already running on screen %i on display “%s”."
"\"."
msgstr "" msgstr ""
#: src/core/bell.c:194 #: src/core/bell.c:194
msgid "Bell event" msgid "Bell event"
msgstr "" msgstr ""
#: src/core/delete.c:127 #: src/core/display.c:608
#, c-format
msgid "Failed to open X Window System display “%s”\n"
msgstr ""
#: src/core/main.c:189
msgid "Disable connection to session manager"
msgstr ""
#: src/core/main.c:195
msgid "Replace the running window manager"
msgstr ""
#: src/core/main.c:201
msgid "Specify session management ID"
msgstr ""
#: src/core/main.c:206
msgid "X Display to use"
msgstr ""
#: src/core/main.c:212
msgid "Initialize session from savefile"
msgstr ""
#: src/core/main.c:218
msgid "Make X calls synchronous"
msgstr ""
#: src/core/main.c:225
msgid "Run as a wayland compositor"
msgstr ""
#: src/core/main.c:231
msgid "Run as a nested compositor"
msgstr ""
#: src/core/main.c:239
msgid "Run as a full display server, rather than nested"
msgstr ""
#. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
msgid "“%s” is not responding." msgid "“%s” is not responding."
msgstr "" msgstr ""
#: src/core/delete.c:129 #: src/core/meta-close-dialog-default.c:149
msgid "Application is not responding." msgid "Application is not responding."
msgstr "" msgstr ""
#: src/core/delete.c:134 #: src/core/meta-close-dialog-default.c:154
msgid "" msgid ""
"You may choose to wait a short while for it to continue or force the " "You may choose to wait a short while for it to continue or force the "
"application to quit entirely." "application to quit entirely."
msgstr "" msgstr ""
#: src/core/delete.c:141 #: src/core/meta-close-dialog-default.c:161
msgid "_Wait"
msgstr "_Fuirich"
#: src/core/delete.c:141
msgid "_Force Quit" msgid "_Force Quit"
msgstr "Sparr _fàgail air" msgstr "Sparr _fàgail air"
#: src/core/display.c:590 #: src/core/meta-close-dialog-default.c:161
#, c-format msgid "_Wait"
msgid "Failed to open X Window System display '%s'\n" msgstr "_Fuirich"
msgstr ""
#: src/core/main.c:182
msgid "Disable connection to session manager"
msgstr ""
#: src/core/main.c:188
msgid "Replace the running window manager"
msgstr ""
#: src/core/main.c:194
msgid "Specify session management ID"
msgstr ""
#: src/core/main.c:199
msgid "X Display to use"
msgstr ""
#: src/core/main.c:205
msgid "Initialize session from savefile"
msgstr ""
#: src/core/main.c:211
msgid "Make X calls synchronous"
msgstr ""
#: src/core/main.c:218
msgid "Run as a wayland compositor"
msgstr ""
#: src/core/main.c:224
msgid "Run as a nested compositor"
msgstr ""
#: src/core/main.c:232
msgid "Run as a full display server, rather than nested"
msgstr ""
#: src/core/mutter.c:39 #: src/core/mutter.c:39
#, c-format #, c-format
msgid "" msgid ""
"mutter %s\n" "mutter %s\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n" "Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n" "This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A " "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n" "PARTICULAR PURPOSE.\n"
@@ -558,34 +413,34 @@ msgstr ""
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Rum-obrach %d" msgstr "Rum-obrach %d"
#: src/core/screen.c:521 #: src/core/screen.c:583
#, c-format #, c-format
msgid "" msgid ""
"Display \"%s\" already has a window manager; try using the --replace option " "Display “%s” already has a window manager; try using the --replace option to "
"to replace the current window manager." "replace the current window manager."
msgstr "" msgstr ""
#: src/core/screen.c:606 #: src/core/screen.c:668
#, c-format #, c-format
msgid "Screen %d on display '%s' is invalid\n" msgid "Screen %d on display %s is invalid\n"
msgstr "" msgstr ""
#: src/core/util.c:120 #: src/core/util.c:120
msgid "Mutter was compiled without support for verbose mode\n" msgid "Mutter was compiled without support for verbose mode\n"
msgstr "" msgstr ""
#: src/wayland/meta-wayland-tablet-pad.c:595 #: src/wayland/meta-wayland-tablet-pad.c:563
#, c-format #, c-format
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Suidse nam modh: Modh %d" msgstr "Suidse nam modh: Modh %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1815
msgid "" msgid ""
"These windows do not support &quot;save current setup&quot; and will have to " "These windows do not support save current setup and will have to be "
"be restarted manually next time you log in." "restarted manually next time you log in."
msgstr "" msgstr ""
#: src/x11/window-props.c:548 #: src/x11/window-props.c:559
#, c-format #, c-format
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (air %s)" msgstr "%s (air %s)"

228
po/gl.po
View File

@@ -9,14 +9,13 @@
# Mancomún - Centro de Referencia e Servizos de Software Libre <g11n@mancomun.org>, 2009. # Mancomún - Centro de Referencia e Servizos de Software Libre <g11n@mancomun.org>, 2009.
# Fran Diéguez <frandieguez@gnome.org>, 2009, 2010, 2011, 2012. # Fran Diéguez <frandieguez@gnome.org>, 2009, 2010, 2011, 2012.
# Leandro Regueiro <leandro.regueiro@gmail.com>, 2012. # Leandro Regueiro <leandro.regueiro@gmail.com>, 2012.
# Fran Dieguez <frandieguez@gnome.org>, 2012, 2013, 2014, 2015, 2016, 2017. # Fran Dieguez <frandieguez@gnome.org>, 2012, 2013, 2014, 2015, 2016, 2017, 2018.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gl\n" "Project-Id-Version: gl\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=mutter" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-03-01 10:47+0000\n"
"POT-Creation-Date: 2017-08-29 16:09+0000\n" "PO-Revision-Date: 2018-03-03 14:18+0200\n"
"PO-Revision-Date: 2017-08-30 22:29+0200\n"
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n" "Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
"Language-Team: Galician\n" "Language-Team: Galician\n"
"Language: gl\n" "Language: gl\n"
@@ -52,134 +51,118 @@ msgid "Move window to last workspace"
msgstr "Mover xanela ao último espazo de traballo" msgstr "Mover xanela ao último espazo de traballo"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Mover xanela un espazo de traballo cara á esquerda"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Mover xanela un espazo de traballo cara á dereita"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Mover xanela un espazo de traballo cara a arriba" msgstr "Mover xanela un espazo de traballo cara a arriba"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Mover xanela un espazo de traballo cara a abaixo" msgstr "Mover xanela un espazo de traballo cara a abaixo"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Mover xanela un monitor á esquerda" msgstr "Mover xanela un monitor á esquerda"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Mover xanela un monitor á dereita" msgstr "Mover xanela un monitor á dereita"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Mover xanela un monitor arriba" msgstr "Mover xanela un monitor arriba"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Mover xanela un espazo de traballo abaixo" msgstr "Mover xanela un espazo de traballo abaixo"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Cambiar entre aplicativos" msgstr "Cambiar entre aplicativos"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Cambiar ao aplicativo aplicativos" msgstr "Cambiar ao aplicativo aplicativos"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Cambiar xanelas" msgstr "Cambiar xanelas"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Cambiar á xanela anterior" msgstr "Cambiar á xanela anterior"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Cambiar entre as xanelas dun aplicativo" msgstr "Cambiar entre as xanelas dun aplicativo"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Cambia á xanela anterior dun aplicativo" msgstr "Cambia á xanela anterior dun aplicativo"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Cambiar entre os controles do sistema" msgstr "Cambiar entre os controles do sistema"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Cambia ao control do sistema anterior" msgstr "Cambia ao control do sistema anterior"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Cambiar xanelas directamente" msgstr "Cambiar xanelas directamente"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Cambia directamente á xanela anterior" msgstr "Cambia directamente á xanela anterior"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Cambiar entre as xanelas dun aplicativo directamente" msgstr "Cambiar entre as xanelas dun aplicativo directamente"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Cambia directamente á xanela anterior do aplicativo" msgstr "Cambia directamente á xanela anterior do aplicativo"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Cambiar entre os controles do sistema directamente" msgstr "Cambiar entre os controles do sistema directamente"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Cambiar directamente ao control do sistema anterior" msgstr "Cambiar directamente ao control do sistema anterior"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Ocultar todas as xanelas normais" msgstr "Ocultar todas as xanelas normais"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Cambiar ao espazo de traballo 1" msgstr "Cambiar ao espazo de traballo 1"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Cambiar ao espazo de traballo 2" msgstr "Cambiar ao espazo de traballo 2"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Cambiar ao espazo de traballo 3" msgstr "Cambiar ao espazo de traballo 3"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Cambiar ao espazo de traballo 4" msgstr "Cambiar ao espazo de traballo 4"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Cambiar ao último espazo de traballo" msgstr "Cambiar ao último espazo de traballo"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Mover ao espazo da esquerda"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Mover ao espazo da dereita"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Mover ao espazo de arriba" msgstr "Mover ao espazo de arriba"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Mover ao espazo de traballo de abaixo" msgstr "Mover ao espazo de traballo de abaixo"
#: data/50-mutter-system.xml:6 #: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
msgid "System" msgid "System"
msgstr "Sistema" msgstr "Sistema"
@@ -191,6 +174,10 @@ msgstr "Mostrar o diálogo de executar orde"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Mostrar a vista xeral de actividades" msgstr "Mostrar a vista xeral de actividades"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Restaurar os atallos de teclado"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Xanelas" msgstr "Xanelas"
@@ -216,54 +203,50 @@ msgid "Restore window"
msgstr "Restaurar xanela" msgstr "Restaurar xanela"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Trocar o estado ensombrecido"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Pechar xanela" msgstr "Pechar xanela"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Ocultar xanela" msgstr "Ocultar xanela"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Mover xanela" msgstr "Mover xanela"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Redimensionar xanela" msgstr "Redimensionar xanela"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Trocar que a xanela apareza en tódolos espazos de traballo ou nun" 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:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Elevar a xanela se está cuberta por outra, en caso contrario baixala" msgstr "Elevar a xanela se está cuberta por outra, en caso contrario baixala"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Subir a xanela por enriba doutras xanelas" msgstr "Subir a xanela por enriba doutras xanelas"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Baixar xanela debaixo doutras xanelas" msgstr "Baixar xanela debaixo doutras xanelas"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Maximizar xanela verticalmente" msgstr "Maximizar xanela verticalmente"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Maximizar xanela horizontalmente" msgstr "Maximizar xanela horizontalmente"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Dividir vista á esquerda" msgstr "Dividir vista á esquerda"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Dividir vista á dereita" msgstr "Dividir vista á dereita"
@@ -411,16 +394,6 @@ msgid "Enable experimental features"
msgstr "Activar as características experimentais" msgstr "Activar as características experimentais"
#: data/org.gnome.mutter.gschema.xml.in:108 #: data/org.gnome.mutter.gschema.xml.in:108
#| msgid ""
#| "To enable experimental features, add the feature keyword to the list. "
#| "Whether the feature requires restarting the compositor depends on the "
#| "given feature. Any experimental feature is not required to still be "
#| "available, or configurable. Dont expect adding anything in this setting "
#| "to be future proof. Currently possible keywords: • “scale-monitor-"
#| "framebuffer” — makes mutter default to layout logical monitors in a "
#| "logical pixel coordinate space, while scaling monitor framebuffers "
#| "instead of window content, to manage HiDPI monitors. Does not require a "
#| "restart."
msgid "" msgid ""
"To enable experimental features, add the feature keyword to the list. " "To enable experimental features, add the feature keyword to the list. "
"Whether the feature requires restarting the compositor depends on the given " "Whether the feature requires restarting the compositor depends on the given "
@@ -516,10 +489,56 @@ msgstr "Cambiar á VT 12"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Reactivar os atallos" msgstr "Reactivar os atallos"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Permitir capturas con Xwayland"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"Permitir que se teña en conta a captura do teclado desde aplicativos X11 "
"executándose en Xwayland. Para que a captura X11 se teña en conta baixo "
"Wayland, o cliente debe enviar un ClientMessage de X11 específico á xanela "
"principal ou estar entre os aplicatios na lista blanca da chave «xwayland-"
"grab-access-rules»."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "Aplicaciones de Xwayland que poden capturar o teclado"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"Lista de nomes de recursos ou clases de recursos para as xanelas X11 tanto "
"permitidas como non permitidas para a captura do teclado en X11 baixo "
"Xwayland. O nome do recurso ou a clase do recurso da xanela X11 dada pode "
"obterse usando a orde «xprop WM_CLASS». Admítense os comodíns «*» e os "
"jokers \"?\" nos valores. Os valores comezando con «!» incluiranse na lista "
"negra, que ten precedencia sobre a lista branca, para revogar aplicativos "
"desde a lista por omisión do sistema. A lista por omisión do sitema inclúe "
"os seguintes aplicativos “@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Os usuarios "
"poden romper unha captura existente usando un atallo de teclado específico "
"definido na chave de atallo «restore-shortcuts»."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2151 #: src/backends/meta-input-settings.c:2325
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Modo conmutador (Grupo %d)" msgstr "Modo conmutador (Grupo %d)"
@@ -527,37 +546,37 @@ msgstr "Modo conmutador (Grupo %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2174 #: src/backends/meta-input-settings.c:2348
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Cambiar monitor" msgstr "Cambiar monitor"
#: src/backends/meta-input-settings.c:2176 #: src/backends/meta-input-settings.c:2350
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Mostrar axuda en pantalla" msgstr "Mostrar axuda en pantalla"
#: src/backends/meta-monitor-manager.c:903 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Pantalla embebida" msgstr "Pantalla embebida"
#: src/backends/meta-monitor-manager.c:926 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Descoñecido" msgstr "Descoñecido"
#: src/backends/meta-monitor-manager.c:928 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Pantalla descoñecida" msgstr "Pantalla descoñecida"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:936 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -574,42 +593,46 @@ msgstr "Evento de campá"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Produciuse un erro ao abrir a visualización do X Window System «%s»\n" msgstr "Produciuse un erro ao abrir a visualización do X Window System «%s»\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Desactivar a conexión ao xestor de sesión" msgstr "Desactivar a conexión ao xestor de sesión"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Substituír o xestor de xanelas en execución" msgstr "Substituír o xestor de xanelas en execución"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Especificar o ID de xestión de sesión" msgstr "Especificar o ID de xestión de sesión"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "Pantalla X que se vai usar" msgstr "Pantalla X que se vai usar"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Inicializar sesión desde o ficheiro de salvagarda" msgstr "Inicializar sesión desde o ficheiro de salvagarda"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Facer que as chamadas a X sexan sincrónicas" msgstr "Facer que as chamadas a X sexan sincrónicas"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Executar como compositor de wayland" msgstr "Executar como compositor de wayland"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Executar como compositor anidado" msgstr "Executar como compositor anidado"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Executar como un servidor de pantalla completo, fronte a un aniñado" msgstr "Executar como un servidor de pantalla completo, fronte a un aniñado"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Executar coa infraestructura de X11"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -664,7 +687,7 @@ msgstr "Engadido de mutter que usar"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Espazo de traballo %d" msgstr "Espazo de traballo %d"
#: src/core/screen.c:580 #: src/core/screen.c:583
#, c-format #, c-format
msgid "" msgid ""
"Display “%s” already has a window manager; try using the --replace option to " "Display “%s” already has a window manager; try using the --replace option to "
@@ -673,7 +696,7 @@ msgstr ""
"A pantalla «%s» ten xa un xestor de xanelas, tente usar a opción --replace " "A pantalla «%s» ten xa un xestor de xanelas, tente usar a opción --replace "
"para substituír o xestor de xanelas." "para substituír o xestor de xanelas."
#: src/core/screen.c:665 #: src/core/screen.c:668
#, c-format #, c-format
msgid "Screen %d on display “%s” is invalid\n" msgid "Screen %d on display “%s” is invalid\n"
msgstr "A pantalla %d na visualización «%s» non é válida\n" msgstr "A pantalla %d na visualización «%s» non é válida\n"
@@ -682,12 +705,12 @@ msgstr "A pantalla %d na visualización «%s» non é válida\n"
msgid "Mutter was compiled without support for verbose mode\n" msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter foi compilado sen compatibilidade para o modo detallado\n" msgstr "Mutter foi compilado sen compatibilidade para o modo detallado\n"
#: src/wayland/meta-wayland-tablet-pad.c:563 #: src/wayland/meta-wayland-tablet-pad.c:567
#, c-format #, c-format
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Modo conmutador: Modo %d" msgstr "Modo conmutador: Modo %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -700,6 +723,21 @@ msgstr ""
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (en %s)" msgstr "%s (en %s)"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Mover xanela un espazo de traballo cara á esquerda"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Mover xanela un espazo de traballo cara á dereita"
#~ msgid "Move to workspace left"
#~ msgstr "Mover ao espazo da esquerda"
#~ msgid "Move to workspace right"
#~ msgstr "Mover ao espazo da dereita"
#~ msgid "Toggle shaded state"
#~ msgstr "Trocar o estado ensombrecido"
#~ msgid "background texture could not be created from file" #~ msgid "background texture could not be created from file"
#~ msgstr "a textura do fondo non puido crearse desde o ficheiro" #~ msgstr "a textura do fondo non puido crearse desde o ficheiro"

215
po/hr.po
View File

@@ -4,10 +4,9 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: metacity 0\n" "Project-Id-Version: metacity 0\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-06 04:14+0000\n"
"POT-Creation-Date: 2017-08-29 16:09+0000\n" "PO-Revision-Date: 2018-02-17 16:00+0100\n"
"PO-Revision-Date: 2017-09-22 20:51+0200\n"
"Last-Translator: gogo <trebelnik2@gmail.com>\n" "Last-Translator: gogo <trebelnik2@gmail.com>\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\n" "Language-Team: Croatian <lokalizacija@linux.hr>\n"
"Language: hr\n" "Language: hr\n"
@@ -17,7 +16,7 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Launchpad-Export-Date: 2008-05-28 13:28+0000\n" "X-Launchpad-Export-Date: 2008-05-28 13:28+0000\n"
"X-Generator: Poedit 2.0.3\n" "X-Generator: Poedit 2.0.6\n"
#: data/50-mutter-navigation.xml:6 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
@@ -44,134 +43,118 @@ msgid "Move window to last workspace"
msgstr "Premjesti prozor posljednji radni prostor" msgstr "Premjesti prozor posljednji radni prostor"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Premjesti prozor jedan radni prostor nalijevo"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Premjesti prozor jedan radni prostor udesno"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Premjesti prozor jedan radni prostor gore" msgstr "Premjesti prozor jedan radni prostor gore"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Premjesti prozor jedan radni prostor dolje" msgstr "Premjesti prozor jedan radni prostor dolje"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Premjesti prozor jedan zaslon nalijevo" msgstr "Premjesti prozor jedan zaslon nalijevo"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Premjesti prozor jedan zaslon udesno" msgstr "Premjesti prozor jedan zaslon udesno"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Premjesti prozor jedan zaslon gore" msgstr "Premjesti prozor jedan zaslon gore"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Premjesti prozor jedan zaslon dolje" msgstr "Premjesti prozor jedan zaslon dolje"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Prebacivanje aplikacija" msgstr "Prebacivanje aplikacija"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Prebaci na prijašnju aplikaciju" msgstr "Prebaci na prijašnju aplikaciju"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Prebacivanje prozora" msgstr "Prebacivanje prozora"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Prebaci na prijašnji prozor" msgstr "Prebaci na prijašnji prozor"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Prebacivanje prozora aplikacija" msgstr "Prebacivanje prozora aplikacija"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Prebaci na prijašnji prozor aplikacije" msgstr "Prebaci na prijašnji prozor aplikacije"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Prebacivanje upravljanja sustavom" msgstr "Prebacivanje upravljanja sustavom"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Prebaci na prijašnje upravljanje sustavom" msgstr "Prebaci na prijašnje upravljanje sustavom"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Prebacivanje izravno na prozor" msgstr "Prebacivanje izravno na prozor"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Prebaci izravno na prijašnji prozor" msgstr "Prebaci izravno na prijašnji prozor"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Prebacivanje prozora aplikacije izravno" msgstr "Prebacivanje prozora aplikacije izravno"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Prebaci izravno na prijašnji prozor aplikacije" msgstr "Prebaci izravno na prijašnji prozor aplikacije"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Prebacivanje upravljanja sustavom izravno" msgstr "Prebacivanje upravljanja sustavom izravno"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Prebaci izravno na prijašnje upravljanje sustavom" msgstr "Prebaci izravno na prijašnje upravljanje sustavom"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Sakrij sve normalne prozore" msgstr "Sakrij sve normalne prozore"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Prebaci se na radni prostor 1" msgstr "Prebaci se na radni prostor 1"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Prebaci se na radni prostor 2" msgstr "Prebaci se na radni prostor 2"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Prebaci se na radni prostor 3" msgstr "Prebaci se na radni prostor 3"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Prebaci se na radni prostor 4" msgstr "Prebaci se na radni prostor 4"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Prebaci na prijašnji radni prostor" msgstr "Prebaci na prijašnji radni prostor"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Premjesti na lijevi radni prostor"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Premjesti na desni radni prostor"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Premjesti na gornji radni prostor" msgstr "Premjesti na gornji radni prostor"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Premjesti na donji radni prostor" msgstr "Premjesti na donji radni prostor"
#: data/50-mutter-system.xml:6 #: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
msgid "System" msgid "System"
msgstr "Sustav" msgstr "Sustav"
@@ -183,6 +166,10 @@ msgstr "Prikaži dijalog pokretanja naredbe"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Prikaži pregled aktivnosti" msgstr "Prikaži pregled aktivnosti"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Vrati izvorne prečace tipkovnice"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Prozori" msgstr "Prozori"
@@ -208,54 +195,50 @@ msgid "Restore window"
msgstr "Vrati prozor" msgstr "Vrati prozor"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Uklj/Isklj stanje zasjenjenosti"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Zatvori prozor" msgstr "Zatvori prozor"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Sakrij prozor" msgstr "Sakrij prozor"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Premjesti prozor" msgstr "Premjesti prozor"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Promijeni veličinu prozora" msgstr "Promijeni veličinu prozora"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Uklj/Isklj prozor na svim radnim prostorima" msgstr "Uklj/Isklj prozor na svim radnim prostorima"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Podigni prekriven prozor, u suprotnome smanji" msgstr "Podigni prekriven prozor, u suprotnome smanji"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Podigni prozor iznad ostalih prozora" msgstr "Podigni prozor iznad ostalih prozora"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Spusti prozor ispod ostalih prozora" msgstr "Spusti prozor ispod ostalih prozora"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Uvećaj prozor okomito" msgstr "Uvećaj prozor okomito"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Uvećaj prozor vodoravno" msgstr "Uvećaj prozor vodoravno"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Podijeli pogled ulijevo" msgstr "Podijeli pogled ulijevo"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Podijeli pogled udesno" msgstr "Podijeli pogled udesno"
@@ -493,10 +476,55 @@ msgstr "Prebaci na VT 12"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Ponovno omogući prečace" msgstr "Ponovno omogući prečace"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Dopusti hvatanje sa Xwaylandom"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"Dopusti hvatanje tipkovnicom aplikacije izdane za X11 pokrenute u Xwaylandu "
"kako bi se obuhvatile u računu. Kako bi X11 hvatanje bilo obuhvaćeno računom "
"u Waylandu, klijent mora poslati ili određenu X11 poruku klijenta u "
"korijenski prozor ili mora biti naveden među aplikacijama dopuštenim u "
"ključu “xwayland-grab-access-rules”."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "Xwayland aplikacije dopuštene za izdavanje hvatanja tipkovnice"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"Popis naziva ili razreda resursa X11 prozora koji dopuštaju ili nedopuštaju "
"izdavanje X11 hvatanja tipkovnice u Xwaylandu. Popis naziva ili razreda "
"resursa danog X11 prozora može se omogućiti naredbom “xprop WM_CLASS”. "
"Zvjezdice “*” i upitnici “?” u vrijednostima su podržani. Vrijednosti koje "
"počinju sa “!” nisu dopuštene, a imaju prednost nad dopuštenim, kako bi "
"opozvali aplikaciju iz zadanog popisa sustavom. Zadani popis sustava "
"uključuje sljedeće aplikacije: “@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” "
"Korisnici mogu prekinuti postojeće hvatanje koristeći određeni prečac "
"tipkovnice određen ključem prečaca tipkovnice “restore-shortcuts”."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2151 #: src/backends/meta-input-settings.c:2260
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Način prebacivanja (Grupa %d)" msgstr "Način prebacivanja (Grupa %d)"
@@ -504,37 +532,37 @@ msgstr "Način prebacivanja (Grupa %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2174 #: src/backends/meta-input-settings.c:2283
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Prebaci zaslon" msgstr "Prebaci zaslon"
#: src/backends/meta-input-settings.c:2176 #: src/backends/meta-input-settings.c:2285
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Prikaži zaslonsku pomoć" msgstr "Prikaži zaslonsku pomoć"
#: src/backends/meta-monitor-manager.c:903 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Ugrađeni zaslon" msgstr "Ugrađeni zaslon"
#: src/backends/meta-monitor-manager.c:926 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Nepoznat" msgstr "Nepoznat"
#: src/backends/meta-monitor-manager.c:928 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Nepoznat zaslon" msgstr "Nepoznat zaslon"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:936 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -550,42 +578,46 @@ msgstr "Događaj zvona"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Neuspjelo otvaranje sustava prikaza X prozora \"%s\"\n" msgstr "Neuspjelo otvaranje sustava prikaza X prozora \"%s\"\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Onemogući povezivanje sa upraviteljem sesija" msgstr "Onemogući povezivanje sa upraviteljem sesija"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Zamijeni pokrenutoga upravitelja porozora" msgstr "Zamijeni pokrenutoga upravitelja porozora"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Odredite ID upravljanja sesijama" msgstr "Odredite ID upravljanja sesijama"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "X Prikaz za korištenje" msgstr "X Prikaz za korištenje"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Pokreni sesiju iz spremljene datoteke" msgstr "Pokreni sesiju iz spremljene datoteke"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Napravi X pozive usklađenim" msgstr "Napravi X pozive usklađenim"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Pokreni wayland kompozitor" msgstr "Pokreni wayland kompozitor"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Pokreni kao ugrađeni kompozitor" msgstr "Pokreni kao ugrađeni kompozitor"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Pokreni kao potpuni poslužitelj zaslona, radije nego ugrađeni" msgstr "Pokreni kao potpuni poslužitelj zaslona, radije nego ugrađeni"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Pokreni s X11 pozadinskim programom"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -640,7 +672,7 @@ msgstr "Mutter priključak koji se koristi"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Radni prostor %d" msgstr "Radni prostor %d"
#: src/core/screen.c:580 #: src/core/screen.c:583
#, c-format #, c-format
msgid "" msgid ""
"Display “%s” already has a window manager; try using the --replace option to " "Display “%s” already has a window manager; try using the --replace option to "
@@ -649,7 +681,7 @@ msgstr ""
"Prikaz \"%s\" već ima upravitelja prozora; pokušajte koristiti --replace " "Prikaz \"%s\" već ima upravitelja prozora; pokušajte koristiti --replace "
"mogućnost za zamjenu trenutnog upravitelja prozora." "mogućnost za zamjenu trenutnog upravitelja prozora."
#: src/core/screen.c:665 #: src/core/screen.c:668
#, c-format #, c-format
msgid "Screen %d on display “%s” is invalid\n" msgid "Screen %d on display “%s” is invalid\n"
msgstr "Zaslon %d na prikazu '%s' je neispravan\n" msgstr "Zaslon %d na prikazu '%s' je neispravan\n"
@@ -663,7 +695,7 @@ msgstr "Mutter je kompiliran bez podrške za opširan način rada\n"
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Način prebacivanja: Način %d" msgstr "Način prebacivanja: Način %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -676,6 +708,21 @@ msgstr ""
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (na %s)" msgstr "%s (na %s)"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Premjesti prozor jedan radni prostor nalijevo"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Premjesti prozor jedan radni prostor udesno"
#~ msgid "Move to workspace left"
#~ msgstr "Premjesti na lijevi radni prostor"
#~ msgid "Move to workspace right"
#~ msgstr "Premjesti na desni radni prostor"
#~ msgid "Toggle shaded state"
#~ msgstr "Uklj/Isklj stanje zasjenjenosti"
#~ msgid "Desktop" #~ msgid "Desktop"
#~ msgstr "Radna površina" #~ msgstr "Radna površina"

231
po/hu.po
View File

@@ -1,19 +1,18 @@
# Hungarian translation of mutter. # Hungarian translation for mutter.
# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 Free Software Foundation, Inc. # Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Free Software Foundation, Inc.
# This file is distributed under the same license as the mutter package. # This file is distributed under the same license as the mutter package.
# #
# Andras Timar <timar at gnome dot hu>, 2002, 2003. # Andras Timar <timar at gnome dot hu>, 2002, 2003.
# Gabor Sari <saga at externet dot hu>, 2003. # Gabor Sari <saga at externet dot hu>, 2003.
# Laszlo Dvornik <dvornik at gnome dot hu>, 2004. # Laszlo Dvornik <dvornik at gnome dot hu>, 2004.
# Gabor Kelemen <kelemeng at gnome dot hu>, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013. # Gabor Kelemen <kelemeng at gnome dot hu>, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013.
# Balázs Úr <urbalazs at gmail dot com>, 2013, 2014, 2015, 2016, 2017. # Balázs Úr <urbalazs at gmail dot com>, 2013, 2014, 2015, 2016, 2017, 2018.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter master\n" "Project-Id-Version: mutter master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-07 18:39+0000\n"
"POT-Creation-Date: 2017-08-29 16:09+0000\n" "PO-Revision-Date: 2018-02-23 23:53+0100\n"
"PO-Revision-Date: 2017-09-05 17:35+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n" "Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n" "Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n"
"Language: hu\n" "Language: hu\n"
@@ -48,134 +47,118 @@ msgid "Move window to last workspace"
msgstr "Ablak áthelyezése az utolsó munkaterületre" msgstr "Ablak áthelyezése az utolsó munkaterületre"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Ablak áthelyezése a balra lévő munkaterületre"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Ablak áthelyezése a jobbra lévő munkaterületre"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Ablak áthelyezése egy munkaterülettel feljebb" msgstr "Ablak áthelyezése egy munkaterülettel feljebb"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Ablak áthelyezése egy munkaterülettel lejjebb" msgstr "Ablak áthelyezése egy munkaterülettel lejjebb"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Ablak áthelyezése a balra lévő monitorra" msgstr "Ablak áthelyezése a balra lévő monitorra"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Ablak áthelyezése a jobbra lévő monitorra" msgstr "Ablak áthelyezése a jobbra lévő monitorra"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Ablak áthelyezése egy monitorral feljebb" msgstr "Ablak áthelyezése egy monitorral feljebb"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Ablak áthelyezése egy monitorral lejjebb" msgstr "Ablak áthelyezése egy monitorral lejjebb"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Alkalmazásváltás" msgstr "Alkalmazásváltás"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Váltás az előző alkalmazásra" msgstr "Váltás az előző alkalmazásra"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Ablakváltás" msgstr "Ablakváltás"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Váltás az előző ablakra" msgstr "Váltás az előző ablakra"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Váltás egy alkalmazás ablakai között" msgstr "Váltás egy alkalmazás ablakai között"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Váltás egy alkalmazás előző ablakára" msgstr "Váltás egy alkalmazás előző ablakára"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Váltás a rendszer vezérlői közt" msgstr "Váltás a rendszer vezérlői közt"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Váltás az előző rendszervezérlőre" msgstr "Váltás az előző rendszervezérlőre"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Váltás az ablakok közt közvetlenül" msgstr "Váltás az ablakok közt közvetlenül"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Váltás közvetlenül az előző ablakra" msgstr "Váltás közvetlenül az előző ablakra"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Váltás egy alkalmazás ablakai között közvetlenül" msgstr "Váltás egy alkalmazás ablakai között közvetlenül"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Váltás közvetlenül egy alkalmazás előző ablakára" msgstr "Váltás közvetlenül egy alkalmazás előző ablakára"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Váltás a rendszer vezérlői közt közvetlenül" msgstr "Váltás a rendszer vezérlői közt közvetlenül"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Váltás közvetlenül az előző rendszervezérlőre" msgstr "Váltás közvetlenül az előző rendszervezérlőre"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Minden normál ablak elrejtése" msgstr "Minden normál ablak elrejtése"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Váltás az 1. munkaterületre" msgstr "Váltás az 1. munkaterületre"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Váltás a 2. munkaterületre" msgstr "Váltás a 2. munkaterületre"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Váltás a 3. munkaterületre" msgstr "Váltás a 3. munkaterületre"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Váltás a 4. munkaterületre" msgstr "Váltás a 4. munkaterületre"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Váltás az utolsó munkaterületre" msgstr "Váltás az utolsó munkaterületre"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Áthelyezés a bal oldali munkaterületre"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Áthelyezés a jobb oldali munkaterületre"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Áthelyezés a felső munkaterületre" msgstr "Áthelyezés a felső munkaterületre"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Áthelyezés az alsó munkaterületre" msgstr "Áthelyezés az alsó munkaterületre"
#: data/50-mutter-system.xml:6 #: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
msgid "System" msgid "System"
msgstr "Rendszer" msgstr "Rendszer"
@@ -187,6 +170,10 @@ msgstr "A parancs futtatása ablak megjelenítése"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "A tevékenységek áttekintés megjelenítése" msgstr "A tevékenységek áttekintés megjelenítése"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Gyorsbillentyűk helyreállítása"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Ablakok" msgstr "Ablakok"
@@ -212,54 +199,50 @@ msgid "Restore window"
msgstr "Ablak visszaállítása" msgstr "Ablak visszaállítása"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Felgördített állapot átváltása"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Ablak bezárása" msgstr "Ablak bezárása"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Ablak elrejtése" msgstr "Ablak elrejtése"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Ablak áthelyezése" msgstr "Ablak áthelyezése"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Ablak átméretezése" msgstr "Ablak átméretezése"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Ablak megjelenítése minden munkaterületen vagy csak az egyiken" msgstr "Ablak megjelenítése minden munkaterületen vagy csak az egyiken"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Fedett ablak előtérbe hozása, egyébként háttérbe küldése" msgstr "Fedett ablak előtérbe hozása, egyébként háttérbe küldése"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Ablak más ablakok elé hozása" msgstr "Ablak más ablakok elé hozása"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Ablak más ablakok mögé küldése" msgstr "Ablak más ablakok mögé küldése"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Ablak függőleges maximalizálása" msgstr "Ablak függőleges maximalizálása"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Ablak vízszintes maximalizálása" msgstr "Ablak vízszintes maximalizálása"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Bal oldali felosztás megjelenítése" msgstr "Bal oldali felosztás megjelenítése"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Jobb oldali felosztás megjelenítése" msgstr "Jobb oldali felosztás megjelenítése"
@@ -404,20 +387,6 @@ msgid "Enable experimental features"
msgstr "Kísérleti funkciók engedélyezése" msgstr "Kísérleti funkciók engedélyezése"
#: data/org.gnome.mutter.gschema.xml.in:108 #: data/org.gnome.mutter.gschema.xml.in:108
#| msgid ""
#| "To enable experimental features, add the feature keyword to the list. "
#| "Whether the feature requires restarting the compositor depends on the "
#| "given feature. Any experimental feature is not required to still be "
#| "available, or configurable. Dont expect adding anything in this setting "
#| "to be future proof. Currently possible keywords: • “monitor-config-"
#| "manager” — use the new monitor configuration system, aimed to replace the "
#| "old one. This enables a higher level configuration API to be used by "
#| "configuration applications, as well as the ability to configure per "
#| "logical monitor scale. • “scale-monitor-framebuffer” — makes mutter "
#| "default to layout logical monitors in a logical pixel coordinate space, "
#| "while scaling monitor framebuffers instead of window content, to manage "
#| "HiDPI monitors. Does not require a restart. Also enabling “monitor-config-"
#| "manager” is required for this feature to be enabled."
msgid "" msgid ""
"To enable experimental features, add the feature keyword to the list. " "To enable experimental features, add the feature keyword to the list. "
"Whether the feature requires restarting the compositor depends on the given " "Whether the feature requires restarting the compositor depends on the given "
@@ -432,12 +401,12 @@ msgid ""
"screen cast support." "screen cast support."
msgstr "" msgstr ""
"A kísérleti funkciók engedélyezéséhez adja hozzá a funkció kulcsszavát a " "A kísérleti funkciók engedélyezéséhez adja hozzá a funkció kulcsszavát a "
"listához. A funkció a betűszedő újraindítását igényelheti az adott funkciótól " "listához. A funkció a betűszedő újraindítását igényelheti az adott "
"függően. Egyik kísérleti funkciónál sem szükséges, hogy továbbra is elérhető " "funkciótól függően. Egyik kísérleti funkciónál sem szükséges, hogy továbbra "
"vagy beállítható legyen. Ne várja el azt, hogy ha bármit hozzáad ehhez a " "is elérhető vagy beállítható legyen. Ne várja el azt, hogy ha bármit hozzáad "
"beállításhoz, akkor az a jövőben is elérhető lesz. Jelenleg lehetséges " "ehhez a beállításhoz, akkor az a jövőben is elérhető lesz. Jelenleg "
"kulcsszavak: • „scale-monitor-framebuffer” — alapértelmezetté teszi a mutter " "lehetséges kulcsszavak: • „scale-monitor-framebuffer” — alapértelmezetté "
"programot a logikai monitorok elrendezéséhez egy logikai " "teszi a mutter programot a logikai monitorok elrendezéséhez egy logikai "
"képpontkoordináta-térben, miközben átméretezi a monitor keretpufferét az " "képpontkoordináta-térben, miközben átméretezi a monitor keretpufferét az "
"ablaktartalom helyett azért, hogy kezelje a HiDPI monitorokat. Nem igényel " "ablaktartalom helyett azért, hogy kezelje a HiDPI monitorokat. Nem igényel "
"újraindítást. • „remote-desktop” — engedélyezi a távoli asztal támogatást. A " "újraindítást. • „remote-desktop” — engedélyezi a távoli asztal támogatást. A "
@@ -513,10 +482,56 @@ msgstr "Váltás a 12. VT-re"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Gyorsbillentyűk újraengedélyezése" msgstr "Gyorsbillentyűk újraengedélyezése"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Xwayland megragadások engedélyezése"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"Engedélyezi az Xwayland alatti X11 alkalmazások által kért billentyűzet "
"megragadások figyelembe vételét. Ahhoz, hogy Wayland alatt figyelembe "
"legyenek véve az X11 megragadások, a kliensnek vagy küldenie kell egy "
"meghatározott X11 ClientMessage üzenetet a gyökérablaknak, vagy az „xwayland-"
"grab-access-rules” kulcsban megadott fehérlistában kell szerepelnie."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "Xwayland alkalmazások, amelyek kérhetnek billentyűzet megragadást"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"Felsorolja azokat az X11 ablak erőforrásneveket vagy erőforrásosztályokat, "
"amelyek Xwayland alatt vagy kiadhatnak X11 billentyűzet megragadásokat, vagy "
"sem. A megadott X11 ablak erőforrásneve vagy erőforrásosztálya az „xprop "
"WM_CLASS” paranccsal kérhető le. Az értékekben a „*” vagy „?” helyettesítő "
"karakterek támogatottak. A „!” karakterrel kezdődő értékek feketelistára "
"kerülnek, és a fehérlista előtt lesznek figyelembe véve, így felülbírálva az "
"alapértelmezett rendszerlistát. Az alapértelmezett rendszerlistán a "
"következő alkalmazások szerepelnek: „@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@”. "
"A felhasználók megszakíthatják a létező megragadásokat a „restore-shortcuts” "
"kulcsban megadott gyorsbillentyűvel."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2151 #: src/backends/meta-input-settings.c:2260
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Módkapcsoló (%d. csoport)" msgstr "Módkapcsoló (%d. csoport)"
@@ -524,37 +539,37 @@ msgstr "Módkapcsoló (%d. csoport)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2174 #: src/backends/meta-input-settings.c:2283
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Monitorváltás" msgstr "Monitorváltás"
#: src/backends/meta-input-settings.c:2176 #: src/backends/meta-input-settings.c:2285
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Képernyősúgó megjelenítése" msgstr "Képernyősúgó megjelenítése"
#: src/backends/meta-monitor-manager.c:903 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Beépített kijelző" msgstr "Beépített kijelző"
#: src/backends/meta-monitor-manager.c:926 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Ismeretlen" msgstr "Ismeretlen"
#: src/backends/meta-monitor-manager.c:928 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Ismeretlen kijelző" msgstr "Ismeretlen kijelző"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:936 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -571,43 +586,47 @@ msgstr "Csengetés esemény"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Nem sikerült megnyitni a(z) „%s” X Window rendszer képernyőt\n" msgstr "Nem sikerült megnyitni a(z) „%s” X Window rendszer képernyőt\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "A munkamenet-kezelőhöz való csatlakozás tiltása" msgstr "A munkamenet-kezelőhöz való csatlakozás tiltása"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "A futó ablakkezelő helyettesítése" msgstr "A futó ablakkezelő helyettesítése"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "A munkamenet-kezelő azonosítójának megadása" msgstr "A munkamenet-kezelő azonosítójának megadása"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "A használandó X megjelenítő" msgstr "A használandó X megjelenítő"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "A munkamenet előkészítése a mentési fájlból" msgstr "A munkamenet előkészítése a mentési fájlból"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Az X-hívások szinkronná tétele" msgstr "Az X-hívások szinkronná tétele"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Futtatás wayland betűszedőként" msgstr "Futtatás wayland betűszedőként"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Futtatás beágyazott betűszedőként" msgstr "Futtatás beágyazott betűszedőként"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "" msgstr ""
"Futtatás teljes megjelenítő kiszolgálóként az egymásba ágyazott helyett" "Futtatás teljes megjelenítő kiszolgálóként az egymásba ágyazott helyett"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Futtatás X11 háttérprogrammal"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -662,7 +681,7 @@ msgstr "Használandó Mutter bővítmény"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "%d. munkaterület" msgstr "%d. munkaterület"
#: src/core/screen.c:580 #: src/core/screen.c:583
#, c-format #, c-format
msgid "" msgid ""
"Display “%s” already has a window manager; try using the --replace option to " "Display “%s” already has a window manager; try using the --replace option to "
@@ -671,7 +690,7 @@ msgstr ""
"A(z) „%s” kijelző már rendelkezik ablakkezelővel; próbálja a --replace " "A(z) „%s” kijelző már rendelkezik ablakkezelővel; próbálja a --replace "
"kapcsolóval helyettesíteni a jelenlegi ablakkezelőt." "kapcsolóval helyettesíteni a jelenlegi ablakkezelőt."
#: src/core/screen.c:665 #: src/core/screen.c:668
#, c-format #, c-format
msgid "Screen %d on display “%s” is invalid\n" msgid "Screen %d on display “%s” is invalid\n"
msgstr "A(z) %d. képernyő a(z) „%s” megjelenítőn érvénytelen\n" msgstr "A(z) %d. képernyő a(z) „%s” megjelenítőn érvénytelen\n"
@@ -685,7 +704,7 @@ msgstr "A Mutter ablakkezelőt a részletes mód támogatása nélkül fordítot
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Módkapcsoló: %d. mód" msgstr "Módkapcsoló: %d. mód"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."

201
po/id.po
View File

@@ -9,17 +9,16 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter master\n" "Project-Id-Version: mutter master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-07 18:39+0000\n"
"POT-Creation-Date: 2017-11-10 18:16+0000\n" "PO-Revision-Date: 2018-02-09 17:00+0700\n"
"PO-Revision-Date: 2017-11-16 11:36+0700\n"
"Last-Translator: Kukuh Syafaat <syafaatkukuh@gmail.com>\n" "Last-Translator: Kukuh Syafaat <syafaatkukuh@gmail.com>\n"
"Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n" "Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n"
"Language: id\n" "Language: id\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.4\n" "X-Generator: Poedit 2.0.6\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
#: data/50-mutter-navigation.xml:6 #: data/50-mutter-navigation.xml:6
@@ -47,130 +46,114 @@ msgid "Move window to last workspace"
msgstr "Pindahkan jendela ke ruang kerja terakhir" msgstr "Pindahkan jendela ke ruang kerja terakhir"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Pindahkan jendela satu ruang kerja ke kiri"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Pindahkan jendela satu ruang kerja ke kanan"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Pindahkan jendela satu ruang kerja ke atas" msgstr "Pindahkan jendela satu ruang kerja ke atas"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Pindahkan jendela satu ruang kerja ke bawah" msgstr "Pindahkan jendela satu ruang kerja ke bawah"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Pindahkan jendela satu monitor ke kiri" msgstr "Pindahkan jendela satu monitor ke kiri"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Pindahkan jendela satu monitor ke kanan" msgstr "Pindahkan jendela satu monitor ke kanan"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Pindahkan jendela satu monitor ke atas" msgstr "Pindahkan jendela satu monitor ke atas"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Pindahkan jendela satu monitor ke bawah" msgstr "Pindahkan jendela satu monitor ke bawah"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Bertukar aplikasi" msgstr "Bertukar aplikasi"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Bertukar ke aplikasi sebelumnya" msgstr "Bertukar ke aplikasi sebelumnya"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Bertukar jendela" msgstr "Bertukar jendela"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Bertukar ke jendela sebelumnya" msgstr "Bertukar ke jendela sebelumnya"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Bertukar jendela dari suatu aplikasi" msgstr "Bertukar jendela dari suatu aplikasi"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Bertukar ke jendela aplikasi sebelumnya" msgstr "Bertukar ke jendela aplikasi sebelumnya"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Bertukar kendali sistem" msgstr "Bertukar kendali sistem"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Bertukar ke kendali sistem sebelumnya" msgstr "Bertukar ke kendali sistem sebelumnya"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Bertukar jendela secara langsung" msgstr "Bertukar jendela secara langsung"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Bertukar secara langsung ke jendela sebelumnya" msgstr "Bertukar secara langsung ke jendela sebelumnya"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Bertukar jendela dari suatu app secara langsung" msgstr "Bertukar jendela dari suatu app secara langsung"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Bertukar secara langsung ke jendela sebelumnya dari suatu app" msgstr "Bertukar secara langsung ke jendela sebelumnya dari suatu app"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Bertukar kendali sistem secara langsung" msgstr "Bertukar kendali sistem secara langsung"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Bertukar secara langsung ke kendali sistem sebelumnya" msgstr "Bertukar secara langsung ke kendali sistem sebelumnya"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Sembunyikan semua jendela normal" msgstr "Sembunyikan semua jendela normal"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Bertukar ke ruang kerja 1" msgstr "Bertukar ke ruang kerja 1"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Bertukar ke ruang kerja 2" msgstr "Bertukar ke ruang kerja 2"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Bertukar ke ruang kerja 3" msgstr "Bertukar ke ruang kerja 3"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Bertukar ke ruang kerja 4" msgstr "Bertukar ke ruang kerja 4"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Bertukar ke ruang kerja terakhir" msgstr "Bertukar ke ruang kerja terakhir"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Pindahkan ke ruang kerja kiri"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Pindahkan ke ruang kerja kanan"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Pindahkan ke ruang kerja di atas" msgstr "Pindahkan ke ruang kerja di atas"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Pindahkan ke ruang kerja di bawah" msgstr "Pindahkan ke ruang kerja di bawah"
@@ -215,54 +198,50 @@ msgid "Restore window"
msgstr "Pulihkan jendela" msgstr "Pulihkan jendela"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Jungkitkan keadaan berbayang"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Tutup jendela" msgstr "Tutup jendela"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Sembunyikan jendela" msgstr "Sembunyikan jendela"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Pindahkan jendela" msgstr "Pindahkan jendela"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Ubah ukuran jendela" msgstr "Ubah ukuran jendela"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Jungkitkan jendela pada semua atau satu area kerja" msgstr "Jungkitkan jendela pada semua atau satu area kerja"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Naikkan jendela bila tertutup jendela lain, sebaliknya turunkan" msgstr "Naikkan jendela bila tertutup jendela lain, sebaliknya turunkan"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Naikkan jendela di atas jendela-jendela lain" msgstr "Naikkan jendela di atas jendela-jendela lain"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Turunkan jendela di bawah jendela-jendela lain" msgstr "Turunkan jendela di bawah jendela-jendela lain"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Maksimalkan ukuran jendela secara vertikal" msgstr "Maksimalkan ukuran jendela secara vertikal"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Maksimalkan ukuran jendela secara horisontal" msgstr "Maksimalkan ukuran jendela secara horisontal"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Tilik belah di kiri" msgstr "Tilik belah di kiri"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Tilik belah di kanan" msgstr "Tilik belah di kanan"
@@ -501,10 +480,59 @@ msgstr "Bertukar ke VT 12"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Aktifkan kembali pintasan" msgstr "Aktifkan kembali pintasan"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Izinkan menggenggam dengan Xwayland"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"Mengizinkan pengambilalihan papan ketik yang dikeluarkan oleh aplikasi X11 "
"yang berjalan di Xwayland untuk diperhitungkan. Agar pengambilalihan X11 "
"diperhitungkan di bawah Wayland, klien juga harus mengirimkan ClientMessage "
"X11 tertentu ke jendela root atau berada di antara aplikasi yang tercantum "
"dalam daftar putih \"xwayland-grab-access-rules\"."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr ""
"Aplikasi Xwayland yang diizinkan untuk mengeluarkan pengambilalihan papan "
"ketik"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"Buat daftar nama sumber daya atau kelas sumber daya dari jendela X11 yang "
"diizinkan atau tidak diizinkan untuk melakukan pengambilalihan papan ketik "
"X11 di bawah Xwayland. Nama sumber daya atau kelas sumber daya dari jendela "
"X11 yang diberikan dapat diperoleh memakai perintah \"xprop WM_CLASS\". "
"Wildcard \"*\" dan joker \"?\" dalam nilai didukung. Nilai yang dimulai "
"dengan \"!\" masuk daftar hitam, yang punya preseden atas daftar putih, "
"untuk mencabut aplikasi dari daftar sistem bawaan. Daftar sistem bawaan "
"termasuk aplikasi-aplikasi berikut: \"@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@"
"\". Pengguna dapat memutus pengambilalihan yang ada dengan memakai pintasan "
"papan ketik spesifik yang didefinisikan oleh tombol pengikatan \"restore-"
"shortcuts\"."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2167 #: src/backends/meta-input-settings.c:2260
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Tukar Mode: (Grup %d)" msgstr "Tukar Mode: (Grup %d)"
@@ -512,11 +540,11 @@ msgstr "Tukar Mode: (Grup %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2190 #: src/backends/meta-input-settings.c:2283
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Berpindah monitor" msgstr "Berpindah monitor"
#: src/backends/meta-input-settings.c:2192 #: src/backends/meta-input-settings.c:2285
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Tampilkan bantuan pada layar" msgstr "Tampilkan bantuan pada layar"
@@ -542,7 +570,7 @@ msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -558,42 +586,46 @@ msgstr "Bel peristiwa"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Gagal membuka tampilan X Window System \"%s\"\n" msgstr "Gagal membuka tampilan X Window System \"%s\"\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Menonaktifkan koneksi ke manajer sesi" msgstr "Menonaktifkan koneksi ke manajer sesi"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Mengganti manajer jendela yang tengah berjalan" msgstr "Mengganti manajer jendela yang tengah berjalan"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Tentukan kode pengaturan sesi" msgstr "Tentukan kode pengaturan sesi"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "Tampilan X yang digunakna" msgstr "Tampilan X yang digunakna"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Aktifkan sesi dari berkas simpanan" msgstr "Aktifkan sesi dari berkas simpanan"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Buat panggilan X selaras" msgstr "Buat panggilan X selaras"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Jalankan sebagai kompositor wayland" msgstr "Jalankan sebagai kompositor wayland"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Jalankan sebagai kompositor bersarang" msgstr "Jalankan sebagai kompositor bersarang"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Jalankan sebagai server tampilan penuh, ketimbang tampilan bersarang" msgstr "Jalankan sebagai server tampilan penuh, ketimbang tampilan bersarang"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Jalankan dengan backend X11"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -671,7 +703,7 @@ msgstr "Muter dikompilasi tanpa dukungan mode riuh\n"
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Tukar Mode: Mode %d" msgstr "Tukar Mode: Mode %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -683,3 +715,18 @@ msgstr ""
#, c-format #, c-format
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (pada %s)" msgstr "%s (pada %s)"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Pindahkan jendela satu ruang kerja ke kiri"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Pindahkan jendela satu ruang kerja ke kanan"
#~ msgid "Move to workspace left"
#~ msgstr "Pindahkan ke ruang kerja kiri"
#~ msgid "Move to workspace right"
#~ msgstr "Pindahkan ke ruang kerja kanan"
#~ msgid "Toggle shaded state"
#~ msgstr "Jungkitkan keadaan berbayang"

208
po/it.po
View File

@@ -2,18 +2,18 @@
# Based on Italian translation for Metacity # Based on Italian translation for Metacity
# This file is distributed under the same license as metacity package # This file is distributed under the same license as metacity package
# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 Free Software Foundation, Inc. # Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 Free Software Foundation, Inc.
# Copyright (C) 2018 Free Software Foundation, Inc.
# Pier Luigi Fiorini <plfiorini@libero.it>, 2002. # Pier Luigi Fiorini <plfiorini@libero.it>, 2002.
# Lapo Calamandrei <lapo.calamandrei@virgilio.it>, 2003. # Lapo Calamandrei <lapo.calamandrei@virgilio.it>, 2003.
# Luca Ferretti <lferrett@gnome.org>, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. # Luca Ferretti <lferrett@gnome.org>, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012.
# Milo Casagrande <milo@milo.name>, 2012, 2013, 2014, 2015, 2016, 2017. # Milo Casagrande <milo@milo.name>, 2012, 2013, 2014, 2015, 2016, 2017, 2018.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter\n" "Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-06 04:14+0000\n"
"POT-Creation-Date: 2017-11-10 18:18+0000\n" "PO-Revision-Date: 2018-02-09 16:49+0100\n"
"PO-Revision-Date: 2017-11-17 14:30+0100\n"
"Last-Translator: Milo Casagrande <milo@milo.name>\n" "Last-Translator: Milo Casagrande <milo@milo.name>\n"
"Language-Team: Italian <tp@lists.linux.it>\n" "Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n" "Language: it\n"
@@ -48,130 +48,114 @@ msgid "Move window to last workspace"
msgstr "Sposta la finestra sull'ultimo spazio di lavoro" msgstr "Sposta la finestra sull'ultimo spazio di lavoro"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Sposta la finestra sullo spazio di lavoro a sinistra"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Sposta la finestra sullo spazio di lavoro a destra"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Sposta la finestra sullo spazio di lavoro in alto" msgstr "Sposta la finestra sullo spazio di lavoro in alto"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Sposta la finestra sullo spazio di lavoro in basso" msgstr "Sposta la finestra sullo spazio di lavoro in basso"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Sposta la finestra un monitor a sinistra" msgstr "Sposta la finestra un monitor a sinistra"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Sposta la finestra un monitor a destra" msgstr "Sposta la finestra un monitor a destra"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Sposta la finestra un monitor in su" msgstr "Sposta la finestra un monitor in su"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Sposta la finestra un monitor in giù" msgstr "Sposta la finestra un monitor in giù"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Evidenzia le applicazioni" msgstr "Evidenzia le applicazioni"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Evidenzia l'applicazione precedente" msgstr "Evidenzia l'applicazione precedente"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Evidenzia direttamente le finestre" msgstr "Evidenzia direttamente le finestre"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Evidenzia la finestra precedente" msgstr "Evidenzia la finestra precedente"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Evidenzia le finestre di un'applicazione" msgstr "Evidenzia le finestre di un'applicazione"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Evidenzia la finestra precedente di un'applicazione" msgstr "Evidenzia la finestra precedente di un'applicazione"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Evidenzia i controlli di sistema" msgstr "Evidenzia i controlli di sistema"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Evidenzia i controlli di sistema precedenti" msgstr "Evidenzia i controlli di sistema precedenti"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Evidenzia direttamente le finestre" msgstr "Evidenzia direttamente le finestre"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Evidenzia direttamente la finestra precedente" msgstr "Evidenzia direttamente la finestra precedente"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Evidenzia direttamente le finestre di una applicazione" msgstr "Evidenzia direttamente le finestre di una applicazione"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Evidenzia direttamente la finestra precedente di un'applicazione" msgstr "Evidenzia direttamente la finestra precedente di un'applicazione"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Evidenzia direttamente i controlli di sistema" msgstr "Evidenzia direttamente i controlli di sistema"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Evidenzia direttamente i controlli di sistema precedenti" msgstr "Evidenzia direttamente i controlli di sistema precedenti"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Nasconde tutte le finestre normali" msgstr "Nasconde tutte le finestre normali"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Passa allo spazio di lavoro 1" msgstr "Passa allo spazio di lavoro 1"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Passa allo spazio di lavoro 2" msgstr "Passa allo spazio di lavoro 2"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Passa allo spazio di lavoro 3" msgstr "Passa allo spazio di lavoro 3"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Passa allo spazio di lavoro 4" msgstr "Passa allo spazio di lavoro 4"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Passa all'ultimo spazio di lavoro" msgstr "Passa all'ultimo spazio di lavoro"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Sposta su spazio di lavoro a sinistra"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Sposta su spazio di lavoro a destra"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Sposta su spazio di lavoro in alto" msgstr "Sposta su spazio di lavoro in alto"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Sposta su spazio di lavoro in basso" msgstr "Sposta su spazio di lavoro in basso"
@@ -216,58 +200,54 @@ msgid "Restore window"
msgstr "Ripristina la finestra" msgstr "Ripristina la finestra"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Attiva/Disattiva lo stato arrotolato"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Chiudi la finestra" msgstr "Chiudi la finestra"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Ridimensiona la finestra" msgstr "Ridimensiona la finestra"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Muovi la finestra" msgstr "Muovi la finestra"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Ridimensiona la finestra" msgstr "Ridimensiona la finestra"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "" msgstr ""
"Attiva/Disattiva la stato «su tutti gli spazi di lavoro» per la finestra" "Attiva/Disattiva la stato «su tutti gli spazi di lavoro» per la finestra"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Solleva la finestra se è coperta, in caso contrario l'abbassa" msgstr "Solleva la finestra se è coperta, in caso contrario l'abbassa"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Solleva la finestra sopra le altre" msgstr "Solleva la finestra sopra le altre"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Abbassa la finestra sotto le altre" msgstr "Abbassa la finestra sotto le altre"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Massimizza verticalmente la finestra" msgstr "Massimizza verticalmente la finestra"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Massimizza orizzontalmente la finestra" msgstr "Massimizza orizzontalmente la finestra"
# scorciatoia per mettere la finestra a mezzo schermo intero sulla sinistra # scorciatoia per mettere la finestra a mezzo schermo intero sulla sinistra
# #
# traduzione infedele, ma "frazionamento della vista a sn/ds" mi pare peggio # traduzione infedele, ma "frazionamento della vista a sn/ds" mi pare peggio
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Massimizza a sinistra" msgstr "Massimizza a sinistra"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Massimizza a destra" msgstr "Massimizza a destra"
@@ -514,10 +494,57 @@ msgstr "Passa al VT 12"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Riabilita scorciatoie" msgstr "Riabilita scorciatoie"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Consente la cattura con Xwayland"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"Consente la cattura della tastiera da applicazioni X11 in esecuzione su "
"Xwayland. Affinché la cattura X11 venga considerata da Wayland, il client "
"deve inviare uno specifico messaggio ClientMessage X11 alla finestra "
"principale o essere nell'elenco di applicazioni autorizzate tramite la "
"chiave \"xwayland-grab-access-rules\"."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr ""
"Applicazioni Xwayland autorizzare a inizializzare catture della tastiera"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"Lista di nomi o classi delle risorse di finestre X11 autorizzate o meno a "
"inizializzare la cattura della tastiera X11 su Xwayland. Per ottenere i nomi "
"o le classi delle risorse di una finestra X11 è possibile utilizzare il "
"comando \"xprop WM_CLASS\". Sono consentiti i caratteri \"*\" e \"?"
"\" (asterisco e punto di domanda) nei valori. Valori che iniziano con \"!\" "
"indicano una risorsa da escludere che ha priorità più alta rispetto alle "
"applicazioni autorizzate. La lista predefinita di sistema include le "
"seguenti applicazioni: \"@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@\" Gli utenti "
"possono interrompere una cattura esistente utilizzando la scorciatoia "
"definita nella chiave \"restore-shortcuts\"."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2167 #: src/backends/meta-input-settings.c:2260
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Cambio modalità (gruppo %d)" msgstr "Cambio modalità (gruppo %d)"
@@ -525,37 +552,37 @@ msgstr "Cambio modalità (gruppo %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2190 #: src/backends/meta-input-settings.c:2283
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Cambia monitor" msgstr "Cambia monitor"
#: src/backends/meta-input-settings.c:2192 #: src/backends/meta-input-settings.c:2285
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Mostra aiuto sullo schermo" msgstr "Mostra aiuto sullo schermo"
#: src/backends/meta-monitor-manager.c:908 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Display integrato" msgstr "Display integrato"
#: src/backends/meta-monitor-manager.c:931 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Sconosciuto" msgstr "Sconosciuto"
#: src/backends/meta-monitor-manager.c:933 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Display sconosciuto" msgstr "Display sconosciuto"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:941 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -572,42 +599,46 @@ msgstr "Evento campanella"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Apertura del display «%s» di X Window System non riuscita\n" msgstr "Apertura del display «%s» di X Window System non riuscita\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Disabilita la connessione al gestore di sessione" msgstr "Disabilita la connessione al gestore di sessione"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Sostituisce il window manager in esecuzione" msgstr "Sostituisce il window manager in esecuzione"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Specifica l'ID di gestione sessione" msgstr "Specifica l'ID di gestione sessione"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "Display X da usare" msgstr "Display X da usare"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Inizializza la sessione da file salvato" msgstr "Inizializza la sessione da file salvato"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Rende le chiamate X sincrone" msgstr "Rende le chiamate X sincrone"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Esegui come compositor Wayland" msgstr "Esegui come compositor Wayland"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Esegui come compositor annidato" msgstr "Esegui come compositor annidato"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Esegui come display server invece che annidato" msgstr "Esegui come display server invece che annidato"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Esegui con sistema X11"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -686,7 +717,7 @@ msgstr ""
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Cambio modalità: modalità %d" msgstr "Cambio modalità: modalità %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -698,3 +729,18 @@ msgstr ""
#, c-format #, c-format
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (su %s)" msgstr "%s (su %s)"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Sposta la finestra sullo spazio di lavoro a sinistra"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Sposta la finestra sullo spazio di lavoro a destra"
#~ msgid "Move to workspace left"
#~ msgstr "Sposta su spazio di lavoro a sinistra"
#~ msgid "Move to workspace right"
#~ msgstr "Sposta su spazio di lavoro a destra"
#~ msgid "Toggle shaded state"
#~ msgstr "Attiva/Disattiva lo stato arrotolato"

226
po/ko.po
View File

@@ -7,6 +7,7 @@
# #
# Updated in mutter: # Updated in mutter:
# Changwoo Ryu <cwryu@debian.org>, 2011-2017. # Changwoo Ryu <cwryu@debian.org>, 2011-2017.
# Gwan-gyeong Mun <elongbug@gmail.com>, 2018.
# #
# #
# 주의: # 주의:
@@ -16,11 +17,10 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter\n" "Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-06 04:14+0000\n"
"POT-Creation-Date: 2017-08-29 16:09+0000\n" "PO-Revision-Date: 2018-02-24 16:14+0900\n"
"PO-Revision-Date: 2017-09-02 12:57+0900\n" "Last-Translator: Gwan-gyeong Mun <elongbug@gmail.com>\n"
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
"Language-Team: GNOME Korea <gnome-kr@googlegroups.com>\n" "Language-Team: GNOME Korea <gnome-kr@googlegroups.com>\n"
"Language: ko\n" "Language: ko\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -53,134 +53,118 @@ msgid "Move window to last workspace"
msgstr "창을 최근 작업 공간으로 옮기기" msgstr "창을 최근 작업 공간으로 옮기기"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "창을 한칸 왼쪽 작업 공간으로 옮기기"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "창을 한칸 오른쪽 작업 공간으로 옮기기"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "창을 한칸 위 작업 공간으로 옮기기" msgstr "창을 한칸 위 작업 공간으로 옮기기"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "창을 한칸 아래 작업 공간으로 옮기기" msgstr "창을 한칸 아래 작업 공간으로 옮기기"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "창을 한칸 왼쪽 모니터로 옮기기" msgstr "창을 한칸 왼쪽 모니터로 옮기기"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "창을 한칸 오른쪽 모니터로 옮기기" msgstr "창을 한칸 오른쪽 모니터로 옮기기"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "창을 한칸 위 모니터로 옮기기" msgstr "창을 한칸 위 모니터로 옮기기"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "창을 한칸 아래 모니터로 옮기기" msgstr "창을 한칸 아래 모니터로 옮기기"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr " 전환" msgstr "프로그램 전환"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "이전 으로 전환" msgstr "이전 프로그램으로 전환"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "창 전환" msgstr "창 전환"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "이전 창으로 전환" msgstr "이전 창으로 전환"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "한 의 창 전환" msgstr "한 프로그램의 창 전환"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "한 의 이전 창으로 전환" msgstr "한 프로그램의 이전 창으로 전환"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "시스템 조작 전환" msgstr "시스템 조작 전환"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "이전 시스템 조작으로 전환" msgstr "이전 시스템 조작으로 전환"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "직접 창 전환" msgstr "직접 창 전환"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "직접 이전 창으로 전환" msgstr "직접 이전 창으로 전환"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "직접 한 앱의 창 전환" msgstr "직접 한 앱의 창 전환"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "직접 한 앱의 이전 창으로 전환" msgstr "직접 한 앱의 이전 창으로 전환"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "직접 시스템 조작 전환" msgstr "직접 시스템 조작 전환"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "직접 이전 시스템 조작으로 전환" msgstr "직접 이전 시스템 조작으로 전환"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "모든 일반 창 감추기" msgstr "모든 일반 창 감추기"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "작업 공간 1로 이동" msgstr "작업 공간 1로 이동"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "작업 공간 2로 이동" msgstr "작업 공간 2로 이동"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "작업 공간 3으로 이동" msgstr "작업 공간 3으로 이동"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "작업 공간 4로 이동" msgstr "작업 공간 4로 이동"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "최근 작업 공간으로 이동" msgstr "최근 작업 공간으로 이동"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "왼쪽 작업 공간으로 옮기기"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "오른쪽 작업 공간으로 옮기기"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "위 작업 공간으로 옮기기" msgstr "위 작업 공간으로 옮기기"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "아래 작업 공간으로 옮기기" msgstr "아래 작업 공간으로 옮기기"
#: data/50-mutter-system.xml:6 #: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
msgid "System" msgid "System"
msgstr "시스템" msgstr "시스템"
@@ -192,6 +176,10 @@ msgstr "실행 명령 프롬프트 보이기"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "현재 활동 보이기" msgstr "현재 활동 보이기"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "키보드 바로 가기 복구"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "창" msgstr "창"
@@ -217,54 +205,50 @@ msgid "Restore window"
msgstr "창 복구" msgstr "창 복구"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "그림자 상태 토글"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "창 닫기" msgstr "창 닫기"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "창 감추기" msgstr "창 감추기"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "창 옮기기" msgstr "창 옮기기"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "창 크기 조정" msgstr "창 크기 조정"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "창을 모든/하나의 작업 공간에 두기 토글" msgstr "창을 모든/하나의 작업 공간에 두기 토글"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "창이 가려 있으면 올리고 아니면 내리기" msgstr "창이 가려 있으면 올리고 아니면 내리기"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "창을 다른 창 위로 올리기" msgstr "창을 다른 창 위로 올리기"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "창을 다른 창 아래로 내리기" msgstr "창을 다른 창 아래로 내리기"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "창을 세로 방향으로 최대화" msgstr "창을 세로 방향으로 최대화"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "창을 가로 방향으로 최대화" msgstr "창을 가로 방향으로 최대화"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "왼쪽 나눔창 보기" msgstr "왼쪽 나눔창 보기"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "오른쪽 나눔창 보기" msgstr "오른쪽 나눔창 보기"
@@ -493,10 +477,53 @@ msgstr "가상 터미널 12로 이동"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "바로 가기 다시 사용하기" msgstr "바로 가기 다시 사용하기"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "X웨일랜드에서 잡기 허용"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"X웨일랜드 환경에서 실행하는 X11 프로그램의 키보드 잡기 허용을 고려합니다. 웨"
"일랜드에서 X11 잡기를 고려하려면, 클라이언트는 특정 X11 클라이언트메시지를 루"
"트 창에 보내거나 \"xwayland-grab-access-rules\"의 허용 목록에 있는 프로그램 "
"중 하나여야 합니다."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "X웨일랜드 프로그램에서 키보드 잡기 허용"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"X웨일랜드에서 X11 키보드 잡기를 허용하거나 허용하지 않는 X11 창의 리소스 이"
"름 또는 리소스 클래스를 나열하세요. X11 창의 리소스 이름 또는 리소스 클래스"
"는 “xprop WM_CLASS\" 명령을 사용하여 얻을 수 있습니다. 와일드카드 \"*\"와 \"?"
"\"를 값에서 사용할 수 있습니다. \"!\"로 시작하는 값은 허용 목록보다 높은 우선"
"순위로 블랙리스트 처리되어, 프로그램이 기본 시스템 목록에서 빠지게 됩니다. 기"
"본 시스템 목록에 포함된 프로그램: “@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” 사용"
"자는 “restore-shortcuts” 키 바인딩에 정의된 특정 키보드 바로 가기를 사용하여 "
"기존 잡기를 중단할 수 있습니다."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2151 #: src/backends/meta-input-settings.c:2260
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "모드 전환 (그룹 %d)" msgstr "모드 전환 (그룹 %d)"
@@ -504,37 +531,37 @@ msgstr "모드 전환 (그룹 %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2174 #: src/backends/meta-input-settings.c:2283
msgid "Switch monitor" msgid "Switch monitor"
msgstr "모니터 전환" msgstr "모니터 전환"
#: src/backends/meta-input-settings.c:2176 #: src/backends/meta-input-settings.c:2285
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "화면 도움말 표시" msgstr "화면 도움말 표시"
#: src/backends/meta-monitor-manager.c:903 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "내장 디스플레이" msgstr "내장 디스플레이"
#: src/backends/meta-monitor-manager.c:926 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "알 수 없음" msgstr "알 수 없음"
#: src/backends/meta-monitor-manager.c:928 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "알 수 없는 디스플레이" msgstr "알 수 없는 디스플레이"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:936 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -551,41 +578,45 @@ msgstr "삑소리 이벤트"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "X 윈도 시스템 디스플레이 “%s”을(를) 여는데 실패하였습니다\n" msgstr "X 윈도 시스템 디스플레이 “%s”을(를) 여는데 실패하였습니다\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "세션 관리자와 연결 하지 않습니다" msgstr "세션 관리자와 연결 하지 않습니다"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "실행 중인 창 관리자를 바꿉니다" msgstr "실행 중인 창 관리자를 바꿉니다"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "세션 관리 ID를 지정합니다" msgstr "세션 관리 ID를 지정합니다"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "사용할 X 디스플레이" msgstr "사용할 X 디스플레이"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "저장 파일에서 세션을 초기화 합니다" msgstr "저장 파일에서 세션을 초기화 합니다"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "동기 X 호출을 합니다" msgstr "동기 X 호출을 합니다"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "웨일랜드 컴포지터로 실행합니다" msgstr "웨일랜드 컴포지터로 실행합니다"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "내장 컴포지터로 실행합니다" msgstr "중첩 컴포지터로 실행합니다"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "전체 디스플레이 서버로 실행, 내장 프로그램 아님" msgstr "전체 디스플레이 서버로 실행, 중첩 컴포지터가 아님"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "X11 백 엔드로 실행 합니다"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
@@ -639,7 +670,7 @@ msgstr "사용할 머터 플러그인"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "작업 공간 %d" msgstr "작업 공간 %d"
#: src/core/screen.c:580 #: src/core/screen.c:583
#, c-format #, c-format
msgid "" msgid ""
"Display “%s” already has a window manager; try using the --replace option to " "Display “%s” already has a window manager; try using the --replace option to "
@@ -648,7 +679,7 @@ msgstr ""
"디스플레이 “%s”에 이미 창 관리자가 있습니다. 현재 창 관리자를 바꾸려면 --" "디스플레이 “%s”에 이미 창 관리자가 있습니다. 현재 창 관리자를 바꾸려면 --"
"replace 옵션을 써보십시오." "replace 옵션을 써보십시오."
#: src/core/screen.c:665 #: src/core/screen.c:668
#, c-format #, c-format
msgid "Screen %d on display “%s” is invalid\n" msgid "Screen %d on display “%s” is invalid\n"
msgstr "디스플레이 “%2$s”의 화면 %1$d은(는) 잘못되었습니다\n" msgstr "디스플레이 “%2$s”의 화면 %1$d은(는) 잘못되었습니다\n"
@@ -662,7 +693,7 @@ msgstr "머터가 자세한 모드 지원 없이 컴파일 되었습니다\n"
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "모드 전환: 모드 %d" msgstr "모드 전환: 모드 %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -675,3 +706,18 @@ msgstr ""
#, c-format #, c-format
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (%s에서)" msgstr "%s (%s에서)"
#~ msgid "Move window one workspace to the left"
#~ msgstr "창을 한칸 왼쪽 작업 공간으로 옮기기"
#~ msgid "Move window one workspace to the right"
#~ msgstr "창을 한칸 오른쪽 작업 공간으로 옮기기"
#~ msgid "Move to workspace left"
#~ msgstr "왼쪽 작업 공간으로 옮기기"
#~ msgid "Move to workspace right"
#~ msgstr "오른쪽 작업 공간으로 옮기기"
#~ msgid "Toggle shaded state"
#~ msgstr "그림자 상태 토글"

228
po/lt.po
View File

@@ -6,15 +6,14 @@
# Tomas Kuliavas <tokul@users.sourceforge.net>, 2003. # Tomas Kuliavas <tokul@users.sourceforge.net>, 2003.
# Žygimantas Beručka <zygis@gnome.org>, 2004-2007. # Žygimantas Beručka <zygis@gnome.org>, 2004-2007.
# Gintautas Miliauskas <gintautas@miliauskas.lt>, 2007-2009, 2010. # Gintautas Miliauskas <gintautas@miliauskas.lt>, 2007-2009, 2010.
# Aurimas Černius <aurisc4@gmail.com>, 2013, 2014, 2015, 2016, 2017. # Aurimas Černius <aurisc4@gmail.com>, 2013, 2014, 2015, 2016, 2017, 2018.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: lt\n" "Project-Id-Version: lt\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-03-01 18:57+0000\n"
"POT-Creation-Date: 2017-08-29 06:41+0000\n" "PO-Revision-Date: 2018-03-03 13:37+0200\n"
"PO-Revision-Date: 2017-08-29 15:57+0300\n"
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n" "Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n" "Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
"Language: lt\n" "Language: lt\n"
@@ -50,134 +49,118 @@ msgid "Move window to last workspace"
msgstr "Perkelti langą į pastarąją darbo sritį" msgstr "Perkelti langą į pastarąją darbo sritį"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Perkelti langą į kairiau esančią darbo sritį"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Perkelti langą į dešiniau esančią darbo sritį"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Perkelti langą į aukščiau esančią darbo sritį" msgstr "Perkelti langą į aukščiau esančią darbo sritį"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Perkelti langą į žemiau esančią darbo sritį" msgstr "Perkelti langą į žemiau esančią darbo sritį"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Perkelti langą į kairiau esantį monitorių" msgstr "Perkelti langą į kairiau esantį monitorių"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Perkelti langą į dešiniau esantį monitorių" msgstr "Perkelti langą į dešiniau esantį monitorių"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Perkelti langą į aukščiau esantį monitorių" msgstr "Perkelti langą į aukščiau esantį monitorių"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Perkelti langą į žemiau esantį monitorių" msgstr "Perkelti langą į žemiau esantį monitorių"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Pereiti tarp programų" msgstr "Pereiti tarp programų"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Pereiti į ankstesnę programą" msgstr "Pereiti į ankstesnę programą"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Pereiti tarp langų" msgstr "Pereiti tarp langų"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Pereiti į ankstesnį langą" msgstr "Pereiti į ankstesnį langą"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Pereiti tarp programos langų" msgstr "Pereiti tarp programos langų"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Pereiti į ankstesnį programos langą" msgstr "Pereiti į ankstesnį programos langą"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Pereiti tarp sistemos valdiklių" msgstr "Pereiti tarp sistemos valdiklių"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Pereiti prie ankstesnio sistemos valdiklio" msgstr "Pereiti prie ankstesnio sistemos valdiklio"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Tiesiogiai pereiti tarp langų" msgstr "Tiesiogiai pereiti tarp langų"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Tiesiogiai pereiti į ankstesnį langą" msgstr "Tiesiogiai pereiti į ankstesnį langą"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Tiesiogiai pereiti tarp programos langų" msgstr "Tiesiogiai pereiti tarp programos langų"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Tiesiogiai pereiti prie ankstesnio programos lango" msgstr "Tiesiogiai pereiti prie ankstesnio programos lango"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Tiesiogiai pereiti tarp sistemos valdiklių" msgstr "Tiesiogiai pereiti tarp sistemos valdiklių"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Tiesiogiai pereiti prie ankstesnio sistemos valdiklio" msgstr "Tiesiogiai pereiti prie ankstesnio sistemos valdiklio"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Paslėpti visus įprastinius langus" msgstr "Paslėpti visus įprastinius langus"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Persijungti į darbo sritį Nr.1" msgstr "Persijungti į darbo sritį Nr.1"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Persijungti į darbo sritį Nr.2" msgstr "Persijungti į darbo sritį Nr.2"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Persijungti į darbo sritį Nr.3" msgstr "Persijungti į darbo sritį Nr.3"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Persijungti į darbo sritį Nr.4" msgstr "Persijungti į darbo sritį Nr.4"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Persijungti į pastarąją darbo sritį" msgstr "Persijungti į pastarąją darbo sritį"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Perkelti į darbo sritį kairėje"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Perkelti į darbo sritį dešinėje"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Perkelti į darbo sritį viršuje" msgstr "Perkelti į darbo sritį viršuje"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Perkelti į darbo sritį apačioje" msgstr "Perkelti į darbo sritį apačioje"
#: data/50-mutter-system.xml:6 #: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
msgid "System" msgid "System"
msgstr "Sistema" msgstr "Sistema"
@@ -189,6 +172,10 @@ msgstr "Rodyti komandų paleidimo langelį"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Rodyti veiklų apžvalgą" msgstr "Rodyti veiklų apžvalgą"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Atkurti klaviatūros trumpinius"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Langai" msgstr "Langai"
@@ -214,55 +201,51 @@ msgid "Restore window"
msgstr "Atkurti lango dydį" msgstr "Atkurti lango dydį"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Perjungti lango sutraukimo būseną"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Užverti langą" msgstr "Užverti langą"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Slėpti langą" msgstr "Slėpti langą"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Perkelti langą" msgstr "Perkelti langą"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Keisti lango dydį" msgstr "Keisti lango dydį"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Perjungti lango buvimo visose darbo srityse būseną" msgstr "Perjungti lango buvimo visose darbo srityse būseną"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "" msgstr ""
"Iškelti langą, jei jis uždengtas kito lango, priešingu atveju jį nuleisti" "Iškelti langą, jei jis uždengtas kito lango, priešingu atveju jį nuleisti"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Iškelti langą virš kitų langų" msgstr "Iškelti langą virš kitų langų"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Nuleisti langą žemiau kitų langų" msgstr "Nuleisti langą žemiau kitų langų"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Išdidinti langą vertikaliai" msgstr "Išdidinti langą vertikaliai"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Išdidinti langą horizontaliai" msgstr "Išdidinti langą horizontaliai"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Rodyti skyrimą kairėje" msgstr "Rodyti skyrimą kairėje"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Rodyti skyrimą dešinėje" msgstr "Rodyti skyrimą dešinėje"
@@ -406,16 +389,6 @@ msgid "Enable experimental features"
msgstr "Įjungti eksperimentines savybes" msgstr "Įjungti eksperimentines savybes"
#: data/org.gnome.mutter.gschema.xml.in:108 #: data/org.gnome.mutter.gschema.xml.in:108
#| msgid ""
#| "To enable experimental features, add the feature keyword to the list. "
#| "Whether the feature requires restarting the compositor depends on the "
#| "given feature. Any experimental feature is not required to still be "
#| "available, or configurable. Dont expect adding anything in this setting "
#| "to be future proof. Currently possible keywords: • “scale-monitor-"
#| "framebuffer” — makes mutter default to layout logical monitors in a "
#| "logical pixel coordinate space, while scaling monitor framebuffers "
#| "instead of window content, to manage HiDPI monitors. Does not require a "
#| "restart."
msgid "" msgid ""
"To enable experimental features, add the feature keyword to the list. " "To enable experimental features, add the feature keyword to the list. "
"Whether the feature requires restarting the compositor depends on the given " "Whether the feature requires restarting the compositor depends on the given "
@@ -510,10 +483,56 @@ msgstr "Persijungti į VT 12"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Iš naujo įjungti trumpinius" msgstr "Iš naujo įjungti trumpinius"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Leisti pagriebimus su XWayland"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"Leisti turėti omenyje X11 programų, veikiančių Xwayland, išduotus "
"klaviatūros pagriebimus. Tam, kad X11 pagriebimas būtų turimas omenyje "
"naudojant Wayland, klientas privalo arba siųsti tam tikrą X11 ClientMessage "
"į šakninį langą arba būti tarp programų, esančių rakto „xwayland-grab-access-"
"rules“ baltajame sąraše."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "Xwayland programos, kurioms leidžiama išduoti klaviatūros pagriebimus"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"Išvardyti X11 langų, kuriems naudojant Wayland leidžiama ar neleidžiama "
"išduoti X11 klaviatūros pagriebimus, išteklių pavadinimus ar išteklių "
"klases. Nurodyto lango ištekliaus pavadinimas ar ištekliaus klasė gali būti "
"gauta naudojant komandą „xprop WM_CLASS“. Reikšmėse yra palaikomi pakaitos "
"simboliai „*“ ir „?“. Reikšmės prasidedančios „!“ yra įtraukiamos į juodąjį "
"sąrašą (tam, kad būtų panaikintos iš numatytojo sistemos sąrašo) ir turi "
"pirmumo teisę baltojo sąrašo atžvilgiu. Į numatytąjį sistemos sąrašą įeina "
"šios programos: „@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@“. Naudotojai gali "
"panaikinti esamą pagriebimą, naudodami tam tikrą klaviatūros trumpinį, kuris "
"apibrėžtas rakto susiejimo raktu „restore-shortcuts“."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2151 #: src/backends/meta-input-settings.c:2325
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Veiksenos perjungimas (Grupė %d)" msgstr "Veiksenos perjungimas (Grupė %d)"
@@ -521,37 +540,37 @@ msgstr "Veiksenos perjungimas (Grupė %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2174 #: src/backends/meta-input-settings.c:2348
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Perjungti monitorių" msgstr "Perjungti monitorių"
#: src/backends/meta-input-settings.c:2176 #: src/backends/meta-input-settings.c:2350
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Rodyti pagalbą ekrane" msgstr "Rodyti pagalbą ekrane"
#: src/backends/meta-monitor-manager.c:903 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Integruotas vaizduoklis" msgstr "Integruotas vaizduoklis"
#: src/backends/meta-monitor-manager.c:926 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Nežinomas" msgstr "Nežinomas"
#: src/backends/meta-monitor-manager.c:928 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Nežinomas vaizduoklis" msgstr "Nežinomas vaizduoklis"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:936 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -566,42 +585,46 @@ msgstr "Skambučio įvykis"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Nepavyko atverti X Window sistemos vaizduoklio „%s“\n" msgstr "Nepavyko atverti X Window sistemos vaizduoklio „%s“\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Išjungti susijungimą su sesijos tvarkytuve" msgstr "Išjungti susijungimą su sesijos tvarkytuve"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Pakeisti veikiančią langų tvarkytuvę" msgstr "Pakeisti veikiančią langų tvarkytuvę"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Nurodyti sesijos tvarkymo ID" msgstr "Nurodyti sesijos tvarkymo ID"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "Naudotinas X ekranas" msgstr "Naudotinas X ekranas"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Inicializuoti sesiją iš išsaugojimo failo" msgstr "Inicializuoti sesiją iš išsaugojimo failo"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Sinchronizuoti X iškvietimus" msgstr "Sinchronizuoti X iškvietimus"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Vykdyti kaip wayland kompozitorių" msgstr "Vykdyti kaip wayland kompozitorių"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Vykdyti kaip įdėtinį kompozitorių" msgstr "Vykdyti kaip įdėtinį kompozitorių"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Vykdyti kaip visą vaizduoklio serverį, o ne įdėtinį" msgstr "Vykdyti kaip visą vaizduoklio serverį, o ne įdėtinį"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Paleisti su X11 realizacija"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -655,7 +678,7 @@ msgstr "Naudojamas Mutter įskiepis"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Darbo sritis %d" msgstr "Darbo sritis %d"
#: src/core/screen.c:580 #: src/core/screen.c:583
#, c-format #, c-format
msgid "" msgid ""
"Display “%s” already has a window manager; try using the --replace option to " "Display “%s” already has a window manager; try using the --replace option to "
@@ -664,7 +687,7 @@ msgstr ""
"Vaizduoklis „%s“ jau turi langų tvarkytuvę; pabandykite pakeisti esamą langų " "Vaizduoklis „%s“ jau turi langų tvarkytuvę; pabandykite pakeisti esamą langų "
"tvarkytuvę, naudodami parametrą --replace." "tvarkytuvę, naudodami parametrą --replace."
#: src/core/screen.c:665 #: src/core/screen.c:668
#, c-format #, c-format
msgid "Screen %d on display “%s” is invalid\n" msgid "Screen %d on display “%s” is invalid\n"
msgstr "Ekranas %d vaizduoklyje „%s“ yra netinkamas\n" msgstr "Ekranas %d vaizduoklyje „%s“ yra netinkamas\n"
@@ -673,12 +696,12 @@ msgstr "Ekranas %d vaizduoklyje „%s“ yra netinkamas\n"
msgid "Mutter was compiled without support for verbose mode\n" msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter buvo sukompiliuota be išsamaus veikimo veiksenos\n" msgstr "Mutter buvo sukompiliuota be išsamaus veikimo veiksenos\n"
#: src/wayland/meta-wayland-tablet-pad.c:563 #: src/wayland/meta-wayland-tablet-pad.c:567
#, c-format #, c-format
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Veiksenos perjungimas: veiksena %d" msgstr "Veiksenos perjungimas: veiksena %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -691,6 +714,21 @@ msgstr ""
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (kompiuteryje %s)" msgstr "%s (kompiuteryje %s)"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Perkelti langą į kairiau esančią darbo sritį"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Perkelti langą į dešiniau esančią darbo sritį"
#~ msgid "Move to workspace left"
#~ msgstr "Perkelti į darbo sritį kairėje"
#~ msgid "Move to workspace right"
#~ msgstr "Perkelti į darbo sritį dešinėje"
#~ msgid "Toggle shaded state"
#~ msgstr "Perjungti lango sutraukimo būseną"
#~ msgid "Failed to scan themes directory: %s\n" #~ msgid "Failed to scan themes directory: %s\n"
#~ msgstr "Nepavyko nuskanuoti temų aplanko: %s\n" #~ msgstr "Nepavyko nuskanuoti temų aplanko: %s\n"

220
po/lv.po
View File

@@ -7,14 +7,13 @@
# Raivis Dejus <orvils@gmail.com>, 2006, 2007, 2009. # Raivis Dejus <orvils@gmail.com>, 2006, 2007, 2009.
# Rudolfs <rudolfs.mazurs@gmail.com>, 2011. # Rudolfs <rudolfs.mazurs@gmail.com>, 2011.
# Rūdofls Mazurs <rudolfs.mazurs@gmail.com>, 2011, 2012. # Rūdofls Mazurs <rudolfs.mazurs@gmail.com>, 2011, 2012.
# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2012, 2013, 2014, 2015, 2016, 2017. # Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2012, 2013, 2014, 2015, 2016, 2017, 2018.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: lv\n" "Project-Id-Version: lv\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=mutter" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-06 04:14+0000\n"
"POT-Creation-Date: 2017-08-29 16:09+0000\n" "PO-Revision-Date: 2018-02-25 15:45+0200\n"
"PO-Revision-Date: 2017-09-03 19:25+0200\n"
"Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n" "Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n"
"Language-Team: Latvian <lata-l10n@googlegroups.com>\n" "Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
"Language: lv\n" "Language: lv\n"
@@ -50,134 +49,118 @@ msgid "Move window to last workspace"
msgstr "Pārvietot logu uz pēdējo darbvietu" msgstr "Pārvietot logu uz pēdējo darbvietu"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Pārvietot logu uz darbvietu pa kreisi"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Pārvietot logu uz darbvietu pa labi"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Pārvietot logu uz darbvietu augšup" msgstr "Pārvietot logu uz darbvietu augšup"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Pārvietot logu uz darbvietu lejup" msgstr "Pārvietot logu uz darbvietu lejup"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Pārvietot logu uz monitoru pa kreisi" msgstr "Pārvietot logu uz monitoru pa kreisi"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Pārvietot logu uz monitoru pa labi" msgstr "Pārvietot logu uz monitoru pa labi"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Pārvietot logu uz monitoru augšup" msgstr "Pārvietot logu uz monitoru augšup"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Pārvietot logu uz monitoru lejup" msgstr "Pārvietot logu uz monitoru lejup"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Pārslēgt lietotnes" msgstr "Pārslēgt lietotnes"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Pārslēgties uz iepriekšējo lietotni" msgstr "Pārslēgties uz iepriekšējo lietotni"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Pārslēgt logus" msgstr "Pārslēgt logus"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Pārslēgties uz iepriekšējo logu" msgstr "Pārslēgties uz iepriekšējo logu"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Pārslēgt vienas lietotnes logus" msgstr "Pārslēgt vienas lietotnes logus"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Pārslēgties uz lietotnes iepriekšējo logu" msgstr "Pārslēgties uz lietotnes iepriekšējo logu"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Pārslēgt sistēmas vadīklas" msgstr "Pārslēgt sistēmas vadīklas"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Pārslēgties uz iepriekšējo sistēmas vadīklu" msgstr "Pārslēgties uz iepriekšējo sistēmas vadīklu"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Pārslēgties starp logiem tieši" msgstr "Pārslēgties starp logiem tieši"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Pārslēgties tieši uz iepriekšējo logu" msgstr "Pārslēgties tieši uz iepriekšējo logu"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Pārslēgties starp lietotnes logiem tieši" msgstr "Pārslēgties starp lietotnes logiem tieši"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Pārslēgties tieši uz iepriekšējo lietotnes logu" msgstr "Pārslēgties tieši uz iepriekšējo lietotnes logu"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Pārslēgt sistēmas vadīklas tieši" msgstr "Pārslēgt sistēmas vadīklas tieši"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Pārslēgties tieši uz iepriekšējo sistēmas vadīklu" msgstr "Pārslēgties tieši uz iepriekšējo sistēmas vadīklu"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Slēpt visus parastos logus" msgstr "Slēpt visus parastos logus"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Pārslēgties uz 1. darbvietu" msgstr "Pārslēgties uz 1. darbvietu"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Pārslēgties uz 2. darbvietu" msgstr "Pārslēgties uz 2. darbvietu"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Pārslēgties uz 3. darbvietu" msgstr "Pārslēgties uz 3. darbvietu"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Pārslēgties uz 4. darbvietu" msgstr "Pārslēgties uz 4. darbvietu"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Pārslēgties uz pēdējo darbvietu" msgstr "Pārslēgties uz pēdējo darbvietu"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Pāriet uz darbvietu pa kreisi"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Pāriet uz darbvietu pa labi"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Pāriet uz darbvietu augšup" msgstr "Pāriet uz darbvietu augšup"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Pāriet uz darbvietu lejup" msgstr "Pāriet uz darbvietu lejup"
#: data/50-mutter-system.xml:6 #: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
msgid "System" msgid "System"
msgstr "Sistēma" msgstr "Sistēma"
@@ -189,6 +172,10 @@ msgstr "Rādīt palaišanas komandrindu"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Rādīt aktivitāšu pārskatu" msgstr "Rādīt aktivitāšu pārskatu"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Atjaunot tastatūras saīsnes"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Logi" msgstr "Logi"
@@ -214,54 +201,50 @@ msgid "Restore window"
msgstr "Atjaunot loga izmēru" msgstr "Atjaunot loga izmēru"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Pārslēgt ēnoto stāvokli"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Aizvērt logu" msgstr "Aizvērt logu"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Paslēpt logu" msgstr "Paslēpt logu"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Pārvietot logu" msgstr "Pārvietot logu"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Mainīt loga izmēru" msgstr "Mainīt loga izmēru"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Pārslēgt, vai logam jābūt visās darbvietās vai vienā" 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:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Pacelt logu, ja to aizsedz, citādi pazemināt" msgstr "Pacelt logu, ja to aizsedz, citādi pazemināt"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Pacelt logu virs citiem logiem" msgstr "Pacelt logu virs citiem logiem"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Pazemināt logu zem citiem logiem" msgstr "Pazemināt logu zem citiem logiem"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Maksimizēt logu vertikāli" msgstr "Maksimizēt logu vertikāli"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Maksimizēt logu horizontāli" msgstr "Maksimizēt logu horizontāli"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Izvietot kreisajā ekrāna pusē" msgstr "Izvietot kreisajā ekrāna pusē"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Izvietot labajā ekrāna pusē" msgstr "Izvietot labajā ekrāna pusē"
@@ -405,16 +388,6 @@ msgid "Enable experimental features"
msgstr "Ieslēgt eksperimentālās iespējas" msgstr "Ieslēgt eksperimentālās iespējas"
#: data/org.gnome.mutter.gschema.xml.in:108 #: data/org.gnome.mutter.gschema.xml.in:108
#| msgid ""
#| "To enable experimental features, add the feature keyword to the list. "
#| "Whether the feature requires restarting the compositor depends on the "
#| "given feature. Any experimental feature is not required to still be "
#| "available, or configurable. Dont expect adding anything in this setting "
#| "to be future proof. Currently possible keywords: • “scale-monitor-"
#| "framebuffer” — makes mutter default to layout logical monitors in a "
#| "logical pixel coordinate space, while scaling monitor framebuffers "
#| "instead of window content, to manage HiDPI monitors. Does not require a "
#| "restart."
msgid "" msgid ""
"To enable experimental features, add the feature keyword to the list. " "To enable experimental features, add the feature keyword to the list. "
"Whether the feature requires restarting the compositor depends on the given " "Whether the feature requires restarting the compositor depends on the given "
@@ -435,11 +408,10 @@ msgstr ""
"nākotnē strādās. Pašlaik pieejamie atslēgvārdi: • “scale-monitor-" "nākotnē strādās. Pašlaik pieejamie atslēgvārdi: • “scale-monitor-"
"framebuffer” — liek mutter pēc noklusējuma izkārtot loģiskos monitorus " "framebuffer” — liek mutter pēc noklusējuma izkārtot loģiskos monitorus "
"loģisko pikseļu koordināšu telpā, kamēr mērogo monitora kadru buferus, nevis " "loģisko pikseļu koordināšu telpā, kamēr mērogo monitora kadru buferus, nevis "
"loga saturu, lai pārvaldītu HiDPI monitorus. Pārstartēšana nav nepieciešama." "loga saturu, lai pārvaldītu HiDPI monitorus. Pārstartēšana nav nepieciešama. "
" • “remote-desktop” — " "• “remote-desktop” — ieslēdz attālinātās darbvirsmas atbalstu. Lai "
"ieslēdz attālinātās darbvirsmas atbalstu. Lai atbalstītu attālināto" "atbalstītu attālināto darbvirsmu ar ekrāna koplietošanu, jābūt arī ieslēgtam "
" darbvirsmu ar ekrāna koplietošanu, jābūt arī ieslēgtam “screen-cast”. •" "“screen-cast”. • “screen-cast” — ieslēdz ekrānraides atbalstu."
" “screen-cast” — ieslēdz ekrānraides atbalstu."
#: data/org.gnome.mutter.gschema.xml.in:145 #: data/org.gnome.mutter.gschema.xml.in:145
msgid "Select window from tab popup" msgid "Select window from tab popup"
@@ -509,10 +481,55 @@ msgstr "Pārslēgties uz VT 12"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Atkal ieslēdz saīsnes" msgstr "Atkal ieslēdz saīsnes"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Atļaut Xwayland satvērienus"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"Atļaut ņemt vērā tastatūras satveršanu, ko pieprasa X11 lietotnes, kas"
" darbojas Xwayland vidē. Lai ņemtu vērā X11 tvērienus Wayland vidē, klientam"
" arī jāsūta specifisks X11 ClientMessage uz root (saknes) logu, vai arī jābūt"
" lietotņu baltajā sarakstā atslēgā “xwayland-grab-access-rules”."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "Xwayland lietotnes, kuras drīkst pieprasīt tastatūras satveršanu"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"Saraksts ar resursu nosaukumiem vai resursu klasi X11 logiem, kuri vai nu"
" drīkst, vai nedrīkst pieprasīt X11 tastatūras satveršanu zem Xwayland."
" Resursa nosaukumu vai resursa klasi dotajam X11 logam var iegūt, izmantojot"
" komandu “xprop WM_CLASS”. Vērtībās ir atbalstītas aizstājējzīmes “*” un “?”."
" Vērtības, ka sākas ar “!”, ir melnajā sarakstā, kam ir prioritāte pār balto"
" sarakstu, kad atsauc lietotnes no noklusējuma sistēmas saraksta. Noklusējuma"
" sistēmas sarakstā iekļauj sekojošās lietotnes: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Lietotāji var pārtraukt esošo"
" tvērienu, izmantojot noteiktus tastatūras īsinājumtaustiņus, kas ir noteikti"
" “restore-shortcuts” atslēgā."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2151 #: src/backends/meta-input-settings.c:2260
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Režīma slēdzis (grupa %d)" msgstr "Režīma slēdzis (grupa %d)"
@@ -520,37 +537,37 @@ msgstr "Režīma slēdzis (grupa %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2174 #: src/backends/meta-input-settings.c:2283
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Pārslēgt monitoru" msgstr "Pārslēgt monitoru"
#: src/backends/meta-input-settings.c:2176 #: src/backends/meta-input-settings.c:2285
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Rādīt palīdzību uz ekrāna" msgstr "Rādīt palīdzību uz ekrāna"
#: src/backends/meta-monitor-manager.c:903 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Iebūvēts displejs" msgstr "Iebūvēts displejs"
#: src/backends/meta-monitor-manager.c:926 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Nezināms" msgstr "Nezināms"
#: src/backends/meta-monitor-manager.c:928 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Nezināms displejs" msgstr "Nezināms displejs"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:936 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -565,42 +582,46 @@ msgstr "Zvana notikums"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Neizdevās atvērt X logu sistēmas displeju “%s”\n" msgstr "Neizdevās atvērt X logu sistēmas displeju “%s”\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Deaktivēt savienojumu ar sesiju pārvaldnieku" msgstr "Deaktivēt savienojumu ar sesiju pārvaldnieku"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Aizvietot darbojošos logu pārvaldnieku" msgstr "Aizvietot darbojošos logu pārvaldnieku"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Norādiet sesiju pārvaldības ID" msgstr "Norādiet sesiju pārvaldības ID"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "Lietojamais X displejs" msgstr "Lietojamais X displejs"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Inicializēt sesiju no saglabātās datnes" msgstr "Inicializēt sesiju no saglabātās datnes"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Padarīt X izsaukumus sinhronus" msgstr "Padarīt X izsaukumus sinhronus"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Palaist kā wayland kompozitoru" msgstr "Palaist kā wayland kompozitoru"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Palaist kā ligzdotu kompozitoru" msgstr "Palaist kā ligzdotu kompozitoru"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Palaist kā pilnu attēlošanas serveri, nevis iegultu" msgstr "Palaist kā pilnu attēlošanas serveri, nevis iegultu"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Palaist ar X11 aizmuguri"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -655,7 +676,7 @@ msgstr "Izmantojamais mutter spraudnis"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Darbvieta %d" msgstr "Darbvieta %d"
#: src/core/screen.c:580 #: src/core/screen.c:583
#, c-format #, c-format
msgid "" msgid ""
"Display “%s” already has a window manager; try using the --replace option to " "Display “%s” already has a window manager; try using the --replace option to "
@@ -664,7 +685,7 @@ msgstr ""
"Displejam “%s” jau ir logu pārvaldnieks; mēģiniet lietot --replace iespēju, " "Displejam “%s” jau ir logu pārvaldnieks; mēģiniet lietot --replace iespēju, "
"lai aizvietotu pašreizējo logu pārvaldnieku." "lai aizvietotu pašreizējo logu pārvaldnieku."
#: src/core/screen.c:665 #: src/core/screen.c:668
#, c-format #, c-format
msgid "Screen %d on display “%s” is invalid\n" msgid "Screen %d on display “%s” is invalid\n"
msgstr "Ekrāna %d displejs “%s“ nav derīgs\n" msgstr "Ekrāna %d displejs “%s“ nav derīgs\n"
@@ -678,7 +699,7 @@ msgstr "Mutter tika kompilēts bez detalizētas izvades režīma atbalsta\n"
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Režīma slēdzis: režīms %d" msgstr "Režīma slēdzis: režīms %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -690,4 +711,3 @@ msgstr ""
#, c-format #, c-format
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (uz %s)" msgstr "%s (uz %s)"

516
po/nl.po
View File

@@ -5,13 +5,14 @@
# Michiel Sikkes <michiels@gnome.org>, 2005. # Michiel Sikkes <michiels@gnome.org>, 2005.
# Wouter Bolsterlee <wbolster@gnome.org>, 20062012. # Wouter Bolsterlee <wbolster@gnome.org>, 20062012.
# Hannie Dumoleyn <hannie@ubuntu-nl.org>, 2016. # Hannie Dumoleyn <hannie@ubuntu-nl.org>, 2016.
# Nathan Follens <nthn@unseen.is>, 2017.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter\n" "Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"POT-Creation-Date: 2016-03-23 22:41+0100\n" "POT-Creation-Date: 2018-02-26 07:59+0000\n"
"PO-Revision-Date: 2016-10-17 18:24+0200\n" "PO-Revision-Date: 2018-02-26 22:05+0100\n"
"Last-Translator: Hannie Dumoleyn <hannie@ubuntu-nl.org>\n" "Last-Translator: Justin van Steijn <jvs@fsfe.org>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n" "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n" "Language: nl\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -19,273 +20,257 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Project-Style: gnome\n" "X-Project-Style: gnome\n"
"X-Generator: Lokalize 1.5\n" "X-Generator: Poedit 1.8.11\n"
#: ../data/50-mutter-navigation.xml.in.h:1 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
msgstr "Navigatie" msgstr "Navigatie"
#: ../data/50-mutter-navigation.xml.in.h:2 #: data/50-mutter-navigation.xml:9
msgid "Move window to workspace 1" msgid "Move window to workspace 1"
msgstr "Venster verplaatsen naar werkblad 1" msgstr "Venster verplaatsen naar werkblad 1"
#: ../data/50-mutter-navigation.xml.in.h:3 #: data/50-mutter-navigation.xml:12
msgid "Move window to workspace 2" msgid "Move window to workspace 2"
msgstr "Venster verplaatsen naar werkblad 2" msgstr "Venster verplaatsen naar werkblad 2"
#: ../data/50-mutter-navigation.xml.in.h:4 #: data/50-mutter-navigation.xml:15
msgid "Move window to workspace 3" msgid "Move window to workspace 3"
msgstr "Venster verplaatsen naar werkblad 3" msgstr "Venster verplaatsen naar werkblad 3"
#: ../data/50-mutter-navigation.xml.in.h:5 #: data/50-mutter-navigation.xml:18
msgid "Move window to workspace 4" msgid "Move window to workspace 4"
msgstr "Venster verplaatsen naar werkblad 4" msgstr "Venster verplaatsen naar werkblad 4"
#: ../data/50-mutter-navigation.xml.in.h:6 #: data/50-mutter-navigation.xml:21
msgid "Move window to last workspace" msgid "Move window to last workspace"
msgstr "Venster verplaatsen naar laatste werkblad" msgstr "Venster verplaatsen naar laatste werkblad"
#: ../data/50-mutter-navigation.xml.in.h:7 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Venster één werkblad naar links verplaatsen"
#: ../data/50-mutter-navigation.xml.in.h:8
msgid "Move window one workspace to the right"
msgstr "Venster één werkblad naar rechts verplaatsen"
#: ../data/50-mutter-navigation.xml.in.h:9
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Venster één werkblad naar boven verplaatsen" msgstr "Venster één werkblad naar boven verplaatsen"
#: ../data/50-mutter-navigation.xml.in.h:10 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Venster één werkblad naar beneden verplaatsen" msgstr "Venster één werkblad naar beneden verplaatsen"
#: ../data/50-mutter-navigation.xml.in.h:11 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Venster één monitor naar links verplaatsen" msgstr "Venster één monitor naar links verplaatsen"
#: ../data/50-mutter-navigation.xml.in.h:12 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Venster één monitor naar rechts verplaatsen" msgstr "Venster één monitor naar rechts verplaatsen"
#: ../data/50-mutter-navigation.xml.in.h:13 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Venster één monitor naar boven verplaatsen" msgstr "Venster één monitor naar boven verplaatsen"
#: ../data/50-mutter-navigation.xml.in.h:14 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Venster één monitor naar beneden verplaatsen" msgstr "Venster één monitor naar beneden verplaatsen"
#: ../data/50-mutter-navigation.xml.in.h:15 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Tussen toepassingen schakelen" msgstr "Tussen toepassingen schakelen"
#: ../data/50-mutter-navigation.xml.in.h:16 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Schakelen naar vorige toepassing" msgstr "Schakelen naar vorige toepassing"
#: ../data/50-mutter-navigation.xml.in.h:17 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Tussen vensters schakelen" msgstr "Tussen vensters schakelen"
#: ../data/50-mutter-navigation.xml.in.h:18 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Schakelen naar vorig venster" msgstr "Schakelen naar vorig venster"
#: ../data/50-mutter-navigation.xml.in.h:19 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Wisselen van venster binnen een toepassing" msgstr "Wisselen van venster binnen een toepassing"
#: ../data/50-mutter-navigation.xml.in.h:20 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Wisselen naar vorig gebruikte venster van een toepassing" msgstr "Wisselen naar vorig gebruikte venster van een toepassing"
#: ../data/50-mutter-navigation.xml.in.h:21 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Systeemschermen wisselen" msgstr "Systeemschermen wisselen"
#: ../data/50-mutter-navigation.xml.in.h:22 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Schakelen naar vorige systeemregelaar" msgstr "Schakelen naar vorige systeemregelaar"
#: ../data/50-mutter-navigation.xml.in.h:23 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Direct tussen vensters schakelen" msgstr "Direct tussen vensters schakelen"
#: ../data/50-mutter-navigation.xml.in.h:24 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Schakel direct naar vorig venster" msgstr "Schakel direct naar vorig venster"
#: ../data/50-mutter-navigation.xml.in.h:25 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Direct wisselen van venster binnen een toepassing" msgstr "Direct wisselen van venster binnen een toepassing"
#: ../data/50-mutter-navigation.xml.in.h:26 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Direct wisselen naar vorig venster van een toepassing" msgstr "Direct wisselen naar vorig venster van een toepassing"
#: ../data/50-mutter-navigation.xml.in.h:27 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Direct tussen systeemschermen wisselen" msgstr "Direct tussen systeemschermen wisselen"
#: ../data/50-mutter-navigation.xml.in.h:28 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Direct schakelen naar vorige systeemregelaar" msgstr "Direct schakelen naar vorige systeemregelaar"
#: ../data/50-mutter-navigation.xml.in.h:29 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Alle normale vensters verbergen" msgstr "Alle normale vensters verbergen"
#: ../data/50-mutter-navigation.xml.in.h:30 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Schakelen naar werkblad 1" msgstr "Schakelen naar werkblad 1"
#: ../data/50-mutter-navigation.xml.in.h:31 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Schakelen naar werkblad 2" msgstr "Schakelen naar werkblad 2"
#: ../data/50-mutter-navigation.xml.in.h:32 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Schakelen naar werkblad 3" msgstr "Schakelen naar werkblad 3"
#: ../data/50-mutter-navigation.xml.in.h:33 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Schakelen naar werkblad 4" msgstr "Schakelen naar werkblad 4"
#: ../data/50-mutter-navigation.xml.in.h:34 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Overschakelen naar laatste werkblad" msgstr "Overschakelen naar laatste werkblad"
#: ../data/50-mutter-navigation.xml.in.h:35 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Verplaatsen naar werkblad links"
#: ../data/50-mutter-navigation.xml.in.h:36
msgid "Move to workspace right"
msgstr "Verplaatsen naar werkblad rechts"
#: ../data/50-mutter-navigation.xml.in.h:37
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Verplaatsen naar werkblad hierboven" msgstr "Verplaatsen naar werkblad hierboven"
#: ../data/50-mutter-navigation.xml.in.h:38 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Verplaatsen naar werkblad hieronder" msgstr "Verplaatsen naar werkblad hieronder"
#: ../data/50-mutter-system.xml.in.h:1 #: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
msgid "System" msgid "System"
msgstr "Systeem" msgstr "Systeem"
#: ../data/50-mutter-system.xml.in.h:2 #: data/50-mutter-system.xml:8
msgid "Show the run command prompt" msgid "Show the run command prompt"
msgstr "Het opdrachtregelvenster tonen" msgstr "Het opdrachtregelvenster tonen"
#: ../data/50-mutter-system.xml.in.h:3 #: data/50-mutter-system.xml:10
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Het activiteitenoverzicht tonen" msgstr "Het activiteitenoverzicht tonen"
#: ../data/50-mutter-windows.xml.in.h:1 #: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Sneltoetsen opnieuw instellen"
#: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Vensters" msgstr "Vensters"
#: ../data/50-mutter-windows.xml.in.h:2 #: data/50-mutter-windows.xml:8
msgid "Activate the window menu" msgid "Activate the window menu"
msgstr "Venstermenu activeren" msgstr "Venstermenu activeren"
#: ../data/50-mutter-windows.xml.in.h:3 #: data/50-mutter-windows.xml:10
msgid "Toggle fullscreen mode" msgid "Toggle fullscreen mode"
msgstr "Volledig-schermmodus omschakelen" msgstr "Volledig-schermmodus omschakelen"
#: ../data/50-mutter-windows.xml.in.h:4 #: data/50-mutter-windows.xml:12
msgid "Toggle maximization state" msgid "Toggle maximization state"
msgstr "Maximalisatie in- of uitschakelen" msgstr "Maximalisatie in- of uitschakelen"
#: ../data/50-mutter-windows.xml.in.h:5 #: data/50-mutter-windows.xml:14
msgid "Maximize window" msgid "Maximize window"
msgstr "Venster maximaliseren" msgstr "Venster maximaliseren"
#: ../data/50-mutter-windows.xml.in.h:6 #: data/50-mutter-windows.xml:16
msgid "Restore window" msgid "Restore window"
msgstr "Venster herstellen" msgstr "Venster herstellen"
#: ../data/50-mutter-windows.xml.in.h:7 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Oprollen in- of uitschakelen"
#: ../data/50-mutter-windows.xml.in.h:8
msgid "Close window" msgid "Close window"
msgstr "Venster sluiten" msgstr "Venster sluiten"
#: ../data/50-mutter-windows.xml.in.h:9 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Venster verbergen" msgstr "Venster verbergen"
#: ../data/50-mutter-windows.xml.in.h:10 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Venster verplaatsen" msgstr "Venster verplaatsen"
#: ../data/50-mutter-windows.xml.in.h:11 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Vensterafmetingen veranderen" msgstr "Vensterafmetingen veranderen"
#: ../data/50-mutter-windows.xml.in.h:12 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Schakelen tussen venster op alle werkbladen zichtbaar of op één" msgstr "Schakelen tussen venster op alle werkbladen zichtbaar of op één"
#: ../data/50-mutter-windows.xml.in.h:13 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Vensters naar voren halen indien bedekt of anders naar achter brengen" msgstr "Vensters naar voren halen indien bedekt of anders naar achter brengen"
#: ../data/50-mutter-windows.xml.in.h:14 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Venster voor andere vensters halen" msgstr "Venster voor andere vensters halen"
#: ../data/50-mutter-windows.xml.in.h:15 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Venster achter andere vensters brengen" msgstr "Venster achter andere vensters brengen"
#: ../data/50-mutter-windows.xml.in.h:16 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Venster verticaal maximaliseren" msgstr "Venster verticaal maximaliseren"
#: ../data/50-mutter-windows.xml.in.h:17 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Venster horizontaal maximaliseren" msgstr "Venster horizontaal maximaliseren"
#: ../data/50-mutter-windows.xml.in.h:18 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Weergave gesplitst op links" msgstr "Weergave gesplitst op links"
#: ../data/50-mutter-windows.xml.in.h:19 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Weergave gesplitst op rechts" msgstr "Weergave gesplitst op rechts"
#: ../data/mutter.desktop.in.h:1 #: data/mutter.desktop.in:4
msgid "Mutter" msgid "Mutter"
msgstr "Mutter" msgstr "Mutter"
#: ../data/org.gnome.mutter.gschema.xml.in.h:1 #: data/org.gnome.mutter.gschema.xml.in:7
msgid "Modifier to use for extended window management operations" msgid "Modifier to use for extended window management operations"
msgstr "Controletoets voor uitgebreide vensterbeheerfunctionaliteit" msgstr "Controletoets voor uitgebreide vensterbeheerfunctionaliteit"
#: ../data/org.gnome.mutter.gschema.xml.in.h:2 #: data/org.gnome.mutter.gschema.xml.in:8
msgid "" msgid ""
"This key will initiate the \"overlay\", which is a combination window " "This key will initiate the overlay, which is a combination window overview "
"overview and application launching system. The default is intended to be the " "and application launching system. The default is intended to be the “Windows "
"\"Windows key\" on PC hardware. It's expected that this binding either the " "key on PC hardware. Its expected that this binding either the default or "
"default or set to the empty string." "set to the empty string."
msgstr "" msgstr ""
"Deze sleutel activeert de overlay, een combinatie van een vensteroverzicht " "Deze sleutel activeert de overlay, een combinatie van een vensteroverzicht "
"en een systeem om toepassingen te starten. Standaard is dit de Windows-" "en een systeem om toepassingen te starten. Standaard is dit de Windows-"
"toets en de bedoeling is dat deze sneltoets ofwel de standaardwaarde bevat " "toets en de bedoeling is dat deze sneltoets ofwel de standaardwaarde bevat "
"ofwel leeggemaakt is." "ofwel leeggemaakt is."
#: ../data/org.gnome.mutter.gschema.xml.in.h:3 #: data/org.gnome.mutter.gschema.xml.in:20
msgid "Attach modal dialogs" msgid "Attach modal dialogs"
msgstr "Blokkerende dialoogvensters vastmaken" msgstr "Blokkerende dialoogvensters vastmaken"
#: ../data/org.gnome.mutter.gschema.xml.in.h:4 #: data/org.gnome.mutter.gschema.xml.in:21
msgid "" msgid ""
"When true, instead of having independent titlebars, modal dialogs appear " "When true, instead of having independent titlebars, modal dialogs appear "
"attached to the titlebar of the parent window and are moved together with " "attached to the titlebar of the parent window and are moved together with "
@@ -295,28 +280,28 @@ msgstr ""
"maar vastgekoppeld aan het achterliggende venster en bewegen daardoor ook " "maar vastgekoppeld aan het achterliggende venster en bewegen daardoor ook "
"mee met het achterliggende venster." "mee met het achterliggende venster."
#: ../data/org.gnome.mutter.gschema.xml.in.h:5 #: data/org.gnome.mutter.gschema.xml.in:30
msgid "Enable edge tiling when dropping windows on screen edges" msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "Randtegels inschakelen bij het slepen van vensters naar schermranden" msgstr "Randtegels inschakelen bij het slepen van vensters naar schermranden"
#: ../data/org.gnome.mutter.gschema.xml.in.h:6 #: data/org.gnome.mutter.gschema.xml.in:31
msgid "" msgid ""
"If enabled, dropping windows on vertical screen edges maximizes them " "If enabled, dropping windows on vertical screen edges maximizes them "
"vertically and resizes them horizontally to cover half of the available " "vertically and resizes them horizontally to cover half of the available "
"area. Dropping windows on the top screen edge maximizes them completely." "area. Dropping windows on the top screen edge maximizes them completely."
msgstr "" msgstr ""
"Indien ingeschakeld dan zal het laten vallen van vensters op verticale " "Indien ingeschakeld, zal het laten vallen van vensters op verticale "
"schermranden ze verticaal maximaliseren en horizontaal op halve " "schermranden ze verticaal maximaliseren en horizontaal op halve "
"schermgrootte brengen. Het laten vallen van vensters op de bovenrand van het " "schermgrootte brengen. Het laten vallen van vensters op de bovenrand van het "
"scherm maximaliseert ze helemaal. " "scherm maximaliseert ze helemaal."
#: ../data/org.gnome.mutter.gschema.xml.in.h:7 #: data/org.gnome.mutter.gschema.xml.in:40
msgid "Workspaces are managed dynamically" msgid "Workspaces are managed dynamically"
msgstr "Werkbladen worden dynamisch beheerd" msgstr "Werkbladen worden dynamisch beheerd"
#: ../data/org.gnome.mutter.gschema.xml.in.h:8 #: data/org.gnome.mutter.gschema.xml.in:41
msgid "" msgid ""
"Determines whether workspaces are managed dynamically or whether there's a " "Determines whether workspaces are managed dynamically or whether theres a "
"static number of workspaces (determined by the num-workspaces key in org." "static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)." "gnome.desktop.wm.preferences)."
msgstr "" msgstr ""
@@ -324,11 +309,11 @@ msgstr ""
"werkbladen is (gegeven door de sleutel num-workspaces in org.gnome.desktop." "werkbladen is (gegeven door de sleutel num-workspaces in org.gnome.desktop."
"wm.preferences)." "wm.preferences)."
#: ../data/org.gnome.mutter.gschema.xml.in.h:9 #: data/org.gnome.mutter.gschema.xml.in:50
msgid "Workspaces only on primary" msgid "Workspaces only on primary"
msgstr "Werkbladen alleen voor primaire venster" msgstr "Werkbladen alleen voor primaire venster"
#: ../data/org.gnome.mutter.gschema.xml.in.h:10 #: data/org.gnome.mutter.gschema.xml.in:51
msgid "" msgid ""
"Determines whether workspace switching should happen for windows on all " "Determines whether workspace switching should happen for windows on all "
"monitors or only for windows on the primary monitor." "monitors or only for windows on the primary monitor."
@@ -336,11 +321,11 @@ msgstr ""
"Geeft aan of wisselen van werkblad voor vensters op alle schermen of alleen " "Geeft aan of wisselen van werkblad voor vensters op alle schermen of alleen "
"voor vensters op het hoofdscherm moet gebeuren." "voor vensters op het hoofdscherm moet gebeuren."
#: ../data/org.gnome.mutter.gschema.xml.in.h:11 #: data/org.gnome.mutter.gschema.xml.in:59
msgid "No tab popup" msgid "No tab popup"
msgstr "Geen tab-pop-up" msgstr "Geen tab-pop-up"
#: ../data/org.gnome.mutter.gschema.xml.in.h:12 #: data/org.gnome.mutter.gschema.xml.in:60
msgid "" msgid ""
"Determines whether the use of popup and highlight frame should be disabled " "Determines whether the use of popup and highlight frame should be disabled "
"for window cycling." "for window cycling."
@@ -348,38 +333,38 @@ msgstr ""
"Bepaalt of het gebruik van pop-up en markering van het kader uitgeschakeld " "Bepaalt of het gebruik van pop-up en markering van het kader uitgeschakeld "
"wordt voor het vensterbladeren." "wordt voor het vensterbladeren."
#: ../data/org.gnome.mutter.gschema.xml.in.h:13 #: data/org.gnome.mutter.gschema.xml.in:68
msgid "Delay focus changes until the pointer stops moving" msgid "Delay focus changes until the pointer stops moving"
msgstr "Aandacht vertragen totdat de muispijl stopt met bewegen" msgstr "Aandacht vertragen totdat de muispijl stopt met bewegen"
#: ../data/org.gnome.mutter.gschema.xml.in.h:14 #: data/org.gnome.mutter.gschema.xml.in:69
msgid "" msgid ""
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then " "If set to true, and the focus mode is either sloppy or mouse then the "
"the focus will not be changed immediately when entering a window, but only " "focus will not be changed immediately when entering a window, but only after "
"after the pointer stops moving." "the pointer stops moving."
msgstr "" msgstr ""
"Indien op true ingesteld en de aandachtsmodus is ofwel sloppy of " "Indien op true ingesteld en de aandachtsmodus is ofwel sloppy of "
"mouse, dan zal de aandacht niet direct veranderd worden bij het binnengaan " "mouse, dan zal de aandacht niet direct veranderd worden bij het binnengaan "
"van een venster, maar slechts wanneer de muispijl stopt met bewegen." "van een venster, maar slechts wanneer de muispijl stopt met bewegen."
#: ../data/org.gnome.mutter.gschema.xml.in.h:15 #: data/org.gnome.mutter.gschema.xml.in:79
msgid "Draggable border width" msgid "Draggable border width"
msgstr "Sleepbare randbreedte" msgstr "Sleepbare randbreedte"
#: ../data/org.gnome.mutter.gschema.xml.in.h:16 #: data/org.gnome.mutter.gschema.xml.in:80
msgid "" msgid ""
"The amount of total draggable borders. If the theme's visible borders are " "The amount of total draggable borders. If the themes visible borders are "
"not enough, invisible borders will be added to meet this value." "not enough, invisible borders will be added to meet this value."
msgstr "" msgstr ""
"Het totaal aantal sleepbare randen. Als de zichtbare randen in het thema " "Het totaal aantal sleepbare randen. Als de zichtbare randen in het thema "
"onvoldoende zijn, worden onzichtbare randen toegevoegd om deze waarde te " "onvoldoende zijn, worden onzichtbare randen toegevoegd om deze waarde te "
"bereiken." "bereiken."
#: ../data/org.gnome.mutter.gschema.xml.in.h:17 #: data/org.gnome.mutter.gschema.xml.in:89
msgid "Auto maximize nearly monitor sized windows" msgid "Auto maximize nearly monitor sized windows"
msgstr "Vensters van bijna-monitorformaat auto-maximaliseren" msgstr "Vensters van bijna-monitorformaat auto-maximaliseren"
#: ../data/org.gnome.mutter.gschema.xml.in.h:18 #: data/org.gnome.mutter.gschema.xml.in:90
msgid "" msgid ""
"If enabled, new windows that are initially the size of the monitor " "If enabled, new windows that are initially the size of the monitor "
"automatically get maximized." "automatically get maximized."
@@ -387,11 +372,11 @@ msgstr ""
"Indien ingeschakeld, worden vensters die initieel ongeveer even groot zijn " "Indien ingeschakeld, worden vensters die initieel ongeveer even groot zijn "
"als de monitor automatisch gemaximaliseerd." "als de monitor automatisch gemaximaliseerd."
#: ../data/org.gnome.mutter.gschema.xml.in.h:19 #: data/org.gnome.mutter.gschema.xml.in:98
msgid "Place new windows in the center" msgid "Place new windows in the center"
msgstr "Plaats nieuwe vensters in het midden" msgstr "Plaats nieuwe vensters in het midden"
#: ../data/org.gnome.mutter.gschema.xml.in.h:20 #: data/org.gnome.mutter.gschema.xml.in:99
msgid "" msgid ""
"When true, the new windows will always be put in the center of the active " "When true, the new windows will always be put in the center of the active "
"screen of the monitor." "screen of the monitor."
@@ -399,107 +384,251 @@ msgstr ""
"Indien waar zullen nieuwe vensters steeds in het midden van het actieve " "Indien waar zullen nieuwe vensters steeds in het midden van het actieve "
"scherm van de monitor geplaatst worden." "scherm van de monitor geplaatst worden."
#: ../data/org.gnome.mutter.gschema.xml.in.h:21 #: data/org.gnome.mutter.gschema.xml.in:107
msgid "Enable experimental features"
msgstr "Experimentele functies inschakelen"
#: data/org.gnome.mutter.gschema.xml.in:108
msgid ""
"To enable experimental features, add the feature keyword to the list. "
"Whether the feature requires restarting the compositor depends on the given "
"feature. Any experimental feature is not required to still be available, or "
"configurable. Dont expect adding anything in this setting to be future "
"proof. Currently possible keywords: • “scale-monitor-framebuffer” — makes "
"mutter default to layout logical monitors in a logical pixel coordinate "
"space, while scaling monitor framebuffers instead of window content, to "
"manage HiDPI monitors. Does not require a restart. • “remote-desktop” — "
"enables remote desktop support. To support remote desktop with screen "
"sharing, “screen-cast” must also be enabled. • “screen-cast” — enables "
"screen cast support."
msgstr ""
"Voeg het sleutelwoord van een experimentele functie toe aan de lijst om deze "
"in te schakelen. Of de compositor herstart moet worden vooraleer de functie "
"gebruikt kan worden is afhankelijk van de functie. Experimentele functies "
"die u aan deze lijst toevoegt kunnen op een later moment weer verwijderd of "
"op een andere manier ingesteld worden, waardoor het mogelijk is dat ze dan "
"niet meer werken. Momenteel bruikbare sleutelwoorden: • scale-monitor-"
"framebuffer — zorgt dat mutter standaard logische beeldschermen indeelt in "
"een logische pixelcoördinaatruimte, en beeldschermframebuffers schaalt in "
"plaats van vensterinhoud, om HiDPI-beeldschermen te beheren. Hiervoor is "
"opnieuw opstarten niet vereist. • remote-desktop — schakelt ondersteuning "
"voor bureaubladen op afstand in. Om extern bureaublad met scherm delen in te "
"schakelen, moet screen-cast ook ingeschakeld zijn. • screen-cast — "
"schakelt ondersteuning voor casten van scherm in."
#: data/org.gnome.mutter.gschema.xml.in:145
msgid "Select window from tab popup" msgid "Select window from tab popup"
msgstr "Venster selecteren uit tab-pop-up" msgstr "Venster selecteren uit tab-pop-up"
#: ../data/org.gnome.mutter.gschema.xml.in.h:22 #: data/org.gnome.mutter.gschema.xml.in:150
msgid "Cancel tab popup" msgid "Cancel tab popup"
msgstr "Tab-pop-up annuleren" msgstr "Tab-pop-up annuleren"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:1 #: data/org.gnome.mutter.gschema.xml.in:155
msgid "Switch monitor configurations"
msgstr "Tussen beeldschermconfiguraties schakelen"
#: data/org.gnome.mutter.gschema.xml.in:160
msgid "Rotates the built-in monitor configuration"
msgstr "Roteert de ingebouwde beeldschermconfiguratie"
#: data/org.gnome.mutter.wayland.gschema.xml.in:6
msgid "Switch to VT 1" msgid "Switch to VT 1"
msgstr "Schakelen naar VT 1" msgstr "Schakelen naar VT 1"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:2 #: data/org.gnome.mutter.wayland.gschema.xml.in:10
msgid "Switch to VT 2" msgid "Switch to VT 2"
msgstr "Schakelen naar VT 2" msgstr "Schakelen naar VT 2"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:3 #: data/org.gnome.mutter.wayland.gschema.xml.in:14
msgid "Switch to VT 3" msgid "Switch to VT 3"
msgstr "Schakelen naar VT 3" msgstr "Schakelen naar VT 3"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:4 #: data/org.gnome.mutter.wayland.gschema.xml.in:18
msgid "Switch to VT 4" msgid "Switch to VT 4"
msgstr "Schakelen naar VT 4" msgstr "Schakelen naar VT 4"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:5 #: data/org.gnome.mutter.wayland.gschema.xml.in:22
msgid "Switch to VT 5" msgid "Switch to VT 5"
msgstr "Schakelen naar VT 5" msgstr "Schakelen naar VT 5"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:6 #: data/org.gnome.mutter.wayland.gschema.xml.in:26
msgid "Switch to VT 6" msgid "Switch to VT 6"
msgstr "Schakelen naar VT 6" msgstr "Schakelen naar VT 6"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:7 #: data/org.gnome.mutter.wayland.gschema.xml.in:30
msgid "Switch to VT 7" msgid "Switch to VT 7"
msgstr "Schakelen naar VT 7" msgstr "Schakelen naar VT 7"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:8 #: data/org.gnome.mutter.wayland.gschema.xml.in:34
msgid "Switch to VT 8" msgid "Switch to VT 8"
msgstr "Schakelen naar VT 8" msgstr "Schakelen naar VT 8"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:9 #: data/org.gnome.mutter.wayland.gschema.xml.in:38
msgid "Switch to VT 9" msgid "Switch to VT 9"
msgstr "Schakelen naar VT 9" msgstr "Schakelen naar VT 9"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:10 #: data/org.gnome.mutter.wayland.gschema.xml.in:42
msgid "Switch to VT 10" msgid "Switch to VT 10"
msgstr "Schakelen naar VT 10" msgstr "Schakelen naar VT 10"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:11 #: data/org.gnome.mutter.wayland.gschema.xml.in:46
msgid "Switch to VT 11" msgid "Switch to VT 11"
msgstr "Schakelen naar VT 11" msgstr "Schakelen naar VT 11"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:12 #: data/org.gnome.mutter.wayland.gschema.xml.in:50
msgid "Switch to VT 12" msgid "Switch to VT 12"
msgstr "Schakelen naar VT 12" msgstr "Schakelen naar VT 12"
#: ../src/backends/meta-monitor-manager.c:518 #: data/org.gnome.mutter.wayland.gschema.xml.in:54
msgid "Re-enable shortcuts"
msgstr "Sneltoetsen opnieuw inschakelen"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Grabs met Xwayland toestaan"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"Toestaan dat rekening wordt gehouden met toetsenbord-grabs door X11-"
"toepassingen die in Xwayland draaien. Om rekening te houden met een X11-grab "
"onder Wayland, moet de client ook: óf een specifieke X11-ClientMessage naar "
"het root-venster sturen, óf vermeld staan in de witte lijst van toepassingen "
"in de sleutel xwayland-grab-access-rules."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "Xwayland-toepassingen mogen toetsenbord-grabs doen"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:2325
#, c-format
msgid "Mode Switch (Group %d)"
msgstr "Moduswisselaar (groep %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:2348
msgid "Switch monitor"
msgstr "Van beeldscherm wisselen"
#: src/backends/meta-input-settings.c:2350
msgid "Show on-screen help"
msgstr "Hulptekst op scherm tonen"
#: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Ingebouwd beeldscherm" msgstr "Ingebouwd beeldscherm"
#: ../src/backends/meta-monitor-manager.c:544 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Onbekend" msgstr "Onbekend"
#: ../src/backends/meta-monitor-manager.c:546 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Onbekend beeldscherm" msgstr "Onbekend beeldscherm"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: ../src/backends/meta-monitor-manager.c:554 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: ../src/compositor/compositor.c:456 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display \"%s" "Another compositing manager is already running on screen %i on display “%s”."
"\"."
msgstr "" msgstr ""
"Er is al een andere compositing manager actief op scherm %i van " "Er is al een andere compositing manager actief op scherm %i van "
"beeldscherm %s." "beeldscherm %s."
#: ../src/core/bell.c:194 #: src/core/bell.c:194
msgid "Bell event" msgid "Bell event"
msgstr "Bel-gebeurtenis" msgstr "Bel-gebeurtenis"
#: ../src/core/delete.c:127 #: src/core/display.c:608
#, c-format
msgid "Failed to open X Window System display “%s”\n"
msgstr "Openen van X Window System display %s mislukt\n"
#: src/core/main.c:190
msgid "Disable connection to session manager"
msgstr "Schakel de verbinding met het sessiebeheer uit"
#: src/core/main.c:196
msgid "Replace the running window manager"
msgstr "De huidige toepassing voor vensterbeheer vervangen"
#: src/core/main.c:202
msgid "Specify session management ID"
msgstr "Specificeer de ID van het sessiebeheer"
#: src/core/main.c:207
msgid "X Display to use"
msgstr "De te gebruiken X-weergave"
#: src/core/main.c:213
msgid "Initialize session from savefile"
msgstr "Initialiseer de sessie middels een opslagbestand"
#: src/core/main.c:219
msgid "Make X calls synchronous"
msgstr "X-aanroepen synchroon maken"
#: src/core/main.c:226
msgid "Run as a wayland compositor"
msgstr "Uitvoeren als een wayland compositor"
#: src/core/main.c:232
msgid "Run as a nested compositor"
msgstr "Uitvoeren als een geneste compositor"
#: src/core/main.c:240
msgid "Run as a full display server, rather than nested"
msgstr "Uitvoeren als een volledige displayserver, in plaats van genest"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Uitvoeren met X11-backend"
#. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
msgid "“%s” is not responding." msgid "“%s” is not responding."
msgstr "%s reageert niet." msgstr "%s reageert niet."
#: ../src/core/delete.c:129 #: src/core/meta-close-dialog-default.c:149
msgid "Application is not responding." msgid "Application is not responding."
msgstr "De toepassing reageert niet." msgstr "De toepassing reageert niet."
#: ../src/core/delete.c:134 #: src/core/meta-close-dialog-default.c:154
msgid "" msgid ""
"You may choose to wait a short while for it to continue or force the " "You may choose to wait a short while for it to continue or force the "
"application to quit entirely." "application to quit entirely."
@@ -507,60 +636,19 @@ msgstr ""
"U kunt ervoor kiezen even te wachten totdat het doorgaat of de toepassing " "U kunt ervoor kiezen even te wachten totdat het doorgaat of de toepassing "
"dwingen om helemaal af te sluiten." "dwingen om helemaal af te sluiten."
#: ../src/core/delete.c:141 #: src/core/meta-close-dialog-default.c:161
msgid "_Wait"
msgstr "_Wachten"
#: ../src/core/delete.c:141
msgid "_Force Quit" msgid "_Force Quit"
msgstr "Ge_forceerd afsluiten" msgstr "Ge_forceerd afsluiten"
#: ../src/core/display.c:555 #: src/core/meta-close-dialog-default.c:161
#, c-format msgid "_Wait"
msgid "Failed to open X Window System display '%s'\n" msgstr "_Wachten"
msgstr "Openen van X Window System display '%s' mislukt\n"
#: ../src/core/main.c:181 #: src/core/mutter.c:39
msgid "Disable connection to session manager"
msgstr "Schakel de verbinding met het sessiebeheer uit"
#: ../src/core/main.c:187
msgid "Replace the running window manager"
msgstr "De huidige toepassing voor vensterbeheer vervangen"
#: ../src/core/main.c:193
msgid "Specify session management ID"
msgstr "Specificeer de ID van het sessiebeheer"
#: ../src/core/main.c:198
msgid "X Display to use"
msgstr "De te gebruiken X-weergave"
#: ../src/core/main.c:204
msgid "Initialize session from savefile"
msgstr "Initialiseer de sessie middels een opslagbestand"
#: ../src/core/main.c:210
msgid "Make X calls synchronous"
msgstr "X-aanroepen synchroon maken"
#: ../src/core/main.c:217
msgid "Run as a wayland compositor"
msgstr "Uitvoeren als een wayland compositor"
#: ../src/core/main.c:223
msgid "Run as a nested compositor"
msgstr "Uitvoeren als een geneste compositor"
#: ../src/core/main.c:231
msgid "Run as a full display server, rather than nested"
msgstr "Uitvoeren als een volledige display server, in plaats van genest"
#: ../src/core/mutter.c:39
#, c-format #, c-format
msgid "" msgid ""
"mutter %s\n" "mutter %s\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n" "Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n" "This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A " "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n" "PARTICULAR PURPOSE.\n"
@@ -571,50 +659,70 @@ msgstr ""
"Er is GEEN garantie; zelfs niet voor VERKOOPBAARHEID of GESCHIKTHEID VOOR " "Er is GEEN garantie; zelfs niet voor VERKOOPBAARHEID of GESCHIKTHEID VOOR "
"EEN BEPAALD DOEL.\n" "EEN BEPAALD DOEL.\n"
#: ../src/core/mutter.c:53 #: src/core/mutter.c:53
msgid "Print version" msgid "Print version"
msgstr "Versie-informatie tonen" msgstr "Versie-informatie tonen"
#: ../src/core/mutter.c:59 #: src/core/mutter.c:59
msgid "Mutter plugin to use" msgid "Mutter plugin to use"
msgstr "Te gebruiken Mutter-plug-in" msgstr "Te gebruiken Mutter-plug-in"
#: ../src/core/prefs.c:1997 #: src/core/prefs.c:1997
#, c-format #, c-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Werkblad %d" msgstr "Werkblad %d"
#: ../src/core/screen.c:521 #: src/core/screen.c:583
#, c-format #, c-format
msgid "" msgid ""
"Display \"%s\" already has a window manager; try using the --replace option " "Display “%s” already has a window manager; try using the --replace option to "
"to replace the current window manager." "replace the current window manager."
msgstr "" msgstr ""
"Beeldscherm %s heeft al een window manager; probeer de optie: --replace te " "Beeldscherm %s heeft al een vensterbeheerder; probeer de optie: --replace "
"gebruiken om de huidige window manager te vervangen." "te gebruiken om de huidige vensterbeheerder te vervangen."
#: ../src/core/screen.c:603 #: src/core/screen.c:668
#, c-format #, c-format
msgid "Screen %d on display '%s' is invalid\n" msgid "Screen %d on display %s is invalid\n"
msgstr "Scherm %d op beeldscherm '%s' is ongeldig\n" msgstr "Scherm %d op beeldscherm %s is ongeldig\n"
#: ../src/core/util.c:121 #: src/core/util.c:120
msgid "Mutter was compiled without support for verbose mode\n" msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter is gecompileerd zonder ondersteuning voor verbose-mode\n" msgstr "Mutter is gecompileerd zonder ondersteuning voor verbose-mode\n"
#: ../src/x11/session.c:1815 #: src/wayland/meta-wayland-tablet-pad.c:567
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Moduswisselaar: modus %d"
#: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support &quot;save current setup&quot; and will have to " "These windows do not support save current setup and will have to be "
"be restarted manually next time you log in." "restarted manually next time you log in."
msgstr "" msgstr ""
"Deze vensters ondersteunen het opslaan van de huidige instellingen niet en " "Deze vensters ondersteunen het opslaan van de huidige instellingen niet en "
"zullen bij een volgende sessie opnieuw moeten worden opgestart." "zullen bij een volgende sessie opnieuw moeten worden opgestart."
#: ../src/x11/window-props.c:549 #: src/x11/window-props.c:559
#, c-format #, c-format
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (op %s)" msgstr "%s (op %s)"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Venster één werkblad naar links verplaatsen"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Venster één werkblad naar rechts verplaatsen"
#~ msgid "Move to workspace left"
#~ msgstr "Verplaatsen naar werkblad links"
#~ msgid "Move to workspace right"
#~ msgstr "Verplaatsen naar werkblad rechts"
#~ msgid "Toggle shaded state"
#~ msgstr "Oprollen in- of uitschakelen"
#~ msgid "background texture could not be created from file" #~ msgid "background texture could not be created from file"
#~ msgstr "aanmaken achtergrondstructuur uit bestand mislukt" #~ msgstr "aanmaken achtergrondstructuur uit bestand mislukt"

194
po/pl.po
View File

@@ -1,21 +1,20 @@
# Polish translation for mutter. # Polish translation for mutter.
# Copyright © 2002-2017 the mutter authors. # Copyright © 2002-2018 the mutter authors.
# This file is distributed under the same license as the mutter package. # This file is distributed under the same license as the mutter package.
# Zbigniew Chyla <chyla@alice.ci.pwr.wroc.pl>, 2002-2003. # Zbigniew Chyla <chyla@alice.ci.pwr.wroc.pl>, 2002-2003.
# Artur Flinta <aflinta@at.kernel.pl>, 2003-2005. # Artur Flinta <aflinta@at.kernel.pl>, 2003-2005.
# Marek Stępień <marcoos@aviary.pl>, 2007. # Marek Stępień <marcoos@aviary.pl>, 2007.
# Wadim Dziedzic <wdziedzic@aviary.pl>, 2007. # Wadim Dziedzic <wdziedzic@aviary.pl>, 2007.
# Tomasz Dominikowski <dominikowski@gmail.com>, 2008-2009. # Tomasz Dominikowski <dominikowski@gmail.com>, 2008-2009.
# Piotr Drąg <piotrdrag@gmail.com>, 2010-2017. # Piotr Drąg <piotrdrag@gmail.com>, 2010-2018.
# Aviary.pl <community-poland@mozilla.org>, 2007-2017. # Aviary.pl <community-poland@mozilla.org>, 2007-2018.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter\n" "Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-06 04:14+0000\n"
"POT-Creation-Date: 2017-11-10 18:18+0000\n" "PO-Revision-Date: 2018-02-08 02:05+0100\n"
"PO-Revision-Date: 2017-11-10 18:30+0100\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <community-poland@mozilla.org>\n" "Language-Team: Polish <community-poland@mozilla.org>\n"
"Language: pl\n" "Language: pl\n"
@@ -50,130 +49,114 @@ msgid "Move window to last workspace"
msgstr "Przeniesienie okna na ostatni obszar roboczy" msgstr "Przeniesienie okna na ostatni obszar roboczy"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Przeniesienie okna o obszar roboczy w lewo"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Przeniesienie okna o obszar roboczy w prawo"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Przeniesienie okna o obszar roboczy w górę" msgstr "Przeniesienie okna o obszar roboczy w górę"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Przeniesienie okna o obszar roboczy w dół" msgstr "Przeniesienie okna o obszar roboczy w dół"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Przeniesienie okna na monitor po lewej" msgstr "Przeniesienie okna na monitor po lewej"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Przeniesienie okna na monitor po prawej" msgstr "Przeniesienie okna na monitor po prawej"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Przeniesienie okna na monitor na górze" msgstr "Przeniesienie okna na monitor na górze"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Przeniesienie okna na monitor na dole" msgstr "Przeniesienie okna na monitor na dole"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Przełączenie programów" msgstr "Przełączenie programów"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Przełączenie na poprzedni program" msgstr "Przełączenie na poprzedni program"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Przełączenie okien" msgstr "Przełączenie okien"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Przełączenie na poprzednie okno" msgstr "Przełączenie na poprzednie okno"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Przełączenie między oknami programu" msgstr "Przełączenie między oknami programu"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Przełączenie na poprzednie okno programu" msgstr "Przełączenie na poprzednie okno programu"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Przełączenie kontroli systemowej" msgstr "Przełączenie kontroli systemowej"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Przełączenie na poprzednią kontrolę systemową" msgstr "Przełączenie na poprzednią kontrolę systemową"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Bezpośrednie przełączenie między oknami" msgstr "Bezpośrednie przełączenie między oknami"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Bezpośrednie przełączenie na poprzednie okno" msgstr "Bezpośrednie przełączenie na poprzednie okno"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Bezpośrednie przełączenie między oknami programu" msgstr "Bezpośrednie przełączenie między oknami programu"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Bezpośrednie przełączenie na poprzednie okno programu" msgstr "Bezpośrednie przełączenie na poprzednie okno programu"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Bezpośrednie przełączenie kontroli systemowej" msgstr "Bezpośrednie przełączenie kontroli systemowej"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Bezpośrednie przełączenie na poprzednią kontrolę systemową" msgstr "Bezpośrednie przełączenie na poprzednią kontrolę systemową"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Ukrycie wszystkich zwykłych okien" msgstr "Ukrycie wszystkich zwykłych okien"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Przełączenie na 1. obszar roboczy" msgstr "Przełączenie na 1. obszar roboczy"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Przełączenie na 2. obszar roboczy" msgstr "Przełączenie na 2. obszar roboczy"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Przełączenie na 3. obszar roboczy" msgstr "Przełączenie na 3. obszar roboczy"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Przełączenie na 4. obszar roboczy" msgstr "Przełączenie na 4. obszar roboczy"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Przełączenie na ostatni obszar roboczy" msgstr "Przełączenie na ostatni obszar roboczy"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Przeniesienie na lewy obszar roboczy"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Przeniesienie na prawy obszar roboczy"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Przeniesienie na górny obszar roboczy" msgstr "Przeniesienie na górny obszar roboczy"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Przeniesienie na dolny obszar roboczy" msgstr "Przeniesienie na dolny obszar roboczy"
@@ -218,56 +201,52 @@ msgid "Restore window"
msgstr "Przywrócenie okna" msgstr "Przywrócenie okna"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Przełączenie trybu zwinięcia"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Zamknięcie okna" msgstr "Zamknięcie okna"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Ukrycie okna" msgstr "Ukrycie okna"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Przeniesienie okna" msgstr "Przeniesienie okna"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Zmiana rozmiaru okna" msgstr "Zmiana rozmiaru okna"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "" msgstr ""
"Przełączenie obecności okna na wszystkich obszarach roboczych lub jednym" "Przełączenie obecności okna na wszystkich obszarach roboczych lub jednym"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "" msgstr ""
"Wysunięcie okna, jeśli jest zasłonięte, odsunięcie w przeciwnym wypadku" "Wysunięcie okna, jeśli jest zasłonięte, odsunięcie w przeciwnym wypadku"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Wysunięcie okna przed pozostałe" msgstr "Wysunięcie okna przed pozostałe"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Odsunięcie okna pod pozostałe" msgstr "Odsunięcie okna pod pozostałe"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Pionowa maksymalizacja okna" msgstr "Pionowa maksymalizacja okna"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Pozioma maksymalizacja okna" msgstr "Pozioma maksymalizacja okna"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Podział widoku po lewej" msgstr "Podział widoku po lewej"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Podział widoku po prawej" msgstr "Podział widoku po prawej"
@@ -511,10 +490,55 @@ msgstr "Przełączenie na 12. konsolę wirtualną"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Ponowne włączenie skrótów" msgstr "Ponowne włączenie skrótów"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Zezwolenie na przechwycenia za pomocą Xwayland"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"Zezwolenie na uwzględnianie przechwyceń klawiatury wywoływanych przez "
"programy X11 działające w systemie Xwayland. Aby przechwycenie X11 zostało "
"uwzględnione w systemie Wayland, klient musi także wysłać konkretny "
"komunikat ClientMessage systemu X11 do głównego okna lub być na liście "
"programów w kluczu „xwayland-grab-access-rules”."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "Programy Xwayland, które mogą wywoływać przechwycenia klawiatury"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"Lista nazw zasobów lub klas zasobów okien X11, które mogą lub nie mogą "
"wywoływać przechwyceń klawiatury X11 w systemie Xwayland. Można uzyskać "
"nazwę zasobu lub klasę zasobów danego okna X11 za pomocą polecenia „xprop "
"WM_CLASS”. W wartościach obsługiwane są wieloznaczniki „*” i „?”. Wartości "
"zaczynające się od znaku „!” nie mają zezwolenia, co ma pierwszeństwo przed "
"zezwoleniami, aby usunąć je z domyślnej listy systemu. Domyślna lista "
"systemu zawiera te programy: „@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@”. "
"Użytkownicy mogą przerwać istniejące przechwycenie za pomocą skrótu "
"klawiszowego określonego w kluczu „restore-shortcuts”."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2167 #: src/backends/meta-input-settings.c:2260
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Przełącznik trybu (%d. grupa)" msgstr "Przełącznik trybu (%d. grupa)"
@@ -522,37 +546,37 @@ msgstr "Przełącznik trybu (%d. grupa)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2190 #: src/backends/meta-input-settings.c:2283
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Przełączenie monitora" msgstr "Przełączenie monitora"
#: src/backends/meta-input-settings.c:2192 #: src/backends/meta-input-settings.c:2285
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Ekran pomocy" msgstr "Ekran pomocy"
#: src/backends/meta-monitor-manager.c:908 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Wbudowany ekran" msgstr "Wbudowany ekran"
#: src/backends/meta-monitor-manager.c:931 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Nieznany" msgstr "Nieznany"
#: src/backends/meta-monitor-manager.c:933 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Nieznany ekran" msgstr "Nieznany ekran"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:941 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -568,42 +592,46 @@ msgstr "Zdarzenie sygnału dźwiękowego"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Otwarcie połączenia z ekranem „%s” systemu X Window się nie powiodło\n" msgstr "Otwarcie połączenia z ekranem „%s” systemu X Window się nie powiodło\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Rozłącza połączenie z menedżerem sesji" msgstr "Rozłącza połączenie z menedżerem sesji"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Zastępuje uruchomionego menedżera okien" msgstr "Zastępuje uruchomionego menedżera okien"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Podaje identyfikator zarządzania sesją" msgstr "Podaje identyfikator zarządzania sesją"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "Używany ekran X" msgstr "Używany ekran X"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Inicjuje sesję z zapisanego pliku" msgstr "Inicjuje sesję z zapisanego pliku"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Synchroniczne wywołania X" msgstr "Synchroniczne wywołania X"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Uruchamia jako menedżer składania Wayland" msgstr "Uruchamia jako menedżer składania Wayland"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Uruchamia jako osadzony menedżer składania" msgstr "Uruchamia jako osadzony menedżer składania"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Uruchamia jako pełny serwer wyświetlania zamiast osadzonego" msgstr "Uruchamia jako pełny serwer wyświetlania zamiast osadzonego"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Uruchamia za pomocą mechanizmu X11"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -681,7 +709,7 @@ msgstr ""
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Przełącznik trybu: %d. tryb" msgstr "Przełącznik trybu: %d. tryb"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."

View File

@@ -1,5 +1,5 @@
# Brazilian Portuguese translation of mutter. # Brazilian Portuguese translation of mutter.
# Copyright (C) 2002-2017 Free Software Foundation, Inc. # Copyright (C) 2002-2018 Free Software Foundation, Inc.
# This file is distributed under the same license as the mutter package. # This file is distributed under the same license as the mutter package.
# Sun G11n <gnome_int_l10n@ireland.sun.com>, 2002. # Sun G11n <gnome_int_l10n@ireland.sun.com>, 2002.
# Evandro Fernandes Giovanini <evandrofg@ig.com.br>, 2002, 2003, 2006. # Evandro Fernandes Giovanini <evandrofg@ig.com.br>, 2002, 2003, 2006.
@@ -14,15 +14,14 @@
# Antonio Fernandes C. Neto <fernandes@pelivre.org>, 2010. # Antonio Fernandes C. Neto <fernandes@pelivre.org>, 2010.
# Rodrigo Padula de Oliveira <contato@rodrigopadula.com>, 2011. # Rodrigo Padula de Oliveira <contato@rodrigopadula.com>, 2011.
# Artur de Aquino Morais <artur.morais93@outlook.com>, 2016. # Artur de Aquino Morais <artur.morais93@outlook.com>, 2016.
# Enrico Nicoletto <liverig@gmail.com>, 2012, 2014, 2016. # Enrico Nicoletto <liverig@gmail.com>, 2012-2016.
# Rafael Fontenelle <rafaelff@gnome.org>, 2013, 2014, 2016, 2017. # Rafael Fontenelle <rafaelff@gnome.org>, 2013-2018.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter\n" "Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=mutter" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-06 04:14+0000\n"
"POT-Creation-Date: 2017-11-10 18:18+0000\n" "PO-Revision-Date: 2018-02-16 15:02-0200\n"
"PO-Revision-Date: 2017-11-11 16:55-0200\n"
"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n" "Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n" "Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
"Language: pt_BR\n" "Language: pt_BR\n"
@@ -58,134 +57,118 @@ msgid "Move window to last workspace"
msgstr "Mover a janela para o último espaço de trabalho" msgstr "Mover a janela para o último espaço de trabalho"
#: data/50-mutter-navigation.xml:24 #: 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" msgid "Move window one workspace up"
msgstr "Mover a janela um espaço de trabalho acima" msgstr "Mover a janela um espaço de trabalho acima"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Mover a janela um espaço de trabalho abaixo" msgstr "Mover a janela um espaço de trabalho abaixo"
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico # Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Mover janela para o monitor da esquerda" msgstr "Mover janela para o monitor da esquerda"
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico # Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Mover janela para o monitor da direita" msgstr "Mover janela para o monitor da direita"
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico # Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Mover janela para o monitor acima" msgstr "Mover janela para o monitor acima"
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico # Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Mover janela para o monitor abaixo" msgstr "Mover janela para o monitor abaixo"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Alternar aplicativos" msgstr "Alternar aplicativos"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Alternar para o aplicativo anterior" msgstr "Alternar para o aplicativo anterior"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Alternar janelas" msgstr "Alternar janelas"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Alternar para a janela anterior" msgstr "Alternar para a janela anterior"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Alternar as janelas de um aplicativo" msgstr "Alternar as janelas de um aplicativo"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Alternar para a janela anterior de um aplicativo" msgstr "Alternar para a janela anterior de um aplicativo"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Alternar controles do sistema" msgstr "Alternar controles do sistema"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Alternar para o controle de sistema anterior" msgstr "Alternar para o controle de sistema anterior"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Alternar as janelas diretamente" msgstr "Alternar as janelas diretamente"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Alternar diretamente para a janela anterior" msgstr "Alternar diretamente para a janela anterior"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Alternar as janelas de um aplicativo diretamente" msgstr "Alternar as janelas de um aplicativo diretamente"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Alternar diretamente para a janela anterior de um aplicativo" msgstr "Alternar diretamente para a janela anterior de um aplicativo"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Alternar os controles de sistema diretamente" msgstr "Alternar os controles de sistema diretamente"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Alternar diretamente para o controle de sistema anterior" msgstr "Alternar diretamente para o controle de sistema anterior"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Ocultar todas as janelas normais" msgstr "Ocultar todas as janelas normais"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Trocar para o espaço de trabalho 1" msgstr "Trocar para o espaço de trabalho 1"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Trocar para o espaço de trabalho 2" msgstr "Trocar para o espaço de trabalho 2"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Trocar para o espaço de trabalho 3" msgstr "Trocar para o espaço de trabalho 3"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Trocar para o espaço de trabalho 4" msgstr "Trocar para o espaço de trabalho 4"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Trocar para o último espaço de trabalho" msgstr "Trocar para o último espaço de trabalho"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
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" msgid "Move to workspace above"
msgstr "Mover para o espaço de trabalho acima" msgstr "Mover para o espaço de trabalho acima"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Mover para o espaço de trabalho abaixo" msgstr "Mover para o espaço de trabalho abaixo"
@@ -230,54 +213,50 @@ msgid "Restore window"
msgstr "Restaurar janela" msgstr "Restaurar janela"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Alternar estado sombreado"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Fechar janela" msgstr "Fechar janela"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Ocultar janela" msgstr "Ocultar janela"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Mover janela" msgstr "Mover janela"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Redimensionar janela" msgstr "Redimensionar janela"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Alternar a janela em todos os espaços de trabalho ou em apenas um" msgstr "Alternar a janela em todos os espaços de trabalho ou em apenas um"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Elevar a janela se estiver coberta; caso contrário, a abaixa" msgstr "Elevar a janela se estiver coberta; caso contrário, a abaixa"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Elevar a janela para frente das outras" msgstr "Elevar a janela para frente das outras"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Colocar a janela atrás das outras" msgstr "Colocar a janela atrás das outras"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Maximizar a janela verticalmente" msgstr "Maximizar a janela verticalmente"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Maximizar a janela horizontalmente" msgstr "Maximizar a janela horizontalmente"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Visualizar divisão à esquerda" msgstr "Visualizar divisão à esquerda"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Visualizar divisão à direita" msgstr "Visualizar divisão à direita"
@@ -520,10 +499,56 @@ msgstr "Trocar para o VT 12"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Reabilita atalhos" msgstr "Reabilita atalhos"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Permitir capturas com Xwayland"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"Permite capturas de teclado emitidas por aplicativos X11 em execução no "
"Xwayland para serem levadas em consideração. Para que uma captura de X11 "
"seja levada em consideração no Wayland, o cliente também deve enviar um X11 "
"ClientMessage específica para a janela raiz ou estar entre os aplicativos "
"listados em branco na chave “xwayland-grab-access-rules”."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "Aplicativos Xwayland com permissão para emitir capturas de teclado"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"Lista os nomes dos recursos ou classe de recursos do janelas X11 com ou sem "
"permissão para emitir capturas de teclado X11 no Xwayland. O nome do recurso "
"ou a classe de recurso de uma determinada janela X11 podem ser obtidos "
"usando o comando “xprop WM_CLASS”. Há suporte a curingas “*” e “?” nos "
"valores. Os valores que começam com “!” são colocados em uma lista negra, "
"que tem precedência sobre a lista branca, para revogar aplicativos da lista "
"padrão do sistema. A lista de sistema padrão inclui os seguintes "
"aplicativos: “@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@”. Os usuários podem "
"quebrar uma captura existente usando o atalho de teclado específico definido "
"pela chave de associação de tecla “restore-shortcuts”."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2167 #: src/backends/meta-input-settings.c:2260
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Alternador de modo (Grupo %d)" msgstr "Alternador de modo (Grupo %d)"
@@ -531,37 +556,37 @@ msgstr "Alternador de modo (Grupo %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2190 #: src/backends/meta-input-settings.c:2283
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Trocar monitor" msgstr "Trocar monitor"
#: src/backends/meta-input-settings.c:2192 #: src/backends/meta-input-settings.c:2285
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Mostrar ajuda na tela" msgstr "Mostrar ajuda na tela"
#: src/backends/meta-monitor-manager.c:908 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Tela embutida" msgstr "Tela embutida"
#: src/backends/meta-monitor-manager.c:931 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Desconhecido" msgstr "Desconhecido"
#: src/backends/meta-monitor-manager.c:933 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Monitor desconhecido" msgstr "Monitor desconhecido"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:941 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s de %s" msgstr "%s de %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -576,42 +601,46 @@ msgstr "Evento de som"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Falha ao abrir a exibição “%s” do sistema de janelas X\n" msgstr "Falha ao abrir a exibição “%s” do sistema de janelas X\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Desabilitar a conexão com o gerenciador de sessões" msgstr "Desabilitar a conexão com o gerenciador de sessões"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Substituir o gerenciador de janelas em execução" msgstr "Substituir o gerenciador de janelas em execução"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Especificar o ID do gerenciador de sessões" msgstr "Especificar o ID do gerenciador de sessões"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "Exibição do X a ser utilizada" msgstr "Exibição do X a ser utilizada"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Inicializar a sessão a partir do arquivo salvo" msgstr "Inicializar a sessão a partir do arquivo salvo"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Fazer X chamadas síncronas" msgstr "Fazer X chamadas síncronas"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Executar como um compositor wayland" msgstr "Executar como um compositor wayland"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Executar como um compositor aninhado" msgstr "Executar como um compositor aninhado"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Executar como um servidor de tela cheia, ao invés de aninhado" msgstr "Executar como um servidor de tela cheia, ao invés de aninhado"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Executar com backend X11"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -690,7 +719,7 @@ msgstr "O Mutter foi compilado sem suporte para modo detalhado\n"
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Alternador de modo: Modo %d" msgstr "Alternador de modo: Modo %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -703,6 +732,21 @@ msgstr ""
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (em %s)" msgstr "%s (em %s)"
#~ 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 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 "Toggle shaded state"
#~ msgstr "Alternar estado sombreado"
#~ msgid "background texture could not be created from file" #~ msgid "background texture could not be created from file"
#~ msgstr "textura de plano de fundo não pôde ser criado de arquivo" #~ msgstr "textura de plano de fundo não pôde ser criado de arquivo"

224
po/sk.po
View File

@@ -12,10 +12,9 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter\n" "Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-06 04:14+0000\n"
"POT-Creation-Date: 2017-08-21 04:46+0000\n" "PO-Revision-Date: 2018-03-17 21:52+0100\n"
"PO-Revision-Date: 2017-08-23 19:50+0200\n"
"Last-Translator: Dušan Kazik <prescott66@gmail.com>\n" "Last-Translator: Dušan Kazik <prescott66@gmail.com>\n"
"Language-Team: Slovak <gnome-sk-list@gnome.org>\n" "Language-Team: Slovak <gnome-sk-list@gnome.org>\n"
"Language: sk\n" "Language: sk\n"
@@ -23,7 +22,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
"X-Generator: Poedit 2.0.3\n" "X-Generator: Poedit 2.0.6\n"
#: data/50-mutter-navigation.xml:6 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
@@ -56,167 +55,147 @@ msgstr "Presunúť okno na posledný pracovný priestor"
# description # description
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Presunúť okno o jeden pracovný priestor vľavo"
# description
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Presunúť okno o jeden pracovný priestor vpravo"
# description
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Presunúť okno o jeden pracovný priestor hore" msgstr "Presunúť okno o jeden pracovný priestor hore"
# description # description
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Presunúť okno o jeden pracovný priestor dolu" msgstr "Presunúť okno o jeden pracovný priestor dolu"
# description # description
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Presunúť okno o jeden monitor vľavo" msgstr "Presunúť okno o jeden monitor vľavo"
# description # description
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Presunúť okno o jeden monitor vpravo" msgstr "Presunúť okno o jeden monitor vpravo"
# description # description
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Presunúť okno o jeden monitor hore" msgstr "Presunúť okno o jeden monitor hore"
# description # description
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Presunúť okno o jeden monitor dolu" msgstr "Presunúť okno o jeden monitor dolu"
# description # description
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Prepnúť aplikácie" msgstr "Prepnúť aplikácie"
# description # description
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Prepnúť na predchádzajúcu aplikáciu" msgstr "Prepnúť na predchádzajúcu aplikáciu"
# description # description
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Prepnúť okná" msgstr "Prepnúť okná"
# description # description
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Prepnúť na predchádzajúce okno" msgstr "Prepnúť na predchádzajúce okno"
# description # description
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Prepnúť okná aplikácie" msgstr "Prepnúť okná aplikácie"
# description # description
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Prepnúť na predchádzajúce okno aplikácie" msgstr "Prepnúť na predchádzajúce okno aplikácie"
# PK: predpokladam ze to prepisane medzi tlacidlami # PK: predpokladam ze to prepisane medzi tlacidlami
# description # description
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Prepnúť medzi ovládacími prvkami systému" msgstr "Prepnúť medzi ovládacími prvkami systému"
# PK: predpokladam ze to prepisane medzi tlacidlami # PK: predpokladam ze to prepisane medzi tlacidlami
# description # description
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Prepnúť na predchádzajúci ovládací prvok systému" msgstr "Prepnúť na predchádzajúci ovládací prvok systému"
# description # description
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Prepnúť okná priamo" msgstr "Prepnúť okná priamo"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Priamo prepnúť na predchádzajúce okno" msgstr "Priamo prepnúť na predchádzajúce okno"
# description # description
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Prepnúť okná aplikácie priamo" msgstr "Prepnúť okná aplikácie priamo"
# description # description
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Priamo prepnúť na predchádzajúce okno aplikácie" msgstr "Priamo prepnúť na predchádzajúce okno aplikácie"
# description # description
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Prepnúť medzi ovládacími prvkami systému priamo" msgstr "Prepnúť medzi ovládacími prvkami systému priamo"
# PK: predpokladam ze to prepisane medzi tlacidlami # PK: predpokladam ze to prepisane medzi tlacidlami
# description # description
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Priamo prepnúť na predchádzajúci ovládací prvok systému" msgstr "Priamo prepnúť na predchádzajúci ovládací prvok systému"
# description # description
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Skryť všetky normálne okná" msgstr "Skryť všetky normálne okná"
# description # description
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Prepnúť na pracovný priestor č. 1" msgstr "Prepnúť na pracovný priestor č. 1"
# description # description
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Prepnúť na pracovný priestor č. 2" msgstr "Prepnúť na pracovný priestor č. 2"
# description # description
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Prepnúť na pracovný priestor č. 3" msgstr "Prepnúť na pracovný priestor č. 3"
# description # description
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Prepnúť na pracovný priestor č. 4" msgstr "Prepnúť na pracovný priestor č. 4"
# description # description
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Prepnúť na posledný pracovný priestor" msgstr "Prepnúť na posledný pracovný priestor"
# description # description
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Presunúť na pracovný priestor vľavo"
# description
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Presunúť na pracovný priestor vpravo"
# description
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Presunúť na pracovný priestor hore" msgstr "Presunúť na pracovný priestor hore"
# description # description
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Presunúť na pracovný priestor dole" msgstr "Presunúť na pracovný priestor dole"
#: data/50-mutter-system.xml:6 #: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
msgid "System" msgid "System"
msgstr "Systém" msgstr "Systém"
@@ -230,6 +209,10 @@ msgstr "Zobraziť riadok pre spustenie príkazu"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Zobraziť prehľad aktivít" msgstr "Zobraziť prehľad aktivít"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Obnoviť klávesové skratky"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Okná" msgstr "Okná"
@@ -261,66 +244,61 @@ msgstr "Obnoviť okno"
# description # description
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Prepnúť stav zatienenia"
# description
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Zatvoriť okno" msgstr "Zatvoriť okno"
# description # description
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Skryť okno" msgstr "Skryť okno"
# description # description
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Presunúť okno" msgstr "Presunúť okno"
# description # description
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Zmeniť veľkosť okna" msgstr "Zmeniť veľkosť okna"
# description # description
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Prepnúť okno na všetky pracovné priestory alebo len na jeden" msgstr "Prepnúť okno na všetky pracovné priestory alebo len na jeden"
# description # description
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Presunúť okno dopredu ak je zakryté, inak presunúť dozadu" msgstr "Presunúť okno dopredu ak je zakryté, inak presunúť dozadu"
# description # description
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Presunúť okno nad ostatné okná" msgstr "Presunúť okno nad ostatné okná"
# description # description
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Presunúť okno pod ostatné okná" msgstr "Presunúť okno pod ostatné okná"
# description # description
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Maximalizovať okno zvisle" msgstr "Maximalizovať okno zvisle"
# description # description
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Maximalizovať okno vodorovne" msgstr "Maximalizovať okno vodorovne"
# Description # Description
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Zobraziť rozdelenie naľavo" msgstr "Zobraziť rozdelenie naľavo"
# Description # Description
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Zobraziť rozdelenie napravo" msgstr "Zobraziť rozdelenie napravo"
@@ -490,26 +468,29 @@ msgid ""
"proof. Currently possible keywords: • “scale-monitor-framebuffer” — makes " "proof. Currently possible keywords: • “scale-monitor-framebuffer” — makes "
"mutter default to layout logical monitors in a logical pixel coordinate " "mutter default to layout logical monitors in a logical pixel coordinate "
"space, while scaling monitor framebuffers instead of window content, to " "space, while scaling monitor framebuffers instead of window content, to "
"manage HiDPI monitors. Does not require a restart." "manage HiDPI monitors. Does not require a restart. • “remote-desktop” — "
"enables remote desktop support. To support remote desktop with screen "
"sharing, “screen-cast” must also be enabled. • “screen-cast” — enables "
"screen cast support."
msgstr "" msgstr ""
# summary # summary
#: data/org.gnome.mutter.gschema.xml.in:141 #: data/org.gnome.mutter.gschema.xml.in:145
msgid "Select window from tab popup" msgid "Select window from tab popup"
msgstr "Vybrať okno z rozbaľovacej ponuky tabulátora" msgstr "Vybrať okno z rozbaľovacej ponuky tabulátora"
# summary # summary
#: data/org.gnome.mutter.gschema.xml.in:146 #: data/org.gnome.mutter.gschema.xml.in:150
msgid "Cancel tab popup" msgid "Cancel tab popup"
msgstr "Zrušit rozbaľovaciu ponuku tabulátora" msgstr "Zrušit rozbaľovaciu ponuku tabulátora"
# PK: predpokladam ze to prepisane medzi tlacidlami # PK: predpokladam ze to prepisane medzi tlacidlami
# description # description
#: data/org.gnome.mutter.gschema.xml.in:151 #: data/org.gnome.mutter.gschema.xml.in:155
msgid "Switch monitor configurations" msgid "Switch monitor configurations"
msgstr "Prepnúť nastavenia monitorov" msgstr "Prepnúť nastavenia monitorov"
#: data/org.gnome.mutter.gschema.xml.in:156 #: data/org.gnome.mutter.gschema.xml.in:160
msgid "Rotates the built-in monitor configuration" msgid "Rotates the built-in monitor configuration"
msgstr "Otočí nastavenie vstavaného monitora" msgstr "Otočí nastavenie vstavaného monitora"
@@ -572,10 +553,41 @@ msgstr "Prepnúť na VT č. 12"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Znovu povoliť klávesové skratky" msgstr "Znovu povoliť klávesové skratky"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2151 #: src/backends/meta-input-settings.c:2260
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Prepínač režimu (skupina č. %d)" msgstr "Prepínač režimu (skupina č. %d)"
@@ -585,37 +597,37 @@ msgstr "Prepínač režimu (skupina č. %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2174 #: src/backends/meta-input-settings.c:2283
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Prepnúť monitor" msgstr "Prepnúť monitor"
#: src/backends/meta-input-settings.c:2176 #: src/backends/meta-input-settings.c:2285
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Zobraziť pomocníka na obrazovke" msgstr "Zobraziť pomocníka na obrazovke"
#: src/backends/meta-monitor-manager.c:903 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Vstavaný displej" msgstr "Vstavaný displej"
#: src/backends/meta-monitor-manager.c:926 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Neznámy" msgstr "Neznámy"
#: src/backends/meta-monitor-manager.c:928 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Neznámy displej" msgstr "Neznámy displej"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:936 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -633,48 +645,52 @@ msgid "Failed to open X Window System display “%s”\n"
msgstr "Zlyhalo otvorenie displeja systému na správu okien X „%s“\n" msgstr "Zlyhalo otvorenie displeja systému na správu okien X „%s“\n"
# cmd desc # cmd desc
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Zakáže pripojenia k správcovi relácií" msgstr "Zakáže pripojenia k správcovi relácií"
# cmd desc # cmd desc
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Nahradí bežiaceho správcu okien" msgstr "Nahradí bežiaceho správcu okien"
# cmd desc # cmd desc
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Zadá identifikátor správy relácií" msgstr "Zadá identifikátor správy relácií"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "X displej, ktorý bude použitý" msgstr "X displej, ktorý bude použitý"
# cmd desc # cmd desc
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Inicializuje reláciu z uloženého súboru" msgstr "Inicializuje reláciu z uloženého súboru"
# cmd desc # cmd desc
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Použije synchrónne volania X" msgstr "Použije synchrónne volania X"
# cmd desc # cmd desc
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Spustí ako kompozitor protokolu wayland" msgstr "Spustí ako kompozitor protokolu wayland"
# cmd desc # cmd desc
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Spustí ako kompozitor s vnoreným režimom" msgstr "Spustí ako kompozitor s vnoreným režimom"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Spustí ako plnohodnotný zobrazovací server, namiesto vnoreného režimu" msgstr "Spustí ako plnohodnotný zobrazovací server, namiesto vnoreného režimu"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Spustí s obslužným programom X11"
# %s is a window title # %s is a window title
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
@@ -731,7 +747,7 @@ msgstr "Použije zásuvný modul Mutter"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Pracovný priestor č. %d" msgstr "Pracovný priestor č. %d"
#: src/core/screen.c:580 #: src/core/screen.c:583
#, c-format #, c-format
msgid "" msgid ""
"Display “%s” already has a window manager; try using the --replace option to " "Display “%s” already has a window manager; try using the --replace option to "
@@ -740,7 +756,7 @@ msgstr ""
"Displej „%s“ už má správcu okien. Skúste použiť prepínač --replace, aby sa " "Displej „%s“ už má správcu okien. Skúste použiť prepínač --replace, aby sa "
"aktuálny správca nahradil." "aktuálny správca nahradil."
#: src/core/screen.c:665 #: src/core/screen.c:668
#, c-format #, c-format
msgid "Screen %d on display “%s” is invalid\n" msgid "Screen %d on display “%s” is invalid\n"
msgstr "Obrazovka č. %d na displeji „%s“ nie je platná\n" msgstr "Obrazovka č. %d na displeji „%s“ nie je platná\n"
@@ -754,7 +770,7 @@ msgstr "Mutter bol skompilovaný bez výpisu podrobností pri behu\n"
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Prepínač režimu: Režim č. %d" msgstr "Prepínač režimu: Režim č. %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -768,6 +784,26 @@ msgstr ""
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (na %s)" msgstr "%s (na %s)"
# description
#~ msgid "Move window one workspace to the left"
#~ msgstr "Presunúť okno o jeden pracovný priestor vľavo"
# description
#~ msgid "Move window one workspace to the right"
#~ msgstr "Presunúť okno o jeden pracovný priestor vpravo"
# description
#~ msgid "Move to workspace left"
#~ msgstr "Presunúť na pracovný priestor vľavo"
# description
#~ msgid "Move to workspace right"
#~ msgstr "Presunúť na pracovný priestor vpravo"
# description
#~ msgid "Toggle shaded state"
#~ msgstr "Prepnúť stav zatienenia"
#~ msgid "background texture could not be created from file" #~ msgid "background texture could not be created from file"
#~ msgstr "nepodarilo sa vytvoriť textúru pozadia zo súboru" #~ msgstr "nepodarilo sa vytvoriť textúru pozadia zo súboru"

205
po/sl.po
View File

@@ -4,15 +4,14 @@
# #
# Andraž Tori <andraz.tori1@guest.arnes.si>, 2000. # Andraž Tori <andraz.tori1@guest.arnes.si>, 2000.
# Matjaž Horvat <m@owca.info>, 2006. # Matjaž Horvat <m@owca.info>, 2006.
# Matej Urbančič <mateju@svn.gnome.org>, 20072017. # Matej Urbančič <mateju@svn.gnome.org>, 20072018.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter master\n" "Project-Id-Version: mutter master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-03-05 19:32+0000\n"
"POT-Creation-Date: 2017-09-08 11:30+0200\n" "PO-Revision-Date: 2018-03-06 22:02+0100\n"
"PO-Revision-Date: 2017-09-08 11:36+0200\n"
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n" "Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n" "Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
"Language: sl_SI\n" "Language: sl_SI\n"
@@ -22,7 +21,7 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
"%100==4 ? 3 : 0);\n" "%100==4 ? 3 : 0);\n"
"X-Poedit-SourceCharset: utf-8\n" "X-Poedit-SourceCharset: utf-8\n"
"X-Generator: Poedit 2.0.1\n" "X-Generator: Poedit 2.0.4\n"
#: data/50-mutter-navigation.xml:6 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
@@ -49,134 +48,118 @@ msgid "Move window to last workspace"
msgstr "Premakni okno na zadnjo delovno površino" msgstr "Premakni okno na zadnjo delovno površino"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Premakni okno eno delovno površino levo"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Premakni okno eno delovno površino desno"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Premakni okno eno delovno površino navzgor" msgstr "Premakni okno eno delovno površino navzgor"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Prestavi okno eno delovno površino navzdol" msgstr "Prestavi okno eno delovno površino navzdol"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Premakni okno en zaslon levo" msgstr "Premakni okno en zaslon levo"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Premakni okno en zaslon desno" msgstr "Premakni okno en zaslon desno"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Premakni okno en zaslon navzgor" msgstr "Premakni okno en zaslon navzgor"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Prestavi okno en zaslon navzdol" msgstr "Prestavi okno en zaslon navzdol"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Preklopi programe" msgstr "Preklopi programe"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Preklopi na prejšnji program" msgstr "Preklopi na prejšnji program"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Preklopi okna" msgstr "Preklopi okna"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Preklopi na prejšnje okno" msgstr "Preklopi na prejšnje okno"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Preklopi okna programa" msgstr "Preklopi okna programa"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Preklopi na predhodno okno programa" msgstr "Preklopi na predhodno okno programa"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Preklopi tipkovne bližnjice" msgstr "Preklopi tipkovne bližnjice"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Preklopi na predhodno sistemsko okno" msgstr "Preklopi na predhodno sistemsko okno"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Preklopi okna neposredno" msgstr "Preklopi okna neposredno"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Preklopi na predhodno okno" msgstr "Preklopi na predhodno okno"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Preklopi okna programa neposredno" msgstr "Preklopi okna programa neposredno"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Preklopi na predhodno okno programa" msgstr "Preklopi na predhodno okno programa"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Preklopi tipkovne bližnjice neposredno" msgstr "Preklopi tipkovne bližnjice neposredno"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Preklopi na predhodno sistemsko okno" msgstr "Preklopi na predhodno sistemsko okno"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Skrij vsa običajna okna" msgstr "Skrij vsa običajna okna"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Preklopi na delovno površino 1" msgstr "Preklopi na delovno površino 1"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Preklopi na delovno površino 2" msgstr "Preklopi na delovno površino 2"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Preklopi na delovno površino 3" msgstr "Preklopi na delovno površino 3"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Preklopi na delovno površino 4" msgstr "Preklopi na delovno površino 4"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Preklopi na zadnjo delovno površino" msgstr "Preklopi na zadnjo delovno površino"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Premakni na levo delovno površino"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Premakni na desno delovno površino"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Premakni na zgornjo delovno površino" msgstr "Premakni na zgornjo delovno površino"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Premakni na spodnjo delovno površino" msgstr "Premakni na spodnjo delovno površino"
#: data/50-mutter-system.xml:6 #: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
msgid "System" msgid "System"
msgstr "Sistem" msgstr "Sistem"
@@ -188,6 +171,10 @@ msgstr "Pokaži možnost zagona ukazne vrstice"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Pokaži okno pregleda dejavnosti" msgstr "Pokaži okno pregleda dejavnosti"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Obnovi tipkovne bližnjice"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Okna" msgstr "Okna"
@@ -214,54 +201,50 @@ msgid "Restore window"
msgstr "Obnovi okno" msgstr "Obnovi okno"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Preklopi stanje senčenja"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Zapri okno" msgstr "Zapri okno"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Skrij okno" msgstr "Skrij okno"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Premakni okno" msgstr "Premakni okno"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Spremeni velikost okna" msgstr "Spremeni velikost okna"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Preklopi okno na vse delovne površine oziroma le na eno" msgstr "Preklopi okno na vse delovne površine oziroma le na eno"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Dvigni okno, če ga prekriva drugo okno, sicer ga spusti" msgstr "Dvigni okno, če ga prekriva drugo okno, sicer ga spusti"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Dvigni okno nad druga okna" msgstr "Dvigni okno nad druga okna"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Spusti okno pod druga" msgstr "Spusti okno pod druga"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Razpni okno navpično" msgstr "Razpni okno navpično"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Razpni okno vodoravno" msgstr "Razpni okno vodoravno"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Poglej razdelek na levi" msgstr "Poglej razdelek na levi"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Poglej razdelek na desni" msgstr "Poglej razdelek na desni"
@@ -496,10 +479,41 @@ msgstr "Preklopi na VT 12"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Ponovno omogoči tipkovne bližnjice" msgstr "Ponovno omogoči tipkovne bližnjice"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2151 #: src/backends/meta-input-settings.c:2325
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Preklop načina (skupina %d)" msgstr "Preklop načina (skupina %d)"
@@ -507,37 +521,37 @@ msgstr "Preklop načina (skupina %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2174 #: src/backends/meta-input-settings.c:2348
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Nadzornik preklopa" msgstr "Nadzornik preklopa"
#: src/backends/meta-input-settings.c:2176 #: src/backends/meta-input-settings.c:2350
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Pokaži zaslonsko pomoč" msgstr "Pokaži zaslonsko pomoč"
#: src/backends/meta-monitor-manager.c:903 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Vgrajen zaslon" msgstr "Vgrajen zaslon"
#: src/backends/meta-monitor-manager.c:926 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Neznano" msgstr "Neznano"
#: src/backends/meta-monitor-manager.c:928 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Neznan zaslon" msgstr "Neznan zaslon"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:936 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -553,42 +567,46 @@ msgstr "Dogodek zvonjenja"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Odpiranje zaslona »%s« okenskega sistema X je spodletelo\n" msgstr "Odpiranje zaslona »%s« okenskega sistema X je spodletelo\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Onemogoči povezavo z upravljalnikom sej" msgstr "Onemogoči povezavo z upravljalnikom sej"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Zamenjaj trenutni upravljalnik oken" msgstr "Zamenjaj trenutni upravljalnik oken"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Navedite ID upravljanja seje" msgstr "Navedite ID upravljanja seje"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "Zaslon X za uporabo" msgstr "Zaslon X za uporabo"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Začni sejo iz shranjene datoteke" msgstr "Začni sejo iz shranjene datoteke"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Uskladi klice X" msgstr "Uskladi klice X"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Zaženi izbirnik wayland" msgstr "Zaženi izbirnik wayland"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Zaženi kot gnezden vpisovalnik" msgstr "Zaženi kot gnezden vpisovalnik"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Zaženi kot polni strežnik zaslona in ne vstavljeno" msgstr "Zaženi kot polni strežnik zaslona in ne vstavljeno"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Zaženi z zaledjem X11"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -643,7 +661,7 @@ msgstr "Vstavek Mutter za uporabo"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Delovna površina %d" msgstr "Delovna površina %d"
#: src/core/screen.c:580 #: src/core/screen.c:583
#, c-format #, c-format
msgid "" msgid ""
"Display “%s” already has a window manager; try using the --replace option to " "Display “%s” already has a window manager; try using the --replace option to "
@@ -652,7 +670,7 @@ msgstr ""
"Zaslon »%s« že ima določen upravljalnik oken; poskušajte uporabiti možnost --" "Zaslon »%s« že ima določen upravljalnik oken; poskušajte uporabiti možnost --"
"replace za zamenjavo trenutnega upravljalnika zaslona." "replace za zamenjavo trenutnega upravljalnika zaslona."
#: src/core/screen.c:665 #: src/core/screen.c:668
#, c-format #, c-format
msgid "Screen %d on display “%s” is invalid\n" msgid "Screen %d on display “%s” is invalid\n"
msgstr "Zaslon %d na prikazu »%s« ni veljaven\n" msgstr "Zaslon %d na prikazu »%s« ni veljaven\n"
@@ -662,13 +680,13 @@ msgid "Mutter was compiled without support for verbose mode\n"
msgstr "" msgstr ""
"Program Mutter je kodno preveden brez podpore za podrobni način izpisovanja\n" "Program Mutter je kodno preveden brez podpore za podrobni način izpisovanja\n"
#: src/wayland/meta-wayland-tablet-pad.c:563 #: src/wayland/meta-wayland-tablet-pad.c:567
#, c-format #, c-format
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Način preklopa: način %d" msgstr "Način preklopa: način %d"
# G:2 K:6 O:0 # G:2 K:6 O:0
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -681,6 +699,21 @@ msgstr ""
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (na %s)" msgstr "%s (na %s)"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Premakni okno eno delovno površino levo"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Premakni okno eno delovno površino desno"
#~ msgid "Move to workspace left"
#~ msgstr "Premakni na levo delovno površino"
#~ msgid "Move to workspace right"
#~ msgstr "Premakni na desno delovno površino"
#~ msgid "Toggle shaded state"
#~ msgstr "Preklopi stanje senčenja"
#~ msgid "Failed to scan themes directory: %s\n" #~ msgid "Failed to scan themes directory: %s\n"
#~ msgstr "Ni mogoče preiskati mape tem: %s\n" #~ msgstr "Ni mogoče preiskati mape tem: %s\n"

215
po/sr.po
View File

@@ -9,10 +9,9 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter\n" "Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-06 04:14+0000\n"
"POT-Creation-Date: 2017-08-29 16:09+0000\n" "PO-Revision-Date: 2018-02-21 21:58+0100\n"
"PO-Revision-Date: 2017-08-29 20:46+0200\n"
"Last-Translator: Марко М. Костић <marko.m.kostic@gmail.com>\n" "Last-Translator: Марко М. Костић <marko.m.kostic@gmail.com>\n"
"Language-Team: српски <gnome-sr@googlegroups.org>\n" "Language-Team: српски <gnome-sr@googlegroups.org>\n"
"Language: sr\n" "Language: sr\n"
@@ -22,7 +21,7 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n" "Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n"
"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Project-Style: gnome\n" "X-Project-Style: gnome\n"
"X-Generator: Poedit 2.0.3\n" "X-Generator: Poedit 2.0.6\n"
#: data/50-mutter-navigation.xml:6 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
@@ -49,134 +48,118 @@ msgid "Move window to last workspace"
msgstr "Премешта прозор на последњи радни простор" msgstr "Премешта прозор на последњи радни простор"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Премешта прозор један радни простор на лево"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Премешта прозор један радни простор на десно"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Премешта прозор један радни простор на горе" msgstr "Премешта прозор један радни простор на горе"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Премешта прозор један радни простор на доле" msgstr "Премешта прозор један радни простор на доле"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Премешта прозор један монитор на лево" msgstr "Премешта прозор један монитор на лево"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Премешта прозор један монитор на десно" msgstr "Премешта прозор један монитор на десно"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Премешта прозор један монитор на горе" msgstr "Премешта прозор један монитор на горе"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Премешта прозор један монитор на доле" msgstr "Премешта прозор један монитор на доле"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Пребацује програме" msgstr "Пребацује програме"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Пребацује на претходни програм" msgstr "Пребацује на претходни програм"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Пребацује прозоре" msgstr "Пребацује прозоре"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Пребацује на претходни прозор" msgstr "Пребацује на претходни прозор"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Пребацује прозоре програма" msgstr "Пребацује прозоре програма"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Пребацује на претходни прозор програма" msgstr "Пребацује на претходни прозор програма"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Пребацује контроле система" msgstr "Пребацује контроле система"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Пребацује на претходну контролу система" msgstr "Пребацује на претходну контролу система"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Пребацује прозоре директно" msgstr "Пребацује прозоре директно"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Пребацује непосредно на претходни прозор" msgstr "Пребацује непосредно на претходни прозор"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Пребацује прозоре програма директно" msgstr "Пребацује прозоре програма директно"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Пребацује непосредно на претходни прозор програма" msgstr "Пребацује непосредно на претходни прозор програма"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Пребацује контроле система директно" msgstr "Пребацује контроле система директно"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Пребацује непосредно на претходну контролу система" msgstr "Пребацује непосредно на претходну контролу система"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Скрива све обичне прозоре" msgstr "Скрива све обичне прозоре"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Пребацује се на радни простор 1" msgstr "Пребацује се на радни простор 1"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Пребацује се на радни простор 2" msgstr "Пребацује се на радни простор 2"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Пребацује се на радни простор 3" msgstr "Пребацује се на радни простор 3"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Пребацује се на радни простор 4" msgstr "Пребацује се на радни простор 4"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Пребацује се на последњи радни простор" msgstr "Пребацује се на последњи радни простор"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Премешта на радни простор лево"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Премешта на радни простор десно"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Премешта на радни простор изнад" msgstr "Премешта на радни простор изнад"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Премешта на радни простор испод" msgstr "Премешта на радни простор испод"
#: data/50-mutter-system.xml:6 #: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
msgid "System" msgid "System"
msgstr "Систем" msgstr "Систем"
@@ -188,6 +171,10 @@ msgstr "Приказује упит за извршавање наредбе"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Приказује преглед активности" msgstr "Приказује преглед активности"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Поврати пречице на тастатури"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Прозори" msgstr "Прозори"
@@ -213,54 +200,50 @@ msgid "Restore window"
msgstr "Враћа величину прозора" msgstr "Враћа величину прозора"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Искључује или укључује стање засенчености"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Затвара прозор" msgstr "Затвара прозор"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Скрива прозор" msgstr "Скрива прозор"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Премешта прозор" msgstr "Премешта прозор"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Мења величину прозора" msgstr "Мења величину прозора"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Приказује прозор на свим радним просторима или само на једном" msgstr "Приказује прозор на свим радним просторима или само на једном"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Издиже прозор уколико га други прозор заклања, у противном га спушта" msgstr "Издиже прозор уколико га други прозор заклања, у противном га спушта"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Издиже прозор изнад осталих прозора" msgstr "Издиже прозор изнад осталих прозора"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Спушта прозор испод осталих прозора" msgstr "Спушта прозор испод осталих прозора"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Увећава прозор вертикално" msgstr "Увећава прозор вертикално"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Увећава прозор хоризонтално" msgstr "Увећава прозор хоризонтално"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Прикажите поделу на лево" msgstr "Прикажите поделу на лево"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Прикажите поделу на десно" msgstr "Прикажите поделу на десно"
@@ -500,10 +483,55 @@ msgstr "Прелазак на ВТ 12"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Поново укључивање пречица" msgstr "Поново укључивање пречица"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Дозволи грабљење на Икс-вејленду"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"Дозволи да се узму у обзир грабљења од стране Икс11 програма унутар Икс-"
"вејленда. Да би се Икс11 грабљење узело у обзир под Вејлендом, клијент мора "
"такође послати специфичну Икс11 клијентску поруку ка кореном прозору или "
"мора бити на белом списку програма у кључу „xwayland-grab-access-rules“."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "Икс-вејленд програми којима је дозвољено да раде грабљења на тастатури"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"Списак назива ресурса или класи ресурса Икс11 прозора којима је дозвољено "
"или забрањено да раде грабљења на тастатури под Икс-вејлендом. Назив ресурса "
"или класа ресурса датог Икс11 прозора се може наћи преко наредбе \"xprop "
"WM_CLASS\". Џокер знакови „*“ и „?“ унутар вредности су подржани. Вредности "
"које почињу са „!“ се стављају на црни списак, који има предност у односу на "
"бели списак, за опозив програма за подразумеваног системског списка. "
"Подразумевани системски списак садржи следеће програме: "
"\"@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@\" Корисници могу сломити постојеће "
"грабљење тако што ће употребити посебну пречицу на тастатури која је "
"наведена у кључу за везивање тастера са називом \"restore-shortcuts\"."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2151 #: src/backends/meta-input-settings.c:2260
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Режим прекидача (група %d)" msgstr "Режим прекидача (група %d)"
@@ -511,37 +539,37 @@ msgstr "Режим прекидача (група %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2174 #: src/backends/meta-input-settings.c:2283
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Промени монитор" msgstr "Промени монитор"
#: src/backends/meta-input-settings.c:2176 #: src/backends/meta-input-settings.c:2285
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Прикажи помоћ на екрану" msgstr "Прикажи помоћ на екрану"
#: src/backends/meta-monitor-manager.c:903 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Уграђени дисплеј" msgstr "Уграђени дисплеј"
#: src/backends/meta-monitor-manager.c:926 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Непознато" msgstr "Непознато"
#: src/backends/meta-monitor-manager.c:928 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Непознат дисплеј" msgstr "Непознат дисплеј"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:936 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -557,42 +585,46 @@ msgstr "Звонца"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Нисам успео да отворим екран „%s“ Икс система прозора\n" msgstr "Нисам успео да отворим екран „%s“ Икс система прозора\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Искључује везу са управником сесије" msgstr "Искључује везу са управником сесије"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Мења текућег управника прозорима" msgstr "Мења текућег управника прозорима"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Наводи ИБ управника сесије" msgstr "Наводи ИБ управника сесије"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "Икс екран који ће бити коришћен" msgstr "Икс екран који ће бити коришћен"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Покреће сесију из датотеке чувања" msgstr "Покреће сесију из датотеке чувања"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Чини Икс позиве усклађеним" msgstr "Чини Икс позиве усклађеним"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Ради као вајландов саставник" msgstr "Ради као вајландов саставник"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Ради као угнеждени саставник" msgstr "Ради као угнеждени саставник"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Ради као пуни сервер приказа, уместо као угнеждени" msgstr "Ради као пуни сервер приказа, уместо као угнеждени"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Покрени на Икс11 позадинцу"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -647,7 +679,7 @@ msgstr "Прикључци Матера за коришћење"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "%d. радни простор" msgstr "%d. радни простор"
#: src/core/screen.c:580 #: src/core/screen.c:583
#, c-format #, c-format
msgid "" msgid ""
"Display “%s” already has a window manager; try using the --replace option to " "Display “%s” already has a window manager; try using the --replace option to "
@@ -656,7 +688,7 @@ msgstr ""
"Приказ „%s“ већ има управника прозора; пробајте да користите опцију „--" "Приказ „%s“ већ има управника прозора; пробајте да користите опцију „--"
"replace“ да замените тренутног управника прозора." "replace“ да замените тренутног управника прозора."
#: src/core/screen.c:665 #: src/core/screen.c:668
#, c-format #, c-format
msgid "Screen %d on display “%s” is invalid\n" msgid "Screen %d on display “%s” is invalid\n"
msgstr "Приказ „%d“ на екрану „%s“ није исправан\n" msgstr "Приказ „%d“ на екрану „%s“ није исправан\n"
@@ -670,7 +702,7 @@ msgstr "Матер је преведен без подршке за опшира
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Режим прекидача: Режим %d" msgstr "Режим прекидача: Режим %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -683,6 +715,21 @@ msgstr ""
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (на %s)" msgstr "%s (на %s)"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Премешта прозор један радни простор на лево"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Премешта прозор један радни простор на десно"
#~ msgid "Move to workspace left"
#~ msgstr "Премешта на радни простор лево"
#~ msgid "Move to workspace right"
#~ msgstr "Премешта на радни простор десно"
#~ msgid "Toggle shaded state"
#~ msgstr "Искључује или укључује стање засенчености"
#~ msgid "Failed to scan themes directory: %s\n" #~ msgid "Failed to scan themes directory: %s\n"
#~ msgstr "Нисам успео да прочитам директоријум тема: %s\n" #~ msgstr "Нисам успео да прочитам директоријум тема: %s\n"

View File

@@ -9,10 +9,9 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter\n" "Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-21 15:53+0000\n"
"POT-Creation-Date: 2017-08-29 16:15+0000\n" "PO-Revision-Date: 2018-02-21 21:58+0100\n"
"PO-Revision-Date: 2017-08-29 20:46+0200\n"
"Last-Translator: Marko M. Kostić <marko.m.kostic@gmail.com>\n" "Last-Translator: Marko M. Kostić <marko.m.kostic@gmail.com>\n"
"Language-Team: srpski <gnome-sr@googlegroups.org>\n" "Language-Team: srpski <gnome-sr@googlegroups.org>\n"
"Language: sr\n" "Language: sr\n"
@@ -22,7 +21,7 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n" "Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n"
"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Project-Style: gnome\n" "X-Project-Style: gnome\n"
"X-Generator: Poedit 2.0.3\n" "X-Generator: Poedit 2.0.6\n"
#: data/50-mutter-navigation.xml:6 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
@@ -49,134 +48,118 @@ msgid "Move window to last workspace"
msgstr "Premešta prozor na poslednji radni prostor" msgstr "Premešta prozor na poslednji radni prostor"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Premešta prozor jedan radni prostor na levo"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Premešta prozor jedan radni prostor na desno"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Premešta prozor jedan radni prostor na gore" msgstr "Premešta prozor jedan radni prostor na gore"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Premešta prozor jedan radni prostor na dole" msgstr "Premešta prozor jedan radni prostor na dole"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Premešta prozor jedan monitor na levo" msgstr "Premešta prozor jedan monitor na levo"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Premešta prozor jedan monitor na desno" msgstr "Premešta prozor jedan monitor na desno"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Premešta prozor jedan monitor na gore" msgstr "Premešta prozor jedan monitor na gore"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Premešta prozor jedan monitor na dole" msgstr "Premešta prozor jedan monitor na dole"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Prebacuje programe" msgstr "Prebacuje programe"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Prebacuje na prethodni program" msgstr "Prebacuje na prethodni program"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Prebacuje prozore" msgstr "Prebacuje prozore"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Prebacuje na prethodni prozor" msgstr "Prebacuje na prethodni prozor"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Prebacuje prozore programa" msgstr "Prebacuje prozore programa"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Prebacuje na prethodni prozor programa" msgstr "Prebacuje na prethodni prozor programa"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Prebacuje kontrole sistema" msgstr "Prebacuje kontrole sistema"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Prebacuje na prethodnu kontrolu sistema" msgstr "Prebacuje na prethodnu kontrolu sistema"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Prebacuje prozore direktno" msgstr "Prebacuje prozore direktno"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Prebacuje neposredno na prethodni prozor" msgstr "Prebacuje neposredno na prethodni prozor"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Prebacuje prozore programa direktno" msgstr "Prebacuje prozore programa direktno"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Prebacuje neposredno na prethodni prozor programa" msgstr "Prebacuje neposredno na prethodni prozor programa"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Prebacuje kontrole sistema direktno" msgstr "Prebacuje kontrole sistema direktno"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Prebacuje neposredno na prethodnu kontrolu sistema" msgstr "Prebacuje neposredno na prethodnu kontrolu sistema"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Skriva sve obične prozore" msgstr "Skriva sve obične prozore"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Prebacuje se na radni prostor 1" msgstr "Prebacuje se na radni prostor 1"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Prebacuje se na radni prostor 2" msgstr "Prebacuje se na radni prostor 2"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Prebacuje se na radni prostor 3" msgstr "Prebacuje se na radni prostor 3"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Prebacuje se na radni prostor 4" msgstr "Prebacuje se na radni prostor 4"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Prebacuje se na poslednji radni prostor" msgstr "Prebacuje se na poslednji radni prostor"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Premešta na radni prostor levo"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Premešta na radni prostor desno"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Premešta na radni prostor iznad" msgstr "Premešta na radni prostor iznad"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Premešta na radni prostor ispod" msgstr "Premešta na radni prostor ispod"
#: data/50-mutter-system.xml:6 #: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
msgid "System" msgid "System"
msgstr "Sistem" msgstr "Sistem"
@@ -188,6 +171,10 @@ msgstr "Prikazuje upit za izvršavanje naredbe"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Prikazuje pregled aktivnosti" msgstr "Prikazuje pregled aktivnosti"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Povrati prečice na tastaturi"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Prozori" msgstr "Prozori"
@@ -213,54 +200,50 @@ msgid "Restore window"
msgstr "Vraća veličinu prozora" msgstr "Vraća veličinu prozora"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Isključuje ili uključuje stanje zasenčenosti"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Zatvara prozor" msgstr "Zatvara prozor"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Skriva prozor" msgstr "Skriva prozor"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Premešta prozor" msgstr "Premešta prozor"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Menja veličinu prozora" msgstr "Menja veličinu prozora"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Prikazuje prozor na svim radnim prostorima ili samo na jednom" msgstr "Prikazuje prozor na svim radnim prostorima ili samo na jednom"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Izdiže prozor ukoliko ga drugi prozor zaklanja, u protivnom ga spušta" 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:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Izdiže prozor iznad ostalih prozora" msgstr "Izdiže prozor iznad ostalih prozora"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Spušta prozor ispod ostalih prozora" msgstr "Spušta prozor ispod ostalih prozora"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Uvećava prozor vertikalno" msgstr "Uvećava prozor vertikalno"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Uvećava prozor horizontalno" msgstr "Uvećava prozor horizontalno"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Prikažite podelu na levo" msgstr "Prikažite podelu na levo"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Prikažite podelu na desno" msgstr "Prikažite podelu na desno"
@@ -500,10 +483,55 @@ msgstr "Prelazak na VT 12"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Ponovo uključivanje prečica" msgstr "Ponovo uključivanje prečica"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Dozvoli grabljenje na Iks-vejlendu"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"Dozvoli da se uzmu u obzir grabljenja od strane Iks11 programa unutar Iks-"
"vejlenda. Da bi se Iks11 grabljenje uzelo u obzir pod Vejlendom, klijent mora "
"takođe poslati specifičnu Iks11 klijentsku poruku ka korenom prozoru ili "
"mora biti na belom spisku programa u ključu „xwayland-grab-access-rules“."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "Iks-vejlend programi kojima je dozvoljeno da rade grabljenja na tastaturi"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"Spisak naziva resursa ili klasi resursa Iks11 prozora kojima je dozvoljeno "
"ili zabranjeno da rade grabljenja na tastaturi pod Iks-vejlendom. Naziv resursa "
"ili klasa resursa datog Iks11 prozora se može naći preko naredbe \"xprop "
"WM_CLASS\". Džoker znakovi „*“ i „?“ unutar vrednosti su podržani. Vrednosti "
"koje počinju sa „!“ se stavljaju na crni spisak, koji ima prednost u odnosu na "
"beli spisak, za opoziv programa za podrazumevanog sistemskog spiska. "
"Podrazumevani sistemski spisak sadrži sledeće programe: "
"\"@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@\" Korisnici mogu slomiti postojeće "
"grabljenje tako što će upotrebiti posebnu prečicu na tastaturi koja je "
"navedena u ključu za vezivanje tastera sa nazivom \"restore-shortcuts\"."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2151 #: src/backends/meta-input-settings.c:2325
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Režim prekidača (grupa %d)" msgstr "Režim prekidača (grupa %d)"
@@ -511,37 +539,37 @@ msgstr "Režim prekidača (grupa %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2174 #: src/backends/meta-input-settings.c:2348
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Promeni monitor" msgstr "Promeni monitor"
#: src/backends/meta-input-settings.c:2176 #: src/backends/meta-input-settings.c:2350
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Prikaži pomoć na ekranu" msgstr "Prikaži pomoć na ekranu"
#: src/backends/meta-monitor-manager.c:903 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Ugrađeni displej" msgstr "Ugrađeni displej"
#: src/backends/meta-monitor-manager.c:926 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Nepoznato" msgstr "Nepoznato"
#: src/backends/meta-monitor-manager.c:928 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Nepoznat displej" msgstr "Nepoznat displej"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:936 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -557,42 +585,46 @@ msgstr "Zvonca"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Nisam uspeo da otvorim ekran „%s“ Iks sistema prozora\n" msgstr "Nisam uspeo da otvorim ekran „%s“ Iks sistema prozora\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Isključuje vezu sa upravnikom sesije" msgstr "Isključuje vezu sa upravnikom sesije"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Menja tekućeg upravnika prozorima" msgstr "Menja tekućeg upravnika prozorima"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Navodi IB upravnika sesije" msgstr "Navodi IB upravnika sesije"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "Iks ekran koji će biti korišćen" msgstr "Iks ekran koji će biti korišćen"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Pokreće sesiju iz datoteke čuvanja" msgstr "Pokreće sesiju iz datoteke čuvanja"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Čini Iks pozive usklađenim" msgstr "Čini Iks pozive usklađenim"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Radi kao vajlandov sastavnik" msgstr "Radi kao vajlandov sastavnik"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Radi kao ugneždeni sastavnik" msgstr "Radi kao ugneždeni sastavnik"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Radi kao puni server prikaza, umesto kao ugneždeni" msgstr "Radi kao puni server prikaza, umesto kao ugneždeni"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Pokreni na Iks11 pozadincu"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -647,7 +679,7 @@ msgstr "Priključci Matera za korišćenje"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "%d. radni prostor" msgstr "%d. radni prostor"
#: src/core/screen.c:580 #: src/core/screen.c:583
#, c-format #, c-format
msgid "" msgid ""
"Display “%s” already has a window manager; try using the --replace option to " "Display “%s” already has a window manager; try using the --replace option to "
@@ -656,7 +688,7 @@ msgstr ""
"Prikaz „%s“ već ima upravnika prozora; probajte da koristite opciju „--" "Prikaz „%s“ već ima upravnika prozora; probajte da koristite opciju „--"
"replace“ da zamenite trenutnog upravnika prozora." "replace“ da zamenite trenutnog upravnika prozora."
#: src/core/screen.c:665 #: src/core/screen.c:668
#, c-format #, c-format
msgid "Screen %d on display “%s” is invalid\n" msgid "Screen %d on display “%s” is invalid\n"
msgstr "Prikaz „%d“ na ekranu „%s“ nije ispravan\n" msgstr "Prikaz „%d“ na ekranu „%s“ nije ispravan\n"
@@ -665,12 +697,12 @@ msgstr "Prikaz „%d“ na ekranu „%s“ nije ispravan\n"
msgid "Mutter was compiled without support for verbose mode\n" msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mater je preveden bez podrške za opširan režim\n" msgstr "Mater je preveden bez podrške za opširan režim\n"
#: src/wayland/meta-wayland-tablet-pad.c:563 #: src/wayland/meta-wayland-tablet-pad.c:567
#, c-format #, c-format
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Režim prekidača: Režim %d" msgstr "Režim prekidača: Režim %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -683,6 +715,21 @@ msgstr ""
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (na %s)" msgstr "%s (na %s)"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Premešta prozor jedan radni prostor na levo"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Premešta prozor jedan radni prostor na desno"
#~ msgid "Move to workspace left"
#~ msgstr "Premešta na radni prostor levo"
#~ msgid "Move to workspace right"
#~ msgstr "Premešta na radni prostor desno"
#~ msgid "Toggle shaded state"
#~ msgstr "Isključuje ili uključuje stanje zasenčenosti"
#~ msgid "Failed to scan themes directory: %s\n" #~ msgid "Failed to scan themes directory: %s\n"
#~ msgstr "Nisam uspeo da pročitam direktorijum tema: %s\n" #~ msgstr "Nisam uspeo da pročitam direktorijum tema: %s\n"

212
po/sv.po
View File

@@ -1,25 +1,24 @@
# Swedish messages for mutter. # Swedish messages for mutter.
# Copyright © 2001-2017 Free Software Foundation, Inc. # Copyright © 2001-2018 Free Software Foundation, Inc.
# Christian Rose <menthos@menthos.com>, 2001, 2002, 2003, 2004, 2005. # Christian Rose <menthos@menthos.com>, 2001, 2002, 2003, 2004, 2005.
# Daniel Nylander <po@danielnylander.se>, 2006, 2007, 2008, 2009, 2010, 2011, 2012. # Daniel Nylander <po@danielnylander.se>, 2006, 2007, 2008, 2009, 2010, 2011, 2012.
# Mattias Eriksson <snaggen@gmail.com>, 2014. # Mattias Eriksson <snaggen@gmail.com>, 2014.
# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2015, 2016, 2017. # Anders Jonsson <anders.jonsson@norsjovallen.se>, 2015, 2016, 2017, 2018.
# Sebastian Rasmussen <sebras@gmail.com>, 2016. # Sebastian Rasmussen <sebras@gmail.com>, 2016.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter\n" "Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-20 20:33+0000\n"
"POT-Creation-Date: 2017-11-10 18:18+0000\n" "PO-Revision-Date: 2018-02-22 15:54+0100\n"
"PO-Revision-Date: 2017-11-14 00:43+0100\n"
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n" "Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n" "Language: sv\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.4\n" "X-Generator: Poedit 2.0.6\n"
#: data/50-mutter-navigation.xml:6 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
@@ -46,130 +45,114 @@ msgid "Move window to last workspace"
msgstr "Flytta fönster till sista arbetsyta" msgstr "Flytta fönster till sista arbetsyta"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Flytta fönster en arbetsyta åt vänster"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Flytta fönster en arbetsyta åt höger"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Flytta fönster en arbetsyta uppåt" msgstr "Flytta fönster en arbetsyta uppåt"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Flytta fönster en arbetsyta nedåt" msgstr "Flytta fönster en arbetsyta nedåt"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Flytta fönster en skärm åt vänster" msgstr "Flytta fönster en skärm åt vänster"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Flytta fönster en skärm åt höger" msgstr "Flytta fönster en skärm åt höger"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Flytta fönster en skärm uppåt" msgstr "Flytta fönster en skärm uppåt"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Flytta fönster en skärm nedåt" msgstr "Flytta fönster en skärm nedåt"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Växla program" msgstr "Växla program"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Växla till föregående program" msgstr "Växla till föregående program"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Växla fönster" msgstr "Växla fönster"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Växla till föregående fönster" msgstr "Växla till föregående fönster"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Växla fönster för ett program" msgstr "Växla fönster för ett program"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Växla till föregående fönster för ett program" msgstr "Växla till föregående fönster för ett program"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Växla systemkontroller" msgstr "Växla systemkontroller"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Växla till föregående systemkontroll" msgstr "Växla till föregående systemkontroll"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Växla fönster direkt" msgstr "Växla fönster direkt"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Växla direkt till föregående fönster" msgstr "Växla direkt till föregående fönster"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Växla fönster för ett program direkt" msgstr "Växla fönster för ett program direkt"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Växla direkt till föregående fönster för ett program" 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:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Växla systemkontroller direkt" msgstr "Växla systemkontroller direkt"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Växla direkt till föregående systemkontroll" msgstr "Växla direkt till föregående systemkontroll"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Dölj alla normala fönster" msgstr "Dölj alla normala fönster"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Växla till arbetsyta 1" msgstr "Växla till arbetsyta 1"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Växla till arbetsyta 2" msgstr "Växla till arbetsyta 2"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Växla till arbetsyta 3" msgstr "Växla till arbetsyta 3"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Växla till arbetsyta 4" msgstr "Växla till arbetsyta 4"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Växla till sista arbetsyta" msgstr "Växla till sista arbetsyta"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Flytta till arbetsyta till vänster"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Flytta till arbetsyta till höger"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Flytta till arbetsyta ovanför" msgstr "Flytta till arbetsyta ovanför"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Flytta till arbetsyta nedanför" msgstr "Flytta till arbetsyta nedanför"
@@ -214,54 +197,50 @@ msgid "Restore window"
msgstr "Återställ fönster" msgstr "Återställ fönster"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Växla upprullat tillstånd"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Stäng fönster" msgstr "Stäng fönster"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Dölj fönster" msgstr "Dölj fönster"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Flytta fönster" msgstr "Flytta fönster"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Ändra storlek på fönster" msgstr "Ändra storlek på fönster"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Växla fönster på alla arbetsytor eller bara en" msgstr "Växla fönster på alla arbetsytor eller bara en"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" 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" 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:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Höj fönstret över andra fönster" msgstr "Höj fönstret över andra fönster"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Sänk fönster under andra fönster" msgstr "Sänk fönster under andra fönster"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Maximera fönster vertikalt" msgstr "Maximera fönster vertikalt"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Maximera fönster horisontellt" msgstr "Maximera fönster horisontellt"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Vy delad till vänster" msgstr "Vy delad till vänster"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Vy delad till höger" msgstr "Vy delad till höger"
@@ -501,10 +480,56 @@ msgstr "Växla till VT 12"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Återaktivera genvägar" msgstr "Återaktivera genvägar"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Tillåt fångster med Xwayland"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"Tillåt tangentbordsfångster utfärdade av X11-program som körs i Xwayland att "
"tas i beräkning. För att en X11-fångst ska tas i beräkning under Wayland "
"måste klienten också antingen sända ett specifikt X11-ClientMessage till "
"root-fönstret eller finnas bland programmen som vitlistats i nyckeln "
"”xwayland-grab-access-rules”."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "Xwayland-program tillåts utfärda tangentbordsfångster"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"Lista resursnamnen eller resursklassen för X11-fönster som antingen tillåts "
"eller inte tillåts att utfärda X11-tangentbordsfångster under Xwayland. "
"Resursnamnet eller resursklassen för ett givet X11-fönster kan erhållas "
"genom att använda kommandot ”xprop WM_CLASS”. Stöd finns för att använda "
"jokertecknen ”*” och ”?” i värdena. Värden som startar med ”!” svartlistas, "
"vilket företräde över vitlistan, för att upphäva program i "
"standardsystemlistan. Standardsystemlistan innehåller följande program: "
"”@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Användare kan bryta en befintlig "
"fångst genom att använda den specifika tangentbordsgenvägen som definieras "
"av tangentbindningsnyckeln ”restore-shortcuts”."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2167 #: src/backends/meta-input-settings.c:2325
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Lägesväxel (grupp %d)" msgstr "Lägesväxel (grupp %d)"
@@ -512,37 +537,37 @@ msgstr "Lägesväxel (grupp %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2190 #: src/backends/meta-input-settings.c:2348
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Växla skärm" msgstr "Växla skärm"
#: src/backends/meta-input-settings.c:2192 #: src/backends/meta-input-settings.c:2350
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Visa hjälp på skärmen" msgstr "Visa hjälp på skärmen"
#: src/backends/meta-monitor-manager.c:908 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Inbyggd display" msgstr "Inbyggd display"
#: src/backends/meta-monitor-manager.c:931 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Okänd" msgstr "Okänd"
#: src/backends/meta-monitor-manager.c:933 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Okänd display" msgstr "Okänd display"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:941 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -557,42 +582,46 @@ msgstr "Ljudsignalhändelse"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Misslyckades med att öppna X Window System-displayen ”%s”\n" msgstr "Misslyckades med att öppna X Window System-displayen ”%s”\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Inaktivera anslutning till sessionshanteraren" msgstr "Inaktivera anslutning till sessionshanteraren"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Ersätt körande fönsterhanteraren" msgstr "Ersätt körande fönsterhanteraren"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Ange sessionshanteringsid" msgstr "Ange sessionshanteringsid"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "X-display att använda" msgstr "X-display att använda"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Initiera session från sparandefil" msgstr "Initiera session från sparandefil"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Gör X-anrop synkrona" msgstr "Gör X-anrop synkrona"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Kör som en wayland-kompositionshanterare" msgstr "Kör som en wayland-kompositionshanterare"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Kör som en nästlad kompositionshanterare" msgstr "Kör som en nästlad kompositionshanterare"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" 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" msgstr "Kör som en full display-tjänst, i stället för nästlad"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "Kör med X11-gränssnitt"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -665,12 +694,12 @@ msgstr "Skärm %d på display ”%s” är ogiltig\n"
msgid "Mutter was compiled without support for verbose mode\n" msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter kompilerades utan stöd för utförligt läge\n" msgstr "Mutter kompilerades utan stöd för utförligt läge\n"
#: src/wayland/meta-wayland-tablet-pad.c:563 #: src/wayland/meta-wayland-tablet-pad.c:567
#, c-format #, c-format
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Lägesväxel: Läge %d" msgstr "Lägesväxel: Läge %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -682,3 +711,18 @@ msgstr ""
#, c-format #, c-format
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (på %s)" msgstr "%s (på %s)"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Flytta fönster en arbetsyta åt vänster"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Flytta fönster en arbetsyta åt höger"
#~ msgid "Move to workspace left"
#~ msgstr "Flytta till arbetsyta till vänster"
#~ msgid "Move to workspace right"
#~ msgstr "Flytta till arbetsyta till höger"
#~ msgid "Toggle shaded state"
#~ msgstr "Växla upprullat tillstånd"

210
po/tr.po
View File

@@ -7,17 +7,16 @@
# İlker DAĞLI <ilker@ilkerdagli.info>, 2011. # İlker DAĞLI <ilker@ilkerdagli.info>, 2011.
# Muhammed EKEN <gnome@m-eken.com>, 2011. # Muhammed EKEN <gnome@m-eken.com>, 2011.
# Furkan Ahmet Kara <furkanahmetkara.fk@gmail.com>, 2017. # Furkan Ahmet Kara <furkanahmetkara.fk@gmail.com>, 2017.
# Emin Tufan Çetin <etcetin@gmail.com>, 2017.
# Muhammet Kara <muhammetk@gmail.com>, 2011, 2012, 2014, 2015, 2016, 2017. # Muhammet Kara <muhammetk@gmail.com>, 2011, 2012, 2014, 2015, 2016, 2017.
# Emin Tufan Çetin <etcetin@gmail.com>, 2017, 2018.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter master\n" "Project-Id-Version: mutter master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-06 04:14+0000\n"
"POT-Creation-Date: 2017-11-10 18:18+0000\n" "PO-Revision-Date: 2018-03-13 10:53+0300\n"
"PO-Revision-Date: 2017-11-15 23:49+0300\n" "Last-Translator: Emin Tufan Çetin <etcetin@gmail.com>\n"
"Last-Translator: Muhammet Kara <muhammetk@gmail.com>\n"
"Language-Team: Türkçe <gnome-turk@gnome.org>\n" "Language-Team: Türkçe <gnome-turk@gnome.org>\n"
"Language: tr\n" "Language: tr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -52,130 +51,114 @@ msgid "Move window to last workspace"
msgstr "Pencereyi son çalışma alanına taşı" msgstr "Pencereyi son çalışma alanına taşı"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Pencereyi soldaki çalışma alanına taşı"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Pencereyi sağdaki çalışma alanına taşı"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Pencereyi üstteki çalışma alanına taşı" msgstr "Pencereyi üstteki çalışma alanına taşı"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Pencereyi alttaki çalışma alanına taşı" msgstr "Pencereyi alttaki çalışma alanına taşı"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Pencereyi soldaki monitöre taşı" msgstr "Pencereyi soldaki monitöre taşı"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Pencereyi sağdaki monitöre taşı" msgstr "Pencereyi sağdaki monitöre taşı"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Pencereyi üstteki monitöre taşı" msgstr "Pencereyi üstteki monitöre taşı"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Pencereyi alttaki monitöre taşı" msgstr "Pencereyi alttaki monitöre taşı"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "Uygulamalar arasında geçiş yap" msgstr "Uygulamalar arasında geçiş yap"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Önceki uygulamaya geç" msgstr "Önceki uygulamaya geç"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "Pencereler arasında geçiş yap" msgstr "Pencereler arasında geçiş yap"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Önceki pencereye geç" msgstr "Önceki pencereye geç"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Uygulamanın pencereleri arasında geçiş yap" msgstr "Uygulamanın pencereleri arasında geçiş yap"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Uygulamanın bir önceki penceresine geç" msgstr "Uygulamanın bir önceki penceresine geç"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Sistem denetimleri arasında geçiş yap" msgstr "Sistem denetimleri arasında geçiş yap"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Önceki sistem denetimine geç" msgstr "Önceki sistem denetimine geç"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Pencereler arasında doğrudan geçiş yap" msgstr "Pencereler arasında doğrudan geçiş yap"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Önceki pencereye doğrudan geç" msgstr "Önceki pencereye doğrudan geç"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Uygulamanın pencereleri arasında anında geçiş yap" msgstr "Uygulamanın pencereleri arasında anında geçiş yap"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Bir uygulamanın önceki penceresine doğrudan geç" msgstr "Bir uygulamanın önceki penceresine doğrudan geç"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Sistem denetimleri arasında doğrudan geçiş yap" msgstr "Sistem denetimleri arasında doğrudan geçiş yap"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Önceki sistem denetimine doğrudan geç" msgstr "Önceki sistem denetimine doğrudan geç"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Tüm normal pencereleri gizle" msgstr "Tüm normal pencereleri gizle"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Çalışma alanı 1e geç" msgstr "Çalışma alanı 1e geç"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Çalışma alanı 2ye geç" msgstr "Çalışma alanı 2ye geç"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Çalışma alanı 3e geç" msgstr "Çalışma alanı 3e geç"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Çalışma alanı 4e geç" msgstr "Çalışma alanı 4e geç"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Son çalışma alanına geç" msgstr "Son çalışma alanına geç"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "Soldaki çalışma alanına taşı"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Sağdaki çalışma alanına taşı"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Üstteki çalışma alanına taşı" msgstr "Üstteki çalışma alanına taşı"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Alttaki çalışma alanına taşı" msgstr "Alttaki çalışma alanına taşı"
@@ -220,56 +203,52 @@ msgid "Restore window"
msgstr "Pencereyi eski haline getir" msgstr "Pencereyi eski haline getir"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Toplanmış durumu değiştir"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Pencereyi kapat" msgstr "Pencereyi kapat"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "Pencereyi gizle" msgstr "Pencereyi gizle"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "Pencere taşı" msgstr "Pencere taşı"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "Pencereyi yeniden boyutlandır" msgstr "Pencereyi yeniden boyutlandır"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "" msgstr ""
"Pencerenin tüm çalışma alanlarında veya yalnızca bir tanesi üzerinde " "Pencerenin tüm çalışma alanlarında veya yalnızca bir tanesi üzerinde "
"olmasını seç" "olmasını seç"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Pencere altta kalmışsa yükselt, aksi halde alçalt" msgstr "Pencere altta kalmışsa yükselt, aksi halde alçalt"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Pencereyi diğerlerinin üstüne çıkar" msgstr "Pencereyi diğerlerinin üstüne çıkar"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Pencereyi diğerlerinin altına gönder" msgstr "Pencereyi diğerlerinin altına gönder"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Pencereyi dikey olarak büyült" msgstr "Pencereyi dikey olarak büyült"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Pencereyi yatay olarak büyült" msgstr "Pencereyi yatay olarak büyült"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "Solda bölünmüş olarak göster" msgstr "Solda bölünmüş olarak göster"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "Sağda bölünmüş olarak göster" msgstr "Sağda bölünmüş olarak göster"
@@ -516,10 +495,56 @@ msgstr "VT 12ye geç"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "Kısayolları yeniden etkinleştir" msgstr "Kısayolları yeniden etkinleştir"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "Xwayland ile yakalamalara izin ver"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"XWaylandde çalışan X11 uygulamaları tarafından yapılacak klavye "
"yakalamalarına izin ver. X11 yakalamasının Wayland altında hesaba katılması "
"için istemci ya kök pencereye özel X11 ClientMessageı göndermeli ya da "
"“xwayland-grab-access-rules” anahtarında beyaz listeye alınmış uygulamalar "
"içinde yer almalıdır."
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "Klavye yakalamaları yapabilen Xwayland uygulamaları"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"Xwayland altında X11 klavye yakalamaları yapmak için izin verilsin veya "
"verilmesin tüm X11 pencerelerinin kaynak adlarını veya kaynak sınıfını "
"listele. Verilen bir X11 penceresinin kaynak adı veya kaynak sınıfı “xprop "
"WM_CLASS” komutuyla elde edilebilir. Değerlerde “*” joker karakteri ve “?” "
"değiştirilebilir damga kullanımı desteklenmektedir. “!” ile başlayan "
"değerler, uygulamaları öntanımlı sistem listesinden feshetmek için beyaz "
"listeden önceliği olan kara listeye alınmıştır. Öntanımlı sistem listesi şu "
"uygulamaları içerir: “@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Kullanıcılar, "
"“restore-shortcuts” anahtar bağlama anahtarıyla tanımlanmış özel klavye "
"kısayolunu kullanarak var olan yakalamayı kırabilir."
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2167 #: src/backends/meta-input-settings.c:2325
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Kip anahtarı (Group %d)" msgstr "Kip anahtarı (Group %d)"
@@ -527,37 +552,37 @@ msgstr "Kip anahtarı (Group %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2190 #: src/backends/meta-input-settings.c:2348
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Monitör değiştir" msgstr "Monitör değiştir"
#: src/backends/meta-input-settings.c:2192 #: src/backends/meta-input-settings.c:2350
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Ekranda yardımı göster" msgstr "Ekranda yardımı göster"
#: src/backends/meta-monitor-manager.c:908 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Yerleşik ekran" msgstr "Yerleşik ekran"
#: src/backends/meta-monitor-manager.c:931 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Bilinmiyor" msgstr "Bilinmiyor"
#: src/backends/meta-monitor-manager.c:933 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Bilinmeyen Ekran" msgstr "Bilinmeyen Ekran"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:941 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -574,42 +599,46 @@ msgstr "Etkinlik zili"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "X Pencere Sistemi “%s” ekranıılamadı\n" msgstr "X Pencere Sistemi “%s” ekranıılamadı\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Ortam yöneticisine olan bağlantıyı kapat" msgstr "Ortam yöneticisine olan bağlantıyı kapat"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Çalışan pencere yöneticisinin yerini al" msgstr "Çalışan pencere yöneticisinin yerini al"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Ortam yönetim IDsini belirt" msgstr "Ortam yönetim IDsini belirt"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "Kullanılacak X Ekranı" msgstr "Kullanılacak X Ekranı"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Ortamı kayıtlı dosyadan başlat" msgstr "Ortamı kayıtlı dosyadan başlat"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "X çağrılarını eşazamanlı yap" msgstr "X çağrılarını eşazamanlı yap"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Bir wayland dizgicisi olarak çalıştır" msgstr "Bir wayland dizgicisi olarak çalıştır"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Yuvalanmış dizgici olarak çalıştır" msgstr "Yuvalanmış dizgici olarak çalıştır"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "İç içe değil tam ekran sunucusu olarak çalıştır" msgstr "İç içe değil tam ekran sunucusu olarak çalıştır"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "X11 arkayüzüyle çalıştır"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -683,12 +712,12 @@ msgstr "“%2$s” monitöründeki %1$d ekranı geçersiz\n"
msgid "Mutter was compiled without support for verbose mode\n" msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter, ayrıntılı kip desteği olmadan derlenmiş\n" msgstr "Mutter, ayrıntılı kip desteği olmadan derlenmiş\n"
#: src/wayland/meta-wayland-tablet-pad.c:563 #: src/wayland/meta-wayland-tablet-pad.c:567
#, c-format #, c-format
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "Kip Anahtarı: Kip %d" msgstr "Kip Anahtarı: Kip %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -701,6 +730,21 @@ msgstr ""
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (%s üzerinde)" msgstr "%s (%s üzerinde)"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Pencereyi soldaki çalışma alanına taşı"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Pencereyi sağdaki çalışma alanına taşı"
#~ msgid "Move to workspace left"
#~ msgstr "Soldaki çalışma alanına taşı"
#~ msgid "Move to workspace right"
#~ msgstr "Sağdaki çalışma alanına taşı"
#~ msgid "Toggle shaded state"
#~ msgstr "Toplanmış durumu değiştir"
#~ msgid "Failed to scan themes directory: %s\n" #~ msgid "Failed to scan themes directory: %s\n"
#~ msgstr "Tema dizini taranırken hata oluştu: %s\n" #~ msgstr "Tema dizini taranırken hata oluştu: %s\n"

View File

@@ -8,10 +8,9 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: metacity 3.3.4\n" "Project-Id-Version: metacity 3.3.4\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-03-01 18:57+0000\n"
"POT-Creation-Date: 2017-09-29 14:36+0000\n" "PO-Revision-Date: 2018-03-03 15:20+0800\n"
"PO-Revision-Date: 2017-10-01 22:57+0800\n"
"Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n" "Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n"
"Language-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n" "Language-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n"
"Language: zh_TW\n" "Language: zh_TW\n"
@@ -19,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 2.0.3\n" "X-Generator: Poedit 2.0.6\n"
#: data/50-mutter-navigation.xml:6 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
@@ -46,134 +45,118 @@ msgid "Move window to last workspace"
msgstr "將視窗移至上一個工作區" msgstr "將視窗移至上一個工作區"
#: data/50-mutter-navigation.xml:24 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "將視窗移至左方的工作區"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "將視窗移至右方的工作區"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "將視窗移至上方的工作區" msgstr "將視窗移至上方的工作區"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "將視窗移至下方的工作區" msgstr "將視窗移至下方的工作區"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:30
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "將視窗移至左方的螢幕" msgstr "將視窗移至左方的螢幕"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:33
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "將視窗移至右方的螢幕" msgstr "將視窗移至右方的螢幕"
#: data/50-mutter-navigation.xml:42 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "將視窗移至上方的螢幕" msgstr "將視窗移至上方的螢幕"
#: data/50-mutter-navigation.xml:45 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "將視窗移至下方的螢幕" msgstr "將視窗移至下方的螢幕"
#: data/50-mutter-navigation.xml:49 #: data/50-mutter-navigation.xml:43
msgid "Switch applications" msgid "Switch applications"
msgstr "切換程式" msgstr "切換程式"
#: data/50-mutter-navigation.xml:54 #: data/50-mutter-navigation.xml:48
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "切換至上一個應用程式" msgstr "切換至上一個應用程式"
#: data/50-mutter-navigation.xml:58 #: data/50-mutter-navigation.xml:52
msgid "Switch windows" msgid "Switch windows"
msgstr "切換視窗" msgstr "切換視窗"
#: data/50-mutter-navigation.xml:63 #: data/50-mutter-navigation.xml:57
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "切換至上一個視窗" msgstr "切換至上一個視窗"
#: data/50-mutter-navigation.xml:67 #: data/50-mutter-navigation.xml:61
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "切換程式的視窗" msgstr "切換程式的視窗"
#: data/50-mutter-navigation.xml:72 #: data/50-mutter-navigation.xml:66
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "切換至上一個應用程式的視窗" msgstr "切換至上一個應用程式的視窗"
#: data/50-mutter-navigation.xml:76 #: data/50-mutter-navigation.xml:70
msgid "Switch system controls" msgid "Switch system controls"
msgstr "切換系統控制" msgstr "切換系統控制"
#: data/50-mutter-navigation.xml:81 #: data/50-mutter-navigation.xml:75
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "切換至上一個系統控制" msgstr "切換至上一個系統控制"
#: data/50-mutter-navigation.xml:85 #: data/50-mutter-navigation.xml:79
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "直接切換視窗" msgstr "直接切換視窗"
#: data/50-mutter-navigation.xml:90 #: data/50-mutter-navigation.xml:84
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "直接切換至上一個視窗" msgstr "直接切換至上一個視窗"
#: data/50-mutter-navigation.xml:94 #: data/50-mutter-navigation.xml:88
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "直接切換程式的視窗" msgstr "直接切換程式的視窗"
#: data/50-mutter-navigation.xml:99 #: data/50-mutter-navigation.xml:93
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "直接切換至上一個程式視窗" msgstr "直接切換至上一個程式視窗"
#: data/50-mutter-navigation.xml:103 #: data/50-mutter-navigation.xml:97
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "直接切換系統控制" msgstr "直接切換系統控制"
#: data/50-mutter-navigation.xml:108 #: data/50-mutter-navigation.xml:102
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "直接切換至上一個系統控制" msgstr "直接切換至上一個系統控制"
#: data/50-mutter-navigation.xml:111 #: data/50-mutter-navigation.xml:105
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "隱藏所有一般視窗" msgstr "隱藏所有一般視窗"
#: data/50-mutter-navigation.xml:114 #: data/50-mutter-navigation.xml:108
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "切換至第 1 個工作區" msgstr "切換至第 1 個工作區"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "切換至第 2 個工作區" msgstr "切換至第 2 個工作區"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "切換至第 3 個工作區" msgstr "切換至第 3 個工作區"
#: data/50-mutter-navigation.xml:123 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "切換至第 4 個工作區" msgstr "切換至第 4 個工作區"
#: data/50-mutter-navigation.xml:126 #: data/50-mutter-navigation.xml:120
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "切換至上一個工作區" msgstr "切換至上一個工作區"
#: data/50-mutter-navigation.xml:129 #: data/50-mutter-navigation.xml:123
msgid "Move to workspace left"
msgstr "移至左方的工作區"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "移至右方的工作區"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "移至上方的工作區" msgstr "移至上方的工作區"
#: data/50-mutter-navigation.xml:138 #: data/50-mutter-navigation.xml:126
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "移至下方的工作區" msgstr "移至下方的工作區"
#: data/50-mutter-system.xml:6 #: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
msgid "System" msgid "System"
msgstr "系統" msgstr "系統"
@@ -185,6 +168,10 @@ msgstr "顯示執行指令提示"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "顯示活動概覽" msgstr "顯示活動概覽"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "重設鍵盤快捷鍵"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "視窗" msgstr "視窗"
@@ -210,54 +197,50 @@ msgid "Restore window"
msgstr "還原視窗" msgstr "還原視窗"
#: data/50-mutter-windows.xml:18 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "切換視窗捲起/放下狀態"
#: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "關閉視窗" msgstr "關閉視窗"
#: data/50-mutter-windows.xml:22 #: data/50-mutter-windows.xml:20
msgid "Hide window" msgid "Hide window"
msgstr "隱藏視窗" msgstr "隱藏視窗"
#: data/50-mutter-windows.xml:24 #: data/50-mutter-windows.xml:22
msgid "Move window" msgid "Move window"
msgstr "移動視窗" msgstr "移動視窗"
#: data/50-mutter-windows.xml:26 #: data/50-mutter-windows.xml:24
msgid "Resize window" msgid "Resize window"
msgstr "調整視窗大小" msgstr "調整視窗大小"
#: data/50-mutter-windows.xml:29 #: data/50-mutter-windows.xml:27
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "切換視窗顯示在所有工作區或是只顯示於其中之一" msgstr "切換視窗顯示在所有工作區或是只顯示於其中之一"
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:29
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "若被其他視窗遮蔽就抬升它,否則將它降下" msgstr "若被其他視窗遮蔽就抬升它,否則將它降下"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:31
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "令某個視窗覆蓋其它視窗" msgstr "令某個視窗覆蓋其它視窗"
#: data/50-mutter-windows.xml:35 #: data/50-mutter-windows.xml:33
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "遮蔽某個視窗" msgstr "遮蔽某個視窗"
#: data/50-mutter-windows.xml:37 #: data/50-mutter-windows.xml:35
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "將視窗縱向最大化" msgstr "將視窗縱向最大化"
#: data/50-mutter-windows.xml:39 #: data/50-mutter-windows.xml:37
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "將視窗橫向最大化" msgstr "將視窗橫向最大化"
#: data/50-mutter-windows.xml:43 #: data/50-mutter-windows.xml:41
msgid "View split on left" msgid "View split on left"
msgstr "檢視分割於左側" msgstr "檢視分割於左側"
#: data/50-mutter-windows.xml:47 #: data/50-mutter-windows.xml:45
msgid "View split on right" msgid "View split on right"
msgstr "檢視分割於右側" msgstr "檢視分割於右側"
@@ -477,10 +460,51 @@ msgstr "切換至 VT 12"
msgid "Re-enable shortcuts" msgid "Re-enable shortcuts"
msgstr "重新啟用快捷鍵" msgstr "重新啟用快捷鍵"
#: data/org.gnome.mutter.wayland.gschema.xml.in:64
msgid "Allow grabs with Xwayland"
msgstr "在 Xwayland 允許抓取"
#: data/org.gnome.mutter.wayland.gschema.xml.in:65
msgid ""
"Allow keyboard grabs issued by X11 applications running in Xwayland to be "
"taken into account. For a X11 grab to be taken into account under Wayland, "
"the client must also either send a specific X11 ClientMessage to the root "
"window or be among the applications white-listed in key “xwayland-grab-"
"access-rules”."
msgstr ""
"考慮到在 Xwayland 中執行的 X11 應用程序發出的鍵盤抓取。對於在 Wayland 下考慮"
"的 X11 抓取,客戶端也必須送出一個特定的 X11 ClientMessage 到 root 視窗或者在 "
"xwayland-grab-access-rules 鍵白名單其中的應用程式。"
#: data/org.gnome.mutter.wayland.gschema.xml.in:77
msgid "Xwayland applications allowed to issue keyboard grabs"
msgstr "Xwayland 應用程式允許發出鍵盤抓取"
#: data/org.gnome.mutter.wayland.gschema.xml.in:78
msgid ""
"List the resource names or resource class of X11 windows either allowed or "
"not allowed to issue X11 keyboard grabs under Xwayland. The resource name or "
"resource class of a given X11 window can be obtained using the command "
"“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. "
"Values starting with “!” are blacklisted, which has precedence over the "
"whitelist, to revoke applications from the default system list. The default "
"system list includes the following applications: "
"“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by "
"using the specific keyboard shortcut defined by the keybinding key “restore-"
"shortcuts”."
msgstr ""
"列出在 X11 視窗中的這些資源名稱或資源 class 允許或不允許在 Xwayland 底下發出 "
"X11 鍵盤抓取。在已提供的 X11 視窗中的資源名稱或資源 class 可以獲得,只要使用"
"這個指令 xprop WM_CLASS。在數值內的 Wildcard \"*\" 或 joker \"?\" 是受支援"
"的。開始於 \"!\" 的數值會被加入黑名單,優先於白名單,去取消授權來自預設系統清"
"單的應用程式。這個預設的系統清單包含了以下的應用程"
"序:“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@”,用戶可以取消一個存在的抓取,透過"
"使用一個具體的鍵盤快捷鍵定義透過這個綁定鍵 restore-shortcuts。"
#. TRANSLATORS: This string refers to a button that switches between #. TRANSLATORS: This string refers to a button that switches between
#. * different modes. #. * different modes.
#. #.
#: src/backends/meta-input-settings.c:2157 #: src/backends/meta-input-settings.c:2325
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "模式切換( 群組 %d)" msgstr "模式切換( 群組 %d)"
@@ -488,30 +512,30 @@ msgstr "模式切換( 群組 %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets' #. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs. #. * mapping through the available outputs.
#. #.
#: src/backends/meta-input-settings.c:2180 #: src/backends/meta-input-settings.c:2348
msgid "Switch monitor" msgid "Switch monitor"
msgstr "切換螢幕" msgstr "切換螢幕"
#: src/backends/meta-input-settings.c:2182 #: src/backends/meta-input-settings.c:2350
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "顯示螢幕求助" msgstr "顯示螢幕求助"
#: src/backends/meta-monitor-manager.c:894 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "內建顯示" msgstr "內建顯示"
#: src/backends/meta-monitor-manager.c:917 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "不明" msgstr "不明"
#: src/backends/meta-monitor-manager.c:919 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "不明的顯示器" msgstr "不明的顯示器"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: src/backends/meta-monitor-manager.c:927 #: src/backends/meta-monitor-manager.c:933
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
@@ -519,7 +543,7 @@ msgstr "%s %s"
# FIXME: I'm still unclear about the meaning of XGetSelectionOwner -- Abel # FIXME: I'm still unclear about the meaning of XGetSelectionOwner -- Abel
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: src/compositor/compositor.c:476 #: src/compositor/compositor.c:481
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display “%s”." "Another compositing manager is already running on screen %i on display “%s”."
@@ -534,42 +558,46 @@ msgstr "響鈴事件"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "無法開啟 X Window 系統畫面「%s」\n" msgstr "無法開啟 X Window 系統畫面「%s」\n"
#: src/core/main.c:189 #: src/core/main.c:190
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "停用到作業階段管理員的連線" msgstr "停用到作業階段管理員的連線"
#: src/core/main.c:195 #: src/core/main.c:196
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "取代執行中的視窗管理員" msgstr "取代執行中的視窗管理員"
#: src/core/main.c:201 #: src/core/main.c:202
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "指定作業階段管理 ID" msgstr "指定作業階段管理 ID"
#: src/core/main.c:206 #: src/core/main.c:207
msgid "X Display to use" msgid "X Display to use"
msgstr "使用的 X 畫面" msgstr "使用的 X 畫面"
#: src/core/main.c:212 #: src/core/main.c:213
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "以 savefile 初始化作業階段" msgstr "以 savefile 初始化作業階段"
#: src/core/main.c:218 #: src/core/main.c:219
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "使用同步方式調用 X 函式" msgstr "使用同步方式調用 X 函式"
#: src/core/main.c:225 #: src/core/main.c:226
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "以 wayland 組合器執行" msgstr "以 wayland 組合器執行"
#: src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "以巢狀組合器執行" msgstr "以巢狀組合器執行"
#: src/core/main.c:239 #: src/core/main.c:240
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "以完全顯示伺服器執行,而非巢狀" msgstr "以完全顯示伺服器執行,而非巢狀"
#: src/core/main.c:246
msgid "Run with X11 backend"
msgstr "透過 X11 後端執行"
#. Translators: %s is a window title #. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
@@ -622,7 +650,7 @@ msgstr "要使用的 Mutter 外掛程式"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "工作區 %d" msgstr "工作區 %d"
#: src/core/screen.c:582 #: src/core/screen.c:583
#, c-format #, c-format
msgid "" msgid ""
"Display “%s” already has a window manager; try using the --replace option to " "Display “%s” already has a window manager; try using the --replace option to "
@@ -631,7 +659,7 @@ msgstr ""
"畫面「%s」已經有了視窗管理員請嘗試使用 --replace 選項來替換目前的視窗管理" "畫面「%s」已經有了視窗管理員請嘗試使用 --replace 選項來替換目前的視窗管理"
"員。" "員。"
#: src/core/screen.c:667 #: src/core/screen.c:668
#, c-format #, c-format
msgid "Screen %d on display “%s” is invalid\n" msgid "Screen %d on display “%s” is invalid\n"
msgstr "畫面「%2$s」中的第 %1$d 個螢幕無效\n" msgstr "畫面「%2$s」中的第 %1$d 個螢幕無效\n"
@@ -640,12 +668,12 @@ msgstr "畫面「%2$s」中的第 %1$d 個螢幕無效\n"
msgid "Mutter was compiled without support for verbose mode\n" msgid "Mutter was compiled without support for verbose mode\n"
msgstr "編譯 Mutter 時並沒有加入詳細偵錯模式的支援\n" msgstr "編譯 Mutter 時並沒有加入詳細偵錯模式的支援\n"
#: src/wayland/meta-wayland-tablet-pad.c:563 #: src/wayland/meta-wayland-tablet-pad.c:567
#, c-format #, c-format
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "模式切換:模式 %d" msgstr "模式切換:模式 %d"
#: src/x11/session.c:1815 #: src/x11/session.c:1818
msgid "" msgid ""
"These windows do not support “save current setup” and will have to be " "These windows do not support “save current setup” and will have to be "
"restarted manually next time you log in." "restarted manually next time you log in."
@@ -656,6 +684,21 @@ msgstr "這些視窗不支援「儲存目前的設定」,必須在下次登入
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s在 %s" msgstr "%s在 %s"
#~ msgid "Move window one workspace to the left"
#~ msgstr "將視窗移至左方的工作區"
#~ msgid "Move window one workspace to the right"
#~ msgstr "將視窗移至右方的工作區"
#~ msgid "Move to workspace left"
#~ msgstr "移至左方的工作區"
#~ msgid "Move to workspace right"
#~ msgstr "移至右方的工作區"
#~ msgid "Toggle shaded state"
#~ msgstr "切換視窗捲起/放下狀態"
#~ msgid "background texture could not be created from file" #~ msgid "background texture could not be created from file"
#~ msgstr "背景材質無法從檔案建立" #~ msgstr "背景材質無法從檔案建立"

View File

@@ -68,6 +68,8 @@ mutter_built_sources += \
gtk-shell-server-protocol.h \ gtk-shell-server-protocol.h \
gtk-primary-selection-protocol.c \ gtk-primary-selection-protocol.c \
gtk-primary-selection-server-protocol.h \ gtk-primary-selection-server-protocol.h \
xdg-shell-protocol.c \
xdg-shell-server-protocol.h \
xdg-shell-unstable-v6-protocol.c \ xdg-shell-unstable-v6-protocol.c \
xdg-shell-unstable-v6-server-protocol.h \ xdg-shell-unstable-v6-server-protocol.h \
relative-pointer-unstable-v1-protocol.c \ relative-pointer-unstable-v1-protocol.c \
@@ -94,6 +96,7 @@ endif
wayland_protocols = \ wayland_protocols = \
wayland/protocol/gtk-shell.xml \ wayland/protocol/gtk-shell.xml \
wayland/protocol/gtk-primary-selection.xml \ wayland/protocol/gtk-primary-selection.xml \
wayland/protocol/gtk-text-input.xml \
$(NULL) $(NULL)
libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
@@ -433,6 +436,12 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES += \
wayland/meta-wayland-surface-role-cursor.h \ wayland/meta-wayland-surface-role-cursor.h \
wayland/meta-wayland-surface-role-tablet-cursor.c \ wayland/meta-wayland-surface-role-tablet-cursor.c \
wayland/meta-wayland-surface-role-tablet-cursor.h \ wayland/meta-wayland-surface-role-tablet-cursor.h \
wayland/meta-wayland-actor-surface.c \
wayland/meta-wayland-actor-surface.h \
wayland/meta-wayland-subsurface.c \
wayland/meta-wayland-subsurface.h \
wayland/meta-wayland-shell-surface.c \
wayland/meta-wayland-shell-surface.h \
wayland/meta-wayland-text-input.c \ wayland/meta-wayland-text-input.c \
wayland/meta-wayland-text-input.h \ wayland/meta-wayland-text-input.h \
wayland/meta-wayland-types.h \ wayland/meta-wayland-types.h \
@@ -447,6 +456,8 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES += \
wayland/meta-window-xwayland.h \ wayland/meta-window-xwayland.h \
wayland/meta-wayland-xdg-shell.c \ wayland/meta-wayland-xdg-shell.c \
wayland/meta-wayland-xdg-shell.h \ wayland/meta-wayland-xdg-shell.h \
wayland/meta-wayland-legacy-xdg-shell.c \
wayland/meta-wayland-legacy-xdg-shell.h \
wayland/meta-wayland-wl-shell.c \ wayland/meta-wayland-wl-shell.c \
wayland/meta-wayland-wl-shell.h \ wayland/meta-wayland-wl-shell.h \
wayland/meta-wayland-gtk-shell.c \ wayland/meta-wayland-gtk-shell.c \
@@ -735,11 +746,11 @@ backends/native/meta-default-modes.h: backends/native/gen-default-modes.py Makef
.SECONDEXPANSION: .SECONDEXPANSION:
define protostability define protostability
$(shell echo $1 | sed 's/.*\(\<unstable\>\|\<stable\>\).*/\1/') $(if $(findstring unstable,$1),unstable,stable)
endef endef
define protoname define protoname
$(shell echo $1 | sed 's/\([a-z\-]\+\)-[a-z]\+-v[0-9]\+/\1/') $(shell echo $1 | sed 's/\([a-z\-]\{1,\}\)-[a-z]\{1,\}-v[0-9]\{1,\}/\1/')
endef endef
%-protocol.c : $(WAYLAND_PROTOCOLS_DATADIR)/$$(call protostability,$$*)/$$(call protoname,$$*)/$$*.xml %-protocol.c : $(WAYLAND_PROTOCOLS_DATADIR)/$$(call protostability,$$*)/$$(call protoname,$$*)/$$*.xml
@@ -750,14 +761,3 @@ endef
$(AM_V_GEN)$(WAYLAND_SCANNER) code $< $@ $(AM_V_GEN)$(WAYLAND_SCANNER) code $< $@
%-server-protocol.h : $(srcdir)/wayland/protocol/%.xml %-server-protocol.h : $(srcdir)/wayland/protocol/%.xml
$(AM_V_GEN)$(WAYLAND_SCANNER) server-header $< $@ $(AM_V_GEN)$(WAYLAND_SCANNER) server-header $< $@
keyboard-shortcuts-inhibit-unstable-v1-protocol.c : $(WAYLAND_PROTOCOLS_DATADIR)/unstable/keyboard-shortcuts-inhibit/keyboard-shortcuts-inhibit-unstable-v1.xml
$(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@
keyboard-shortcuts-inhibit-unstable-v1-server-protocol.h : $(WAYLAND_PROTOCOLS_DATADIR)/unstable/keyboard-shortcuts-inhibit/keyboard-shortcuts-inhibit-unstable-v1.xml
$(AM_V_GEN)$(WAYLAND_SCANNER) server-header < $< > $@
xdg-output-unstable-v1-protocol.c : $(WAYLAND_PROTOCOLS_DATADIR)/unstable/xdg-output/xdg-output-unstable-v1.xml
$(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@
xdg-output-unstable-v1-server-protocol.h : $(WAYLAND_PROTOCOLS_DATADIR)/unstable/xdg-output/xdg-output-unstable-v1.xml
xwayland-keyboard-grab-unstable-v1-protocol.c : $(WAYLAND_PROTOCOLS_DATADIR)/unstable/xwayland-keyboard-grab/xwayland-keyboard-grab-unstable-v1.xml
$(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@
xwayland-keyboard-grab-unstable-v1-server-protocol.h : $(WAYLAND_PROTOCOLS_DATADIR)/unstable/xwayland-keyboard-grab/xwayland-keyboard-grab-unstable-v1.xml
$(AM_V_GEN)$(WAYLAND_SCANNER) server-header < $< > $@

View File

@@ -264,6 +264,18 @@ meta_cursor_renderer_set_position (MetaCursorRenderer *renderer,
update_cursor (renderer, priv->displayed_cursor); update_cursor (renderer, priv->displayed_cursor);
} }
ClutterPoint
meta_cursor_renderer_get_position (MetaCursorRenderer *renderer)
{
MetaCursorRendererPrivate *priv =
meta_cursor_renderer_get_instance_private (renderer);
return (ClutterPoint) {
.x = priv->current_x,
.y = priv->current_y
};
}
MetaCursorSprite * MetaCursorSprite *
meta_cursor_renderer_get_cursor (MetaCursorRenderer *renderer) meta_cursor_renderer_get_cursor (MetaCursorRenderer *renderer)
{ {

View File

@@ -62,6 +62,7 @@ void meta_cursor_renderer_set_cursor (MetaCursorRenderer *renderer,
void meta_cursor_renderer_set_position (MetaCursorRenderer *renderer, void meta_cursor_renderer_set_position (MetaCursorRenderer *renderer,
float x, float x,
float y); float y);
ClutterPoint meta_cursor_renderer_get_position (MetaCursorRenderer *renderer);
void meta_cursor_renderer_force_update (MetaCursorRenderer *renderer); void meta_cursor_renderer_force_update (MetaCursorRenderer *renderer);
MetaCursorSprite * meta_cursor_renderer_get_cursor (MetaCursorRenderer *renderer); MetaCursorSprite * meta_cursor_renderer_get_cursor (MetaCursorRenderer *renderer);

View File

@@ -266,11 +266,31 @@ meta_egl_get_proc_address (MetaEgl *egl,
} }
gboolean gboolean
meta_egl_choose_config (MetaEgl *egl, meta_egl_get_config_attrib (MetaEgl *egl,
EGLDisplay display, EGLDisplay display,
const EGLint *attrib_list, EGLConfig config,
EGLConfig *chosen_config, EGLint attribute,
GError **error) EGLint *value,
GError **error)
{
if (!eglGetConfigAttrib (display,
config,
attribute,
value))
{
set_egl_error (error);
return FALSE;
}
return TRUE;
}
EGLConfig *
meta_egl_choose_all_configs (MetaEgl *egl,
EGLDisplay display,
const EGLint *attrib_list,
EGLint *out_num_configs,
GError **error)
{ {
EGLint num_configs; EGLint num_configs;
EGLConfig *configs; EGLConfig *configs;
@@ -299,6 +319,60 @@ meta_egl_choose_config (MetaEgl *egl,
return FALSE; return FALSE;
} }
if (num_matches == 0)
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"No matching EGL configs");
g_free (configs);
return NULL;
}
*out_num_configs = num_configs;
return configs;
}
gboolean
meta_egl_choose_first_config (MetaEgl *egl,
EGLDisplay display,
const EGLint *attrib_list,
EGLConfig *chosen_config,
GError **error)
{
EGLint num_configs;
EGLConfig *configs;
EGLint num_matches;
if (!eglGetConfigs (display, NULL, 0, &num_configs))
{
set_egl_error (error);
return FALSE;
}
if (num_configs < 1)
{
g_set_error (error, G_IO_ERROR,
G_IO_ERROR_FAILED,
"No EGL configurations available");
return FALSE;
}
configs = g_new0 (EGLConfig, num_configs);
if (!eglChooseConfig (display, attrib_list, configs, num_configs, &num_matches))
{
g_free (configs);
set_egl_error (error);
return FALSE;
}
if (num_matches == 0)
{
g_free (configs);
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"No matching EGLConfig found");
return FALSE;
}
/* /*
* We don't have any preference specified yet, so lets choose the first one. * We don't have any preference specified yet, so lets choose the first one.
*/ */

View File

@@ -56,11 +56,24 @@ gpointer meta_egl_get_proc_address (MetaEgl *egl,
const char *procname, const char *procname,
GError **error); GError **error);
gboolean meta_egl_choose_config (MetaEgl *egl, gboolean meta_egl_choose_first_config (MetaEgl *egl,
EGLDisplay display, EGLDisplay display,
const EGLint *attrib_list, const EGLint *attrib_list,
EGLConfig *chosen_config, EGLConfig *chosen_config,
GError **error); GError **error);
gboolean meta_egl_get_config_attrib (MetaEgl *egl,
EGLDisplay display,
EGLConfig config,
EGLint attribute,
EGLint *value,
GError **error);
EGLConfig * meta_egl_choose_all_configs (MetaEgl *egl,
EGLDisplay display,
const EGLint *attrib_list,
EGLint *out_num_configs,
GError **error);
EGLContext meta_egl_create_context (MetaEgl *egl, EGLContext meta_egl_create_context (MetaEgl *egl,
EGLDisplay display, EGLDisplay display,

View File

@@ -111,7 +111,8 @@ struct _MetaInputSettingsClass
ClutterInputDevice *device, ClutterInputDevice *device,
ClutterInputDeviceTool *tool, ClutterInputDeviceTool *tool,
GDesktopStylusButtonAction primary, GDesktopStylusButtonAction primary,
GDesktopStylusButtonAction secondary); GDesktopStylusButtonAction secondary,
GDesktopStylusButtonAction tertiary);
gboolean (* has_two_finger_scroll) (MetaInputSettings *settings, gboolean (* has_two_finger_scroll) (MetaInputSettings *settings,
ClutterInputDevice *device); ClutterInputDevice *device);
}; };

View File

@@ -41,6 +41,16 @@ static GQuark quark_tool_settings = 0;
typedef struct _MetaInputSettingsPrivate MetaInputSettingsPrivate; typedef struct _MetaInputSettingsPrivate MetaInputSettingsPrivate;
typedef struct _DeviceMappingInfo DeviceMappingInfo; typedef struct _DeviceMappingInfo DeviceMappingInfo;
typedef struct _CurrentToolInfo CurrentToolInfo;
struct _CurrentToolInfo
{
MetaInputSettings *input_settings;
ClutterInputDevice *device;
ClutterInputDeviceTool *tool;
GSettings *settings;
guint changed_id;
};
struct _DeviceMappingInfo struct _DeviceMappingInfo
{ {
@@ -69,6 +79,8 @@ struct _MetaInputSettingsPrivate
GHashTable *mappable_devices; GHashTable *mappable_devices;
GHashTable *current_tools;
ClutterVirtualInputDevice *virtual_pad_keyboard; ClutterVirtualInputDevice *virtual_pad_keyboard;
#ifdef HAVE_LIBWACOM #ifdef HAVE_LIBWACOM
@@ -146,6 +158,7 @@ meta_input_settings_dispose (GObject *object)
g_clear_object (&priv->gsd_settings); g_clear_object (&priv->gsd_settings);
g_clear_object (&priv->a11y_settings); g_clear_object (&priv->a11y_settings);
g_clear_pointer (&priv->mappable_devices, g_hash_table_unref); g_clear_pointer (&priv->mappable_devices, g_hash_table_unref);
g_clear_pointer (&priv->current_tools, g_hash_table_unref);
if (priv->monitors_changed_id && priv->monitor_manager) if (priv->monitors_changed_id && priv->monitor_manager)
{ {
@@ -772,12 +785,11 @@ update_keyboard_repeat (MetaInputSettings *input_settings)
repeat, delay, interval); repeat, delay, interval);
} }
static gboolean static MetaMonitor *
logical_monitor_has_monitor (MetaMonitorManager *monitor_manager, logical_monitor_find_monitor (MetaLogicalMonitor *logical_monitor,
MetaLogicalMonitor *logical_monitor, const char *vendor,
const char *vendor, const char *product,
const char *product, const char *serial)
const char *serial)
{ {
GList *monitors; GList *monitors;
GList *l; GList *l;
@@ -790,20 +802,22 @@ logical_monitor_has_monitor (MetaMonitorManager *monitor_manager,
if (g_strcmp0 (meta_monitor_get_vendor (monitor), vendor) == 0 && if (g_strcmp0 (meta_monitor_get_vendor (monitor), vendor) == 0 &&
g_strcmp0 (meta_monitor_get_product (monitor), product) == 0 && g_strcmp0 (meta_monitor_get_product (monitor), product) == 0 &&
g_strcmp0 (meta_monitor_get_serial (monitor), serial) == 0) g_strcmp0 (meta_monitor_get_serial (monitor), serial) == 0)
return TRUE; return monitor;
} }
return FALSE; return NULL;
} }
static MetaLogicalMonitor * static void
meta_input_settings_find_logical_monitor (MetaInputSettings *input_settings, meta_input_settings_find_monitor (MetaInputSettings *input_settings,
GSettings *settings, GSettings *settings,
ClutterInputDevice *device) ClutterInputDevice *device,
MetaMonitor **out_monitor,
MetaLogicalMonitor **out_logical_monitor)
{ {
MetaInputSettingsPrivate *priv; MetaInputSettingsPrivate *priv;
MetaMonitorManager *monitor_manager; MetaMonitorManager *monitor_manager;
MetaLogicalMonitor *ret = NULL; MetaMonitor *monitor;
guint n_values; guint n_values;
GList *logical_monitors; GList *logical_monitors;
GList *l; GList *l;
@@ -831,20 +845,20 @@ meta_input_settings_find_logical_monitor (MetaInputSettings *input_settings,
{ {
MetaLogicalMonitor *logical_monitor = l->data; MetaLogicalMonitor *logical_monitor = l->data;
if (logical_monitor_has_monitor (monitor_manager, monitor = logical_monitor_find_monitor (logical_monitor,
logical_monitor, edid[0], edid[1], edid[2]);
edid[0], if (monitor)
edid[1],
edid[2]))
{ {
ret = logical_monitor; if (out_monitor)
*out_monitor = monitor;
if (out_logical_monitor)
*out_logical_monitor = logical_monitor;
break; break;
} }
} }
out: out:
g_strfreev (edid); g_strfreev (edid);
return ret;
} }
static void static void
@@ -880,9 +894,8 @@ update_tablet_keep_aspect (MetaInputSettings *input_settings,
CLUTTER_INPUT_DEVICE_MAPPING_ABSOLUTE) CLUTTER_INPUT_DEVICE_MAPPING_ABSOLUTE)
{ {
keep_aspect = g_settings_get_boolean (settings, "keep-aspect"); keep_aspect = g_settings_get_boolean (settings, "keep-aspect");
logical_monitor = meta_input_settings_find_logical_monitor (input_settings, meta_input_settings_find_monitor (input_settings, settings, device,
settings, NULL, &logical_monitor);
device);
} }
else else
{ {
@@ -901,7 +914,8 @@ update_device_display (MetaInputSettings *input_settings,
MetaInputSettingsClass *input_settings_class; MetaInputSettingsClass *input_settings_class;
MetaInputSettingsPrivate *priv; MetaInputSettingsPrivate *priv;
gfloat matrix[6] = { 1, 0, 0, 0, 1, 0 }; gfloat matrix[6] = { 1, 0, 0, 0, 1, 0 };
MetaLogicalMonitor *logical_monitor; MetaMonitor *monitor = NULL;
MetaLogicalMonitor *logical_monitor = NULL;
if (clutter_input_device_get_device_type (device) != CLUTTER_TABLET_DEVICE && if (clutter_input_device_get_device_type (device) != CLUTTER_TABLET_DEVICE &&
clutter_input_device_get_device_type (device) != CLUTTER_PEN_DEVICE && clutter_input_device_get_device_type (device) != CLUTTER_PEN_DEVICE &&
@@ -916,15 +930,12 @@ update_device_display (MetaInputSettings *input_settings,
if (clutter_input_device_get_device_type (device) == CLUTTER_TOUCHSCREEN_DEVICE || if (clutter_input_device_get_device_type (device) == CLUTTER_TOUCHSCREEN_DEVICE ||
clutter_input_device_get_mapping_mode (device) == clutter_input_device_get_mapping_mode (device) ==
CLUTTER_INPUT_DEVICE_MAPPING_ABSOLUTE) CLUTTER_INPUT_DEVICE_MAPPING_ABSOLUTE)
logical_monitor = meta_input_settings_find_logical_monitor (input_settings, meta_input_settings_find_monitor (input_settings, settings, device,
settings, &monitor, &logical_monitor);
device);
else
logical_monitor = NULL;
if (logical_monitor) if (monitor)
meta_monitor_manager_get_monitor_matrix (priv->monitor_manager, meta_monitor_manager_get_monitor_matrix (priv->monitor_manager,
logical_monitor, matrix); monitor, logical_monitor, matrix);
input_settings_class->set_matrix (input_settings, device, matrix); input_settings_class->set_matrix (input_settings, device, matrix);
@@ -1527,7 +1538,7 @@ update_stylus_buttonmap (MetaInputSettings *input_settings,
ClutterInputDeviceTool *tool) ClutterInputDeviceTool *tool)
{ {
MetaInputSettingsClass *input_settings_class; MetaInputSettingsClass *input_settings_class;
GDesktopStylusButtonAction primary, secondary; GDesktopStylusButtonAction primary, secondary, tertiary;
GSettings *tool_settings; GSettings *tool_settings;
if (clutter_input_device_get_device_type (device) != CLUTTER_TABLET_DEVICE && if (clutter_input_device_get_device_type (device) != CLUTTER_TABLET_DEVICE &&
@@ -1542,10 +1553,11 @@ update_stylus_buttonmap (MetaInputSettings *input_settings,
primary = g_settings_get_enum (tool_settings, "button-action"); primary = g_settings_get_enum (tool_settings, "button-action");
secondary = g_settings_get_enum (tool_settings, "secondary-button-action"); secondary = g_settings_get_enum (tool_settings, "secondary-button-action");
tertiary = g_settings_get_enum (tool_settings, "tertiary-button-action");
input_settings_class = META_INPUT_SETTINGS_GET_CLASS (input_settings); input_settings_class = META_INPUT_SETTINGS_GET_CLASS (input_settings);
input_settings_class->set_stylus_button_map (input_settings, device, tool, input_settings_class->set_stylus_button_map (input_settings, device, tool,
primary, secondary); primary, secondary, tertiary);
} }
static void static void
@@ -1597,22 +1609,71 @@ meta_input_settings_device_removed (ClutterDeviceManager *device_manager,
priv = meta_input_settings_get_instance_private (input_settings); priv = meta_input_settings_get_instance_private (input_settings);
g_hash_table_remove (priv->mappable_devices, device); g_hash_table_remove (priv->mappable_devices, device);
g_hash_table_remove (priv->current_tools, device);
if (g_hash_table_remove (priv->two_finger_devices, device) && if (g_hash_table_remove (priv->two_finger_devices, device) &&
g_hash_table_size (priv->two_finger_devices) == 0) g_hash_table_size (priv->two_finger_devices) == 0)
apply_device_settings (input_settings, NULL); apply_device_settings (input_settings, NULL);
} }
static void
current_tool_changed_cb (GSettings *settings,
const char *key,
gpointer user_data)
{
CurrentToolInfo *info = user_data;
apply_stylus_settings (info->input_settings, info->device, info->tool);
}
static CurrentToolInfo *
current_tool_info_new (MetaInputSettings *input_settings,
ClutterInputDevice *device,
ClutterInputDeviceTool *tool)
{
CurrentToolInfo *info;
info = g_new0 (CurrentToolInfo, 1);
info->input_settings = input_settings;
info->device = device;
info->tool = tool;
info->settings = lookup_tool_settings (tool, device);
info->changed_id =
g_signal_connect (info->settings, "changed",
G_CALLBACK (current_tool_changed_cb),
info);
return info;
}
static void
current_tool_info_free (CurrentToolInfo *info)
{
g_signal_handler_disconnect (info->settings, info->changed_id);
g_free (info);
}
static void static void
meta_input_settings_tool_changed (ClutterDeviceManager *device_manager, meta_input_settings_tool_changed (ClutterDeviceManager *device_manager,
ClutterInputDevice *device, ClutterInputDevice *device,
ClutterInputDeviceTool *tool, ClutterInputDeviceTool *tool,
MetaInputSettings *input_settings) MetaInputSettings *input_settings)
{ {
if (!tool) MetaInputSettingsPrivate *priv;
return;
apply_stylus_settings (input_settings, device, tool); priv = meta_input_settings_get_instance_private (input_settings);
if (tool)
{
CurrentToolInfo *current_tool;
current_tool = current_tool_info_new (input_settings, device, tool);
g_hash_table_insert (priv->current_tools, device, current_tool);
apply_stylus_settings (input_settings, device, tool);
}
else
{
g_hash_table_remove (priv->current_tools, device);
}
} }
static void static void
@@ -1709,6 +1770,9 @@ meta_input_settings_init (MetaInputSettings *settings)
priv->mappable_devices = priv->mappable_devices =
g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify) device_mapping_info_free); g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify) device_mapping_info_free);
priv->current_tools =
g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify) current_tool_info_free);
priv->monitor_manager = g_object_ref (meta_monitor_manager_get ()); priv->monitor_manager = g_object_ref (meta_monitor_manager_get ());
g_signal_connect (priv->monitor_manager, "monitors-changed-internal", g_signal_connect (priv->monitor_manager, "monitors-changed-internal",
G_CALLBACK (monitors_changed_cb), settings); G_CALLBACK (monitors_changed_cb), settings);
@@ -1745,6 +1809,7 @@ MetaLogicalMonitor *
meta_input_settings_get_tablet_logical_monitor (MetaInputSettings *settings, meta_input_settings_get_tablet_logical_monitor (MetaInputSettings *settings,
ClutterInputDevice *device) ClutterInputDevice *device)
{ {
MetaLogicalMonitor *logical_monitor = NULL;
MetaInputSettingsPrivate *priv; MetaInputSettingsPrivate *priv;
DeviceMappingInfo *info; DeviceMappingInfo *info;
@@ -1756,9 +1821,9 @@ meta_input_settings_get_tablet_logical_monitor (MetaInputSettings *settings,
if (!info) if (!info)
return NULL; return NULL;
return meta_input_settings_find_logical_monitor (settings, meta_input_settings_find_monitor (settings, info->settings, device,
info->settings, NULL, &logical_monitor);
device); return logical_monitor;
} }
GDesktopTabletMapping GDesktopTabletMapping
@@ -1862,7 +1927,7 @@ meta_input_settings_cycle_tablet_output (MetaInputSettings *input_settings,
{ {
MetaInputSettingsPrivate *priv; MetaInputSettingsPrivate *priv;
DeviceMappingInfo *info; DeviceMappingInfo *info;
MetaLogicalMonitor *logical_monitor; MetaLogicalMonitor *logical_monitor = NULL;
const gchar *edid[4] = { 0 }, *pretty_name = NULL; const gchar *edid[4] = { 0 }, *pretty_name = NULL;
g_return_if_fail (META_IS_INPUT_SETTINGS (input_settings)); g_return_if_fail (META_IS_INPUT_SETTINGS (input_settings));
@@ -1885,9 +1950,9 @@ meta_input_settings_cycle_tablet_output (MetaInputSettings *input_settings,
} }
#endif #endif
logical_monitor = meta_input_settings_find_logical_monitor (input_settings, meta_input_settings_find_monitor (input_settings, info->settings, device,
info->settings, NULL, &logical_monitor);
device);
if (!cycle_logical_monitors (input_settings, if (!cycle_logical_monitors (input_settings,
logical_monitor, logical_monitor,
&logical_monitor)) &logical_monitor))

View File

@@ -103,7 +103,8 @@ derive_monitor_transform (MetaMonitor *monitor)
main_output = meta_monitor_get_main_output (monitor); main_output = meta_monitor_get_main_output (monitor);
return main_output->crtc->transform; return meta_monitor_crtc_to_logical_transform (monitor,
main_output->crtc->transform);
} }
MetaLogicalMonitor * MetaLogicalMonitor *

View File

@@ -152,11 +152,10 @@ assign_monitor_crtc (MetaMonitor *monitor,
} }
transform = data->logical_monitor_config->transform; transform = data->logical_monitor_config->transform;
if (meta_monitor_manager_is_transform_handled (data->monitor_manager, crtc_transform = meta_monitor_logical_to_crtc_transform (monitor, transform);
crtc, if (!meta_monitor_manager_is_transform_handled (data->monitor_manager,
transform)) crtc,
crtc_transform = transform; crtc_transform))
else
crtc_transform = META_MONITOR_TRANSFORM_NORMAL; crtc_transform = META_MONITOR_TRANSFORM_NORMAL;
meta_monitor_calculate_crtc_pos (monitor, mode, output, crtc_transform, meta_monitor_calculate_crtc_pos (monitor, mode, output, crtc_transform,
@@ -755,6 +754,20 @@ create_for_builtin_display_rotation (MetaMonitorConfigManager *config_manager,
if (rotate) if (rotate)
transform = (current_logical_monitor_config->transform + 1) % META_MONITOR_TRANSFORM_FLIPPED; transform = (current_logical_monitor_config->transform + 1) % META_MONITOR_TRANSFORM_FLIPPED;
else
{
/*
* The transform coming from the accelerometer should be applied to
* the crtc as is, without taking panel-orientation into account, this
* is done so that non panel-orientation aware desktop environments do the
* right thing. Mutter corrects for panel-orientation when applying the
* transform from a logical-monitor-config, so we must convert here.
*/
MetaMonitor *panel =
meta_monitor_manager_get_laptop_panel (config_manager->monitor_manager);
transform = meta_monitor_crtc_to_logical_transform (panel, transform);
}
if (current_logical_monitor_config->transform == transform) if (current_logical_monitor_config->transform == transform)
return NULL; return NULL;

View File

@@ -316,6 +316,7 @@ void meta_monitor_manager_read_current_state (MetaMonitorManager *
void meta_monitor_manager_on_hotplug (MetaMonitorManager *manager); void meta_monitor_manager_on_hotplug (MetaMonitorManager *manager);
gboolean meta_monitor_manager_get_monitor_matrix (MetaMonitorManager *manager, gboolean meta_monitor_manager_get_monitor_matrix (MetaMonitorManager *manager,
MetaMonitor *monitor,
MetaLogicalMonitor *logical_monitor, MetaLogicalMonitor *logical_monitor,
gfloat matrix[6]); gfloat matrix[6]);
@@ -384,4 +385,11 @@ meta_monitor_transform_is_rotated (MetaMonitorTransform transform)
return (transform % 2); return (transform % 2);
} }
/* Returns true if transform involves flipping */
static inline gboolean
meta_monitor_transform_is_flipped (MetaMonitorTransform transform)
{
return (transform >= META_MONITOR_TRANSFORM_FLIPPED);
}
#endif /* META_MONITOR_MANAGER_PRIVATE_H */ #endif /* META_MONITOR_MANAGER_PRIVATE_H */

View File

@@ -2856,6 +2856,7 @@ multiply_matrix (float a[6],
gboolean gboolean
meta_monitor_manager_get_monitor_matrix (MetaMonitorManager *manager, meta_monitor_manager_get_monitor_matrix (MetaMonitorManager *manager,
MetaMonitor *monitor,
MetaLogicalMonitor *logical_monitor, MetaLogicalMonitor *logical_monitor,
gfloat matrix[6]) gfloat matrix[6])
{ {
@@ -2865,7 +2866,9 @@ meta_monitor_manager_get_monitor_matrix (MetaMonitorManager *manager,
if (!calculate_viewport_matrix (manager, logical_monitor, viewport)) if (!calculate_viewport_matrix (manager, logical_monitor, viewport))
return FALSE; return FALSE;
/* Get transform corrected for LCD panel-orientation. */
transform = logical_monitor->transform; transform = logical_monitor->transform;
transform = meta_monitor_logical_to_crtc_transform (monitor, transform);
multiply_matrix (viewport, transform_matrices[transform], multiply_matrix (viewport, transform_matrices[transform],
matrix); matrix);
return TRUE; return TRUE;

View File

@@ -34,7 +34,7 @@
#define MINIMUM_SCALE_FACTOR 1.0f #define MINIMUM_SCALE_FACTOR 1.0f
#define MAXIMUM_SCALE_FACTOR 4.0f #define MAXIMUM_SCALE_FACTOR 4.0f
#define MINIMUM_LOGICAL_WIDTH 800 #define MINIMUM_LOGICAL_WIDTH 800
#define MINIMUM_LOGICAL_HEIGHT 600 #define MINIMUM_LOGICAL_HEIGHT 480
#define MAXIMUM_REFRESH_RATE_DIFF 0.001 #define MAXIMUM_REFRESH_RATE_DIFF 0.001
typedef struct _MetaMonitorMode typedef struct _MetaMonitorMode
@@ -354,6 +354,37 @@ meta_monitor_get_connector_type (MetaMonitor *monitor)
return output->connector_type; return output->connector_type;
} }
MetaMonitorTransform
meta_monitor_logical_to_crtc_transform (MetaMonitor *monitor,
MetaMonitorTransform transform)
{
MetaOutput *output = meta_monitor_get_main_output (monitor);
MetaMonitorTransform new_transform;
new_transform = (transform + output->panel_orientation_transform) %
META_MONITOR_TRANSFORM_FLIPPED;
if (meta_monitor_transform_is_flipped (transform))
new_transform += META_MONITOR_TRANSFORM_FLIPPED;
return new_transform;
}
MetaMonitorTransform
meta_monitor_crtc_to_logical_transform (MetaMonitor *monitor,
MetaMonitorTransform transform)
{
MetaOutput *output = meta_monitor_get_main_output (monitor);
MetaMonitorTransform new_transform;
new_transform = (transform + META_MONITOR_TRANSFORM_FLIPPED -
output->panel_orientation_transform) %
META_MONITOR_TRANSFORM_FLIPPED;
if (meta_monitor_transform_is_flipped (transform))
new_transform += META_MONITOR_TRANSFORM_FLIPPED;
return new_transform;
}
static void static void
meta_monitor_finalize (GObject *object) meta_monitor_finalize (GObject *object)
{ {
@@ -423,6 +454,29 @@ meta_monitor_add_mode (MetaMonitor *monitor,
return TRUE; return TRUE;
} }
static MetaMonitorModeSpec
meta_monitor_create_spec (MetaMonitor *monitor,
int width,
int height,
MetaCrtcMode *crtc_mode)
{
MetaOutput *output = meta_monitor_get_main_output (monitor);
if (meta_monitor_transform_is_rotated (output->panel_orientation_transform))
{
int temp = width;
width = height;
height = temp;
}
return (MetaMonitorModeSpec) {
.width = width,
.height = height,
.refresh_rate = crtc_mode->refresh_rate,
.flags = crtc_mode->flags & HANDLED_CRTC_MODE_FLAGS
};
}
static void static void
meta_monitor_normal_generate_modes (MetaMonitorNormal *monitor_normal) meta_monitor_normal_generate_modes (MetaMonitorNormal *monitor_normal)
{ {
@@ -443,12 +497,10 @@ meta_monitor_normal_generate_modes (MetaMonitorNormal *monitor_normal)
gboolean replace; gboolean replace;
mode = g_new0 (MetaMonitorMode, 1); mode = g_new0 (MetaMonitorMode, 1);
mode->spec = (MetaMonitorModeSpec) { mode->spec = meta_monitor_create_spec (monitor,
.width = crtc_mode->width, crtc_mode->width,
.height = crtc_mode->height, crtc_mode->height,
.refresh_rate = crtc_mode->refresh_rate, crtc_mode);
.flags = crtc_mode->flags & HANDLED_CRTC_MODE_FLAGS
},
mode->id = generate_mode_id (&mode->spec); mode->id = generate_mode_id (&mode->spec);
mode->crtc_modes = g_new (MetaMonitorCrtcMode, 1); mode->crtc_modes = g_new (MetaMonitorCrtcMode, 1);
mode->crtc_modes[0] = (MetaMonitorCrtcMode) { mode->crtc_modes[0] = (MetaMonitorCrtcMode) {
@@ -780,12 +832,8 @@ create_tiled_monitor_mode (MetaMonitorTiled *monitor_tiled,
mode->is_tiled = TRUE; mode->is_tiled = TRUE;
meta_monitor_tiled_calculate_tiled_size (monitor, &width, &height); meta_monitor_tiled_calculate_tiled_size (monitor, &width, &height);
mode->parent.spec = (MetaMonitorModeSpec) { mode->parent.spec =
.width = width, meta_monitor_create_spec (monitor, width, height, reference_crtc_mode);
.height = height,
.refresh_rate = reference_crtc_mode->refresh_rate,
.flags = reference_crtc_mode->flags & HANDLED_CRTC_MODE_FLAGS
};
mode->parent.id = generate_mode_id (&mode->parent.spec); mode->parent.id = generate_mode_id (&mode->parent.spec);
mode->parent.crtc_modes = g_new0 (MetaMonitorCrtcMode, mode->parent.crtc_modes = g_new0 (MetaMonitorCrtcMode,
@@ -895,12 +943,10 @@ create_untiled_monitor_mode (MetaMonitorTiled *monitor_tiled,
mode = g_new0 (MetaMonitorModeTiled, 1); mode = g_new0 (MetaMonitorModeTiled, 1);
mode->is_tiled = FALSE; mode->is_tiled = FALSE;
mode->parent.spec = (MetaMonitorModeSpec) { mode->parent.spec = meta_monitor_create_spec (monitor,
.width = crtc_mode->width, crtc_mode->width,
.height = crtc_mode->height, crtc_mode->height,
.refresh_rate = crtc_mode->refresh_rate, crtc_mode);
.flags = crtc_mode->flags & HANDLED_CRTC_MODE_FLAGS
};
mode->parent.id = generate_mode_id (&mode->parent.spec); mode->parent.id = generate_mode_id (&mode->parent.spec);
mode->parent.crtc_modes = g_new0 (MetaMonitorCrtcMode, mode->parent.crtc_modes = g_new0 (MetaMonitorCrtcMode,
g_list_length (monitor_priv->outputs)); g_list_length (monitor_priv->outputs));
@@ -1156,8 +1202,8 @@ meta_monitor_tiled_get_main_output (MetaMonitor *monitor)
} }
static void static void
meta_monitor_derived_derive_layout (MetaMonitor *monitor, meta_monitor_tiled_derive_layout (MetaMonitor *monitor,
MetaRectangle *layout) MetaRectangle *layout)
{ {
MetaMonitorPrivate *monitor_priv = MetaMonitorPrivate *monitor_priv =
meta_monitor_get_instance_private (monitor); meta_monitor_get_instance_private (monitor);
@@ -1248,7 +1294,7 @@ meta_monitor_tiled_class_init (MetaMonitorTiledClass *klass)
object_class->finalize = meta_monitor_tiled_finalize; object_class->finalize = meta_monitor_tiled_finalize;
monitor_class->get_main_output = meta_monitor_tiled_get_main_output; monitor_class->get_main_output = meta_monitor_tiled_get_main_output;
monitor_class->derive_layout = meta_monitor_derived_derive_layout; monitor_class->derive_layout = meta_monitor_tiled_derive_layout;
monitor_class->calculate_crtc_pos = meta_monitor_tiled_calculate_crtc_pos; monitor_class->calculate_crtc_pos = meta_monitor_tiled_calculate_crtc_pos;
monitor_class->get_suggested_position = meta_monitor_tiled_get_suggested_position; monitor_class->get_suggested_position = meta_monitor_tiled_get_suggested_position;
} }

View File

@@ -145,6 +145,16 @@ const char * meta_monitor_get_serial (MetaMonitor *monitor);
MetaConnectorType meta_monitor_get_connector_type (MetaMonitor *monitor); MetaConnectorType meta_monitor_get_connector_type (MetaMonitor *monitor);
/* This function returns the transform corrected for the panel orientation */
MetaMonitorTransform meta_monitor_logical_to_crtc_transform (MetaMonitor *monitor,
MetaMonitorTransform transform);
/*
* This function converts a transform corrected for the panel orientation
* to its logical (user-visible) transform.
*/
MetaMonitorTransform meta_monitor_crtc_to_logical_transform (MetaMonitor *monitor,
MetaMonitorTransform transform);
uint32_t meta_monitor_tiled_get_tile_group_id (MetaMonitorTiled *monitor_tiled); uint32_t meta_monitor_tiled_get_tile_group_id (MetaMonitorTiled *monitor_tiled);
gboolean meta_monitor_get_suggested_position (MetaMonitor *monitor, gboolean meta_monitor_get_suggested_position (MetaMonitor *monitor,

View File

@@ -78,6 +78,7 @@ struct _MetaOutput
CoglSubpixelOrder subpixel_order; CoglSubpixelOrder subpixel_order;
MetaConnectorType connector_type; MetaConnectorType connector_type;
MetaMonitorTransform panel_orientation_transform;
MetaCrtcMode *preferred_mode; MetaCrtcMode *preferred_mode;
MetaCrtcMode **modes; MetaCrtcMode **modes;

View File

@@ -26,6 +26,7 @@
#include <linux/input.h> #include <linux/input.h>
#include <xkbcommon/xkbcommon.h> #include <xkbcommon/xkbcommon.h>
#include <stdlib.h>
#include "backends/meta-dbus-session-watcher.h" #include "backends/meta-dbus-session-watcher.h"
#include "backends/meta-screen-cast-session.h" #include "backends/meta-screen-cast-session.h"
@@ -38,6 +39,11 @@
#define META_REMOTE_DESKTOP_SESSION_DBUS_PATH "/org/gnome/Mutter/RemoteDesktop/Session" #define META_REMOTE_DESKTOP_SESSION_DBUS_PATH "/org/gnome/Mutter/RemoteDesktop/Session"
enum _MetaRemoteDesktopNotifyAxisFlags
{
META_REMOTE_DESKTOP_NOTIFY_AXIS_FLAGS_FINISH = 1 << 0,
} MetaRemoteDesktopNotifyAxisFlags;
struct _MetaRemoteDesktopSession struct _MetaRemoteDesktopSession
{ {
MetaDBusRemoteDesktopSessionSkeleton parent; MetaDBusRemoteDesktopSessionSkeleton parent;
@@ -52,6 +58,7 @@ struct _MetaRemoteDesktopSession
ClutterVirtualInputDevice *virtual_pointer; ClutterVirtualInputDevice *virtual_pointer;
ClutterVirtualInputDevice *virtual_keyboard; ClutterVirtualInputDevice *virtual_keyboard;
ClutterVirtualInputDevice *virtual_touchscreen;
}; };
static void static void
@@ -96,6 +103,10 @@ meta_remote_desktop_session_start (MetaRemoteDesktopSession *session,
clutter_device_manager_create_virtual_device (device_manager, clutter_device_manager_create_virtual_device (device_manager,
CLUTTER_KEYBOARD_DEVICE); CLUTTER_KEYBOARD_DEVICE);
session->virtual_touchscreen =
clutter_device_manager_create_virtual_device (device_manager,
CLUTTER_TOUCHSCREEN_DEVICE);
return TRUE; return TRUE;
} }
@@ -254,6 +265,38 @@ handle_stop (MetaDBusRemoteDesktopSession *skeleton,
return TRUE; return TRUE;
} }
static gboolean
handle_notify_keyboard_keycode (MetaDBusRemoteDesktopSession *skeleton,
GDBusMethodInvocation *invocation,
unsigned int keycode,
gboolean pressed)
{
MetaRemoteDesktopSession *session = META_REMOTE_DESKTOP_SESSION (skeleton);
ClutterKeyState state;
if (!check_permission (session, invocation))
{
g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR,
G_DBUS_ERROR_ACCESS_DENIED,
"Permission denied");
return TRUE;
}
if (pressed)
state = CLUTTER_KEY_STATE_PRESSED;
else
state = CLUTTER_KEY_STATE_RELEASED;
clutter_virtual_input_device_notify_key (session->virtual_keyboard,
CLUTTER_CURRENT_TIME,
keycode,
state);
meta_dbus_remote_desktop_session_complete_notify_keyboard_keycode (skeleton,
invocation);
return TRUE;
}
static gboolean static gboolean
handle_notify_keyboard_keysym (MetaDBusRemoteDesktopSession *skeleton, handle_notify_keyboard_keysym (MetaDBusRemoteDesktopSession *skeleton,
GDBusMethodInvocation *invocation, GDBusMethodInvocation *invocation,
@@ -343,6 +386,42 @@ handle_notify_pointer_button (MetaDBusRemoteDesktopSession *skeleton,
return TRUE; return TRUE;
} }
static gboolean
handle_notify_pointer_axis (MetaDBusRemoteDesktopSession *skeleton,
GDBusMethodInvocation *invocation,
double dx,
double dy,
uint32_t flags)
{
MetaRemoteDesktopSession *session = META_REMOTE_DESKTOP_SESSION (skeleton);
ClutterScrollFinishFlags finish_flags = CLUTTER_SCROLL_FINISHED_NONE;
if (!check_permission (session, invocation))
{
g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR,
G_DBUS_ERROR_ACCESS_DENIED,
"Permission denied");
return TRUE;
}
if (flags & META_REMOTE_DESKTOP_NOTIFY_AXIS_FLAGS_FINISH)
{
finish_flags |= (CLUTTER_SCROLL_FINISHED_HORIZONTAL |
CLUTTER_SCROLL_FINISHED_VERTICAL);
}
clutter_virtual_input_device_notify_scroll_continuous (session->virtual_pointer,
CLUTTER_CURRENT_TIME,
dx, dy,
CLUTTER_SCROLL_SOURCE_FINGER,
finish_flags);
meta_dbus_remote_desktop_session_complete_notify_pointer_axis (skeleton,
invocation);
return TRUE;
}
static ClutterScrollDirection static ClutterScrollDirection
discrete_steps_to_scroll_direction (unsigned int axis, discrete_steps_to_scroll_direction (unsigned int axis,
int steps) int steps)
@@ -367,6 +446,7 @@ handle_notify_pointer_axis_discrete (MetaDBusRemoteDesktopSession *skeleton,
{ {
MetaRemoteDesktopSession *session = META_REMOTE_DESKTOP_SESSION (skeleton); MetaRemoteDesktopSession *session = META_REMOTE_DESKTOP_SESSION (skeleton);
ClutterScrollDirection direction; ClutterScrollDirection direction;
int step_count;
if (!check_permission (session, invocation)) if (!check_permission (session, invocation))
{ {
@@ -376,7 +456,7 @@ handle_notify_pointer_axis_discrete (MetaDBusRemoteDesktopSession *skeleton,
return TRUE; return TRUE;
} }
if (axis <= 1) if (axis > 1)
{ {
g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR,
G_DBUS_ERROR_FAILED, G_DBUS_ERROR_FAILED,
@@ -392,19 +472,18 @@ handle_notify_pointer_axis_discrete (MetaDBusRemoteDesktopSession *skeleton,
return TRUE; return TRUE;
} }
if (steps != -1 || steps != 1)
g_warning ("Multiple steps at at once not yet implemented, treating as one.");
/* /*
* We don't have the actual scroll source, but only know they should be * We don't have the actual scroll source, but only know they should be
* considered as discrete steps. The device that produces such scroll events * considered as discrete steps. The device that produces such scroll events
* is the scroll wheel, so pretend that is the scroll source. * is the scroll wheel, so pretend that is the scroll source.
*/ */
direction = discrete_steps_to_scroll_direction (axis, steps); direction = discrete_steps_to_scroll_direction (axis, steps);
clutter_virtual_input_device_notify_discrete_scroll (session->virtual_pointer,
CLUTTER_CURRENT_TIME, for (step_count = 0; step_count < abs (steps); step_count++)
direction, clutter_virtual_input_device_notify_discrete_scroll (session->virtual_pointer,
CLUTTER_SCROLL_SOURCE_WHEEL); CLUTTER_CURRENT_TIME,
direction,
CLUTTER_SCROLL_SOURCE_WHEEL);
meta_dbus_remote_desktop_session_complete_notify_pointer_axis_discrete (skeleton, meta_dbus_remote_desktop_session_complete_notify_pointer_axis_discrete (skeleton,
invocation); invocation);
@@ -412,6 +491,32 @@ handle_notify_pointer_axis_discrete (MetaDBusRemoteDesktopSession *skeleton,
return TRUE; return TRUE;
} }
static gboolean
handle_notify_pointer_motion_relative (MetaDBusRemoteDesktopSession *skeleton,
GDBusMethodInvocation *invocation,
double dx,
double dy)
{
MetaRemoteDesktopSession *session = META_REMOTE_DESKTOP_SESSION (skeleton);
if (!check_permission (session, invocation))
{
g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR,
G_DBUS_ERROR_ACCESS_DENIED,
"Permission denied");
return TRUE;
}
clutter_virtual_input_device_notify_relative_motion (session->virtual_pointer,
CLUTTER_CURRENT_TIME,
dx, dy);
meta_dbus_remote_desktop_session_complete_notify_pointer_motion_relative (skeleton,
invocation);
return TRUE;
}
static gboolean static gboolean
handle_notify_pointer_motion_absolute (MetaDBusRemoteDesktopSession *skeleton, handle_notify_pointer_motion_absolute (MetaDBusRemoteDesktopSession *skeleton,
GDBusMethodInvocation *invocation, GDBusMethodInvocation *invocation,
@@ -420,6 +525,8 @@ handle_notify_pointer_motion_absolute (MetaDBusRemoteDesktopSession *skeleton,
double y) double y)
{ {
MetaRemoteDesktopSession *session = META_REMOTE_DESKTOP_SESSION (skeleton); MetaRemoteDesktopSession *session = META_REMOTE_DESKTOP_SESSION (skeleton);
MetaScreenCastStream *stream;
double abs_x, abs_y;
if (!check_permission (session, invocation)) if (!check_permission (session, invocation))
{ {
@@ -429,9 +536,29 @@ handle_notify_pointer_motion_absolute (MetaDBusRemoteDesktopSession *skeleton,
return TRUE; return TRUE;
} }
if (!session->screen_cast_session)
{
g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR,
G_DBUS_ERROR_FAILED,
"No screen cast active");
return TRUE;
}
stream = meta_screen_cast_session_get_stream (session->screen_cast_session,
stream_path);
if (!stream)
{
g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR,
G_DBUS_ERROR_FAILED,
"Unknown stream");
return TRUE;
}
meta_screen_cast_stream_transform_position (stream, x, y, &abs_x, &abs_y);
clutter_virtual_input_device_notify_absolute_motion (session->virtual_pointer, clutter_virtual_input_device_notify_absolute_motion (session->virtual_pointer,
CLUTTER_CURRENT_TIME, CLUTTER_CURRENT_TIME,
x, y); abs_x, abs_y);
meta_dbus_remote_desktop_session_complete_notify_pointer_motion_absolute (skeleton, meta_dbus_remote_desktop_session_complete_notify_pointer_motion_absolute (skeleton,
invocation); invocation);
@@ -439,15 +566,148 @@ handle_notify_pointer_motion_absolute (MetaDBusRemoteDesktopSession *skeleton,
return TRUE; return TRUE;
} }
static gboolean
handle_notify_touch_down (MetaDBusRemoteDesktopSession *skeleton,
GDBusMethodInvocation *invocation,
const char *stream_path,
unsigned int slot,
double x,
double y)
{
MetaRemoteDesktopSession *session = META_REMOTE_DESKTOP_SESSION (skeleton);
MetaScreenCastStream *stream;
double abs_x, abs_y;
if (!check_permission (session, invocation))
{
g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR,
G_DBUS_ERROR_ACCESS_DENIED,
"Permission denied");
return TRUE;
}
if (!session->screen_cast_session)
{
g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR,
G_DBUS_ERROR_FAILED,
"No screen cast active");
return TRUE;
}
stream = meta_screen_cast_session_get_stream (session->screen_cast_session,
stream_path);
if (!stream)
{
g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR,
G_DBUS_ERROR_FAILED,
"Unknown stream");
return TRUE;
}
meta_screen_cast_stream_transform_position (stream, x, y, &abs_x, &abs_y);
clutter_virtual_input_device_notify_touch_down (session->virtual_touchscreen,
CLUTTER_CURRENT_TIME,
slot,
abs_x, abs_y);
meta_dbus_remote_desktop_session_complete_notify_touch_down (skeleton,
invocation);
return TRUE;
}
static gboolean
handle_notify_touch_motion (MetaDBusRemoteDesktopSession *skeleton,
GDBusMethodInvocation *invocation,
const char *stream_path,
unsigned int slot,
double x,
double y)
{
MetaRemoteDesktopSession *session = META_REMOTE_DESKTOP_SESSION (skeleton);
MetaScreenCastStream *stream;
double abs_x, abs_y;
if (!check_permission (session, invocation))
{
g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR,
G_DBUS_ERROR_ACCESS_DENIED,
"Permission denied");
return TRUE;
}
if (!session->screen_cast_session)
{
g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR,
G_DBUS_ERROR_FAILED,
"No screen cast active");
return TRUE;
}
stream = meta_screen_cast_session_get_stream (session->screen_cast_session,
stream_path);
if (!stream)
{
g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR,
G_DBUS_ERROR_FAILED,
"Unknown stream");
return TRUE;
}
meta_screen_cast_stream_transform_position (stream, x, y, &abs_x, &abs_y);
clutter_virtual_input_device_notify_touch_motion (session->virtual_touchscreen,
CLUTTER_CURRENT_TIME,
slot,
abs_x, abs_y);
meta_dbus_remote_desktop_session_complete_notify_touch_motion (skeleton,
invocation);
return TRUE;
}
static gboolean
handle_notify_touch_up (MetaDBusRemoteDesktopSession *skeleton,
GDBusMethodInvocation *invocation,
unsigned int slot)
{
MetaRemoteDesktopSession *session = META_REMOTE_DESKTOP_SESSION (skeleton);
if (!check_permission (session, invocation))
{
g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR,
G_DBUS_ERROR_ACCESS_DENIED,
"Permission denied");
return TRUE;
}
clutter_virtual_input_device_notify_touch_up (session->virtual_touchscreen,
CLUTTER_CURRENT_TIME,
slot);
meta_dbus_remote_desktop_session_complete_notify_touch_up (skeleton,
invocation);
return TRUE;
}
static void static void
meta_remote_desktop_session_init_iface (MetaDBusRemoteDesktopSessionIface *iface) meta_remote_desktop_session_init_iface (MetaDBusRemoteDesktopSessionIface *iface)
{ {
iface->handle_start = handle_start; iface->handle_start = handle_start;
iface->handle_stop = handle_stop; iface->handle_stop = handle_stop;
iface->handle_notify_keyboard_keycode = handle_notify_keyboard_keycode;
iface->handle_notify_keyboard_keysym = handle_notify_keyboard_keysym; iface->handle_notify_keyboard_keysym = handle_notify_keyboard_keysym;
iface->handle_notify_pointer_button = handle_notify_pointer_button; iface->handle_notify_pointer_button = handle_notify_pointer_button;
iface->handle_notify_pointer_axis = handle_notify_pointer_axis;
iface->handle_notify_pointer_axis_discrete = handle_notify_pointer_axis_discrete; iface->handle_notify_pointer_axis_discrete = handle_notify_pointer_axis_discrete;
iface->handle_notify_pointer_motion_relative = handle_notify_pointer_motion_relative;
iface->handle_notify_pointer_motion_absolute = handle_notify_pointer_motion_absolute; iface->handle_notify_pointer_motion_absolute = handle_notify_pointer_motion_absolute;
iface->handle_notify_touch_down = handle_notify_touch_down;
iface->handle_notify_touch_motion = handle_notify_touch_motion;
iface->handle_notify_touch_up = handle_notify_touch_up;
} }
static void static void

View File

@@ -42,6 +42,15 @@
#define META_REMOTE_DESKTOP_DBUS_SERVICE "org.gnome.Mutter.RemoteDesktop" #define META_REMOTE_DESKTOP_DBUS_SERVICE "org.gnome.Mutter.RemoteDesktop"
#define META_REMOTE_DESKTOP_DBUS_PATH "/org/gnome/Mutter/RemoteDesktop" #define META_REMOTE_DESKTOP_DBUS_PATH "/org/gnome/Mutter/RemoteDesktop"
#define META_REMOTE_DESKTOP_API_VERSION 1
typedef enum _MetaRemoteDesktopDeviceTypes
{
META_REMOTE_DESKTOP_DEVICE_TYPE_NONE = 0,
META_REMOTE_DESKTOP_DEVICE_TYPE_KEYBOARD = 1 << 0,
META_REMOTE_DESKTOP_DEVICE_TYPE_POINTER = 1 << 1,
META_REMOTE_DESKTOP_DEVICE_TYPE_TOUCHSCREEN = 1 << 2,
} MetaRemoteDesktopDeviceTypes;
struct _MetaRemoteDesktop struct _MetaRemoteDesktop
{ {
@@ -224,10 +233,39 @@ meta_remote_desktop_new (MetaDbusSessionWatcher *session_watcher)
return remote_desktop; return remote_desktop;
} }
static MetaRemoteDesktopDeviceTypes
calculate_supported_device_types (void)
{
ClutterDeviceManager *device_manager =
clutter_device_manager_get_default ();
ClutterVirtualDeviceType device_types;
MetaRemoteDesktopDeviceTypes supported_devices =
META_REMOTE_DESKTOP_DEVICE_TYPE_NONE;
device_types =
clutter_device_manager_get_supported_virtual_device_types (device_manager);
if (device_types & CLUTTER_VIRTUAL_DEVICE_TYPE_KEYBOARD)
supported_devices |= META_REMOTE_DESKTOP_DEVICE_TYPE_KEYBOARD;
if (device_types & CLUTTER_VIRTUAL_DEVICE_TYPE_POINTER)
supported_devices |= META_REMOTE_DESKTOP_DEVICE_TYPE_POINTER;
if (device_types & CLUTTER_VIRTUAL_DEVICE_TYPE_TOUCHSCREEN)
supported_devices |= META_REMOTE_DESKTOP_DEVICE_TYPE_TOUCHSCREEN;
return supported_devices;
}
static void static void
meta_remote_desktop_init (MetaRemoteDesktop *remote_desktop) meta_remote_desktop_init (MetaRemoteDesktop *remote_desktop)
{ {
remote_desktop->sessions = g_hash_table_new (g_str_hash, g_str_equal); remote_desktop->sessions = g_hash_table_new (g_str_hash, g_str_equal);
meta_dbus_remote_desktop_set_supported_device_types (
META_DBUS_REMOTE_DESKTOP (remote_desktop),
calculate_supported_device_types ());
meta_dbus_remote_desktop_set_version (
META_DBUS_REMOTE_DESKTOP (remote_desktop),
META_REMOTE_DESKTOP_API_VERSION);
} }
static void static void

View File

@@ -176,6 +176,24 @@ meta_screen_cast_monitor_stream_set_parameters (MetaScreenCastStream *stream,
logical_monitor_layout.height)); logical_monitor_layout.height));
} }
static void
meta_screen_cast_monitor_stream_transform_position (MetaScreenCastStream *stream,
double stream_x,
double stream_y,
double *x,
double *y)
{
MetaScreenCastMonitorStream *monitor_stream =
META_SCREEN_CAST_MONITOR_STREAM (stream);
MetaRectangle logical_monitor_layout;
logical_monitor_layout =
meta_logical_monitor_get_layout (monitor_stream->logical_monitor);
*x = logical_monitor_layout.x + stream_x;
*y = logical_monitor_layout.y + stream_y;
}
static void static void
meta_screen_cast_monitor_stream_set_property (GObject *object, meta_screen_cast_monitor_stream_set_property (GObject *object,
guint prop_id, guint prop_id,
@@ -247,6 +265,7 @@ meta_screen_cast_monitor_stream_class_init (MetaScreenCastMonitorStreamClass *kl
stream_class->create_src = meta_screen_cast_monitor_stream_create_src; stream_class->create_src = meta_screen_cast_monitor_stream_create_src;
stream_class->set_parameters = meta_screen_cast_monitor_stream_set_parameters; stream_class->set_parameters = meta_screen_cast_monitor_stream_set_parameters;
stream_class->transform_position = meta_screen_cast_monitor_stream_transform_position;
g_object_class_install_property (object_class, g_object_class_install_property (object_class,
PROP_MONITOR, PROP_MONITOR,

View File

@@ -97,6 +97,24 @@ meta_screen_cast_session_close (MetaScreenCastSession *session)
g_object_unref (session); g_object_unref (session);
} }
MetaScreenCastStream *
meta_screen_cast_session_get_stream (MetaScreenCastSession *session,
const char *path)
{
GList *l;
for (l = session->streams; l; l = l->next)
{
MetaScreenCastStream *stream = l->data;
if (g_strcmp0 (meta_screen_cast_stream_get_object_path (stream),
path) == 0)
return stream;
}
return NULL;
}
char * char *
meta_screen_cast_session_get_object_path (MetaScreenCastSession *session) meta_screen_cast_session_get_object_path (MetaScreenCastSession *session)
{ {

View File

@@ -25,6 +25,8 @@
#include "backends/meta-screen-cast.h" #include "backends/meta-screen-cast.h"
#include "backends/meta-screen-cast-stream.h"
typedef enum _MetaScreenCastSessionType typedef enum _MetaScreenCastSessionType
{ {
META_SCREEN_CAST_SESSION_TYPE_NORMAL, META_SCREEN_CAST_SESSION_TYPE_NORMAL,
@@ -48,4 +50,7 @@ gboolean meta_screen_cast_session_start (MetaScreenCastSession *session,
void meta_screen_cast_session_close (MetaScreenCastSession *session); void meta_screen_cast_session_close (MetaScreenCastSession *session);
MetaScreenCastStream * meta_screen_cast_session_get_stream (MetaScreenCastSession *session,
const char *path);
#endif /* META_SCREEN_CAST_SESSION_H */ #endif /* META_SCREEN_CAST_SESSION_H */

View File

@@ -26,11 +26,9 @@
#include <errno.h> #include <errno.h>
#include <pipewire/pipewire.h> #include <pipewire/pipewire.h>
#include <spa/format-builder.h> #include <spa/param/props.h>
#include <spa/format-utils.h> #include <spa/param/format-utils.h>
#include <spa/props.h> #include <spa/param/video/format-utils.h>
#include <spa/type-map.h>
#include <spa/video/format-utils.h>
#include <stdint.h> #include <stdint.h>
#include <sys/mman.h> #include <sys/mman.h>
@@ -61,10 +59,6 @@ static guint signals[N_SIGNALS];
typedef struct _MetaSpaType typedef struct _MetaSpaType
{ {
uint32_t format;
uint32_t props;
struct spa_type_meta meta;
struct spa_type_data data;
struct spa_type_media_type media_type; struct spa_type_media_type media_type;
struct spa_type_media_subtype media_subtype; struct spa_type_media_subtype media_subtype;
struct spa_type_format_video format_video; struct spa_type_format_video format_video;
@@ -94,7 +88,6 @@ typedef struct _MetaScreenCastStreamSrcPrivate
struct spa_hook pipewire_stream_listener; struct spa_hook pipewire_stream_listener;
MetaSpaType spa_type; MetaSpaType spa_type;
uint8_t params_buffer[1024];
struct spa_video_info_raw video_format; struct spa_video_info_raw video_format;
uint64_t last_frame_timestamp_us; uint64_t last_frame_timestamp_us;
@@ -110,12 +103,7 @@ G_DEFINE_TYPE_WITH_CODE (MetaScreenCastStreamSrc,
meta_screen_cast_stream_src_init_initable_iface) meta_screen_cast_stream_src_init_initable_iface)
G_ADD_PRIVATE (MetaScreenCastStreamSrc)) G_ADD_PRIVATE (MetaScreenCastStreamSrc))
#define PROP(f, key, type, ...) \ #define PROP_RANGE(min, max) 2, (min), (max)
SPA_POD_PROP (f, key, 0, type, 1, __VA_ARGS__)
#define PROP_U_MM(f, key, type, ...) \
SPA_POD_PROP (f, key, (SPA_POD_PROP_FLAG_UNSET | \
SPA_POD_PROP_RANGE_MIN_MAX), \
type, 3, __VA_ARGS__)
static void static void
meta_screen_cast_stream_src_get_specs (MetaScreenCastStreamSrc *src, meta_screen_cast_stream_src_get_specs (MetaScreenCastStreamSrc *src,
@@ -166,7 +154,7 @@ meta_screen_cast_stream_src_maybe_record_frame (MetaScreenCastStreamSrc *src)
buffer = pw_stream_peek_buffer (priv->pipewire_stream, buffer_id); buffer = pw_stream_peek_buffer (priv->pipewire_stream, buffer_id);
if (buffer->datas[0].type == priv->spa_type.data.MemFd) if (buffer->datas[0].type == priv->pipewire_type->data.MemFd)
{ {
map = mmap (NULL, buffer->datas[0].maxsize + buffer->datas[0].mapoffset, map = mmap (NULL, buffer->datas[0].maxsize + buffer->datas[0].mapoffset,
PROT_READ | PROT_WRITE, MAP_SHARED, PROT_READ | PROT_WRITE, MAP_SHARED,
@@ -180,7 +168,7 @@ meta_screen_cast_stream_src_maybe_record_frame (MetaScreenCastStreamSrc *src)
data = SPA_MEMBER (map, buffer->datas[0].mapoffset, uint8_t); data = SPA_MEMBER (map, buffer->datas[0].mapoffset, uint8_t);
} }
else if (buffer->datas[0].type == priv->spa_type.data.MemPtr) else if (buffer->datas[0].type == priv->pipewire_type->data.MemPtr)
{ {
data = buffer->datas[0].data; data = buffer->datas[0].data;
} }
@@ -195,6 +183,8 @@ meta_screen_cast_stream_src_maybe_record_frame (MetaScreenCastStreamSrc *src)
if (map) if (map)
munmap (map, buffer->datas[0].maxsize + buffer->datas[0].mapoffset); munmap (map, buffer->datas[0].maxsize + buffer->datas[0].mapoffset);
buffer->datas[0].chunk->size = buffer->datas[0].maxsize;
pw_stream_send_buffer (priv->pipewire_stream, buffer_id); pw_stream_send_buffer (priv->pipewire_stream, buffer_id);
} }
@@ -271,23 +261,22 @@ on_stream_state_changed (void *data,
} }
static void static void
on_stream_format_changed (void *data, on_stream_format_changed (void *data,
struct spa_format *format) struct spa_pod *format)
{ {
MetaScreenCastStreamSrc *src = data; MetaScreenCastStreamSrc *src = data;
MetaScreenCastStreamSrcPrivate *priv = MetaScreenCastStreamSrcPrivate *priv =
meta_screen_cast_stream_src_get_instance_private (src); meta_screen_cast_stream_src_get_instance_private (src);
struct pw_type *pipewire_type = priv->pipewire_type; struct pw_type *pipewire_type = priv->pipewire_type;
struct spa_type_param_alloc_buffers *param_alloc_buffers; uint8_t params_buffer[1024];
struct spa_pod_builder pod_builder = { NULL }; int32_t width, height, stride, size;
struct spa_pod_frame object_frame; struct spa_pod_builder pod_builder;
struct spa_pod_frame prop_frame; struct spa_pod *params[1];
struct spa_param *params[1];
const int bpp = 4; const int bpp = 4;
if (!format) if (!format)
{ {
pw_stream_finish_format (priv->pipewire_stream, SPA_RESULT_OK, NULL, 0); pw_stream_finish_format (priv->pipewire_stream, 0, NULL, 0);
return; return;
} }
@@ -295,31 +284,22 @@ on_stream_format_changed (void *data,
&priv->video_format, &priv->video_format,
&priv->spa_type.format_video); &priv->spa_type.format_video);
spa_pod_builder_init (&pod_builder, width = priv->video_format.size.width;
priv->params_buffer, height = priv->video_format.size.height;
sizeof (priv->params_buffer)); stride = SPA_ROUND_UP_N (width * bpp, 4);
size = height * stride;
param_alloc_buffers = &pipewire_type->param_alloc_buffers; pod_builder = SPA_POD_BUILDER_INIT (params_buffer, sizeof (params_buffer));
spa_pod_builder_object (&pod_builder, &object_frame, 0,
param_alloc_buffers->Buffers,
PROP (&prop_frame, param_alloc_buffers->size,
SPA_POD_TYPE_INT,
(priv->video_format.size.width *
priv->video_format.size.height *
bpp)),
PROP (&prop_frame, param_alloc_buffers->stride,
SPA_POD_TYPE_INT,
priv->video_format.size.width * bpp),
PROP_U_MM (&prop_frame, param_alloc_buffers->buffers,
SPA_POD_TYPE_INT,
16, 2, 16),
PROP (&prop_frame, param_alloc_buffers->align,
SPA_POD_TYPE_INT,
16));
params[0] = SPA_POD_BUILDER_DEREF (&pod_builder, object_frame.ref,
struct spa_param);
pw_stream_finish_format (priv->pipewire_stream, SPA_RESULT_OK, params[0] = spa_pod_builder_object (
&pod_builder,
pipewire_type->param.idBuffers, pipewire_type->param_buffers.Buffers,
":", pipewire_type->param_buffers.size, "i", size,
":", pipewire_type->param_buffers.stride, "i", stride,
":", pipewire_type->param_buffers.buffers, "iru", 16, PROP_RANGE (2, 16),
":", pipewire_type->param_buffers.align, "i", 16);
pw_stream_finish_format (priv->pipewire_stream, 0,
params, G_N_ELEMENTS (params)); params, G_N_ELEMENTS (params));
} }
@@ -336,16 +316,17 @@ create_pipewire_stream (MetaScreenCastStreamSrc *src,
MetaScreenCastStreamSrcPrivate *priv = MetaScreenCastStreamSrcPrivate *priv =
meta_screen_cast_stream_src_get_instance_private (src); meta_screen_cast_stream_src_get_instance_private (src);
struct pw_stream *pipewire_stream; struct pw_stream *pipewire_stream;
const struct spa_format *format;
uint8_t buffer[1024]; uint8_t buffer[1024];
struct spa_pod_builder pod_builder = struct spa_pod_builder pod_builder =
SPA_POD_BUILDER_INIT (buffer, sizeof (buffer)); SPA_POD_BUILDER_INIT (buffer, sizeof (buffer));
struct spa_pod_frame format_frame;
struct spa_pod_frame prop_frame;
MetaSpaType *spa_type = &priv->spa_type; MetaSpaType *spa_type = &priv->spa_type;
struct pw_type *pipewire_type = priv->pipewire_type;
int width, height; int width, height;
float frame_rate; float frame_rate;
MetaFraction frame_rate_fraction; MetaFraction frame_rate_fraction;
struct spa_fraction max_framerate;
struct spa_fraction min_framerate;
const struct spa_pod *params[1];
pipewire_stream = pw_stream_new (priv->pipewire_remote, pipewire_stream = pw_stream_new (priv->pipewire_remote,
"meta-screen-cast-src", "meta-screen-cast-src",
@@ -354,42 +335,32 @@ create_pipewire_stream (MetaScreenCastStreamSrc *src,
meta_screen_cast_stream_src_get_specs (src, &width, &height, &frame_rate); meta_screen_cast_stream_src_get_specs (src, &width, &height, &frame_rate);
frame_rate_fraction = meta_fraction_from_double (frame_rate); frame_rate_fraction = meta_fraction_from_double (frame_rate);
spa_pod_builder_format (&pod_builder, &format_frame, min_framerate = SPA_FRACTION (1, 1);
spa_type->format, max_framerate = SPA_FRACTION (frame_rate_fraction.num,
spa_type->media_type.video, frame_rate_fraction.denom);
spa_type->media_subtype.raw,
PROP (&prop_frame, params[0] = spa_pod_builder_object (
spa_type->format_video.format, &pod_builder,
SPA_POD_TYPE_ID, spa_type->video_format.BGRx), pipewire_type->param.idEnumFormat, pipewire_type->spa_format,
PROP (&prop_frame, "I", spa_type->media_type.video,
spa_type->format_video.size, "I", spa_type->media_subtype.raw,
SPA_POD_TYPE_RECTANGLE, ":", spa_type->format_video.format, "I", spa_type->video_format.BGRx,
width, height), ":", spa_type->format_video.size, "R", &SPA_RECTANGLE (width, height),
PROP (&prop_frame, ":", spa_type->format_video.framerate, "F", &SPA_FRACTION (0, 1),
spa_type->format_video.framerate, ":", spa_type->format_video.max_framerate, "Fr", &max_framerate,
SPA_POD_TYPE_FRACTION, PROP_RANGE (&min_framerate,
0, 1), &max_framerate));
PROP_U_MM (&prop_frame,
spa_type->format_video.max_framerate,
SPA_POD_TYPE_FRACTION,
frame_rate_fraction.num,
frame_rate_fraction.denom,
1, 1,
frame_rate_fraction.num,
frame_rate_fraction.denom));
format = SPA_POD_BUILDER_DEREF (&pod_builder, format_frame.ref, struct spa_format);
pw_stream_add_listener (pipewire_stream, pw_stream_add_listener (pipewire_stream,
&priv->pipewire_stream_listener, &priv->pipewire_stream_listener,
&stream_events, &stream_events,
src); src);
if (!pw_stream_connect (pipewire_stream, if (pw_stream_connect (pipewire_stream,
PW_DIRECTION_OUTPUT, PW_DIRECTION_OUTPUT,
PW_STREAM_MODE_BUFFER, NULL,
NULL, PW_STREAM_FLAG_NONE,
PW_STREAM_FLAG_NONE, params, G_N_ELEMENTS (&params)) != 0)
1, &format))
{ {
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Could not connect"); "Could not connect");
@@ -453,10 +424,8 @@ pipewire_loop_source_dispatch (GSource *source,
int result; int result;
result = pw_loop_iterate (pipewire_source->pipewire_loop, 0); result = pw_loop_iterate (pipewire_source->pipewire_loop, 0);
if (result == SPA_RESULT_ERRNO) if (result < 0)
g_warning ("pipewire_loop_iterate failed: %s", strerror (errno)); g_warning ("pipewire_loop_iterate failed: %s", spa_strerror (result));
else if (result != SPA_RESULT_OK)
g_warning ("pipewire_loop_iterate failed: %d", result);
return TRUE; return TRUE;
} }
@@ -482,10 +451,6 @@ static void
init_spa_type (MetaSpaType *type, init_spa_type (MetaSpaType *type,
struct spa_type_map *map) struct spa_type_map *map)
{ {
type->format = spa_type_map_get_id (map, SPA_TYPE__Format);
type->props = spa_type_map_get_id (map, SPA_TYPE__Props);
spa_type_meta_map (map, &type->meta);
spa_type_data_map (map, &type->data);
spa_type_media_type_map (map, &type->media_type); spa_type_media_type_map (map, &type->media_type);
spa_type_media_subtype_map (map, &type->media_subtype); spa_type_media_subtype_map (map, &type->media_subtype);
spa_type_format_video_map (map, &type->format_video); spa_type_format_video_map (map, &type->format_video);
@@ -535,13 +500,7 @@ meta_screen_cast_stream_src_initable_init (GInitable *initable,
return FALSE; return FALSE;
} }
#if PIPEWIRE_VERSION_MICRO == 4
priv->pipewire_remote = pw_remote_new (priv->pipewire_core, NULL);
#elif PIPEWIRE_VERSION_MICRO >= 5
priv->pipewire_remote = pw_remote_new (priv->pipewire_core, NULL, 0); priv->pipewire_remote = pw_remote_new (priv->pipewire_core, NULL, 0);
#else
priv->pipewire_remote = NULL;
#endif
if (!priv->pipewire_remote) if (!priv->pipewire_remote)
{ {
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,

View File

@@ -136,6 +136,20 @@ meta_screen_cast_stream_get_object_path (MetaScreenCastStream *stream)
return priv->object_path; return priv->object_path;
} }
void
meta_screen_cast_stream_transform_position (MetaScreenCastStream *stream,
double stream_x,
double stream_y,
double *x,
double *y)
{
META_SCREEN_CAST_STREAM_GET_CLASS (stream)->transform_position (stream,
stream_x,
stream_y,
x,
y);
}
static void static void
meta_screen_cast_stream_set_property (GObject *object, meta_screen_cast_stream_set_property (GObject *object,
guint prop_id, guint prop_id,

View File

@@ -41,6 +41,11 @@ struct _MetaScreenCastStreamClass
GError **error); GError **error);
void (* set_parameters) (MetaScreenCastStream *stream, void (* set_parameters) (MetaScreenCastStream *stream,
GVariantBuilder *parameters_builder); GVariantBuilder *parameters_builder);
void (* transform_position) (MetaScreenCastStream *stream,
double stream_x,
double stream_y,
double *x,
double *y);
}; };
gboolean meta_screen_cast_stream_start (MetaScreenCastStream *stream, gboolean meta_screen_cast_stream_start (MetaScreenCastStream *stream,
@@ -50,4 +55,10 @@ void meta_screen_cast_stream_close (MetaScreenCastStream *stream);
char * meta_screen_cast_stream_get_object_path (MetaScreenCastStream *stream); char * meta_screen_cast_stream_get_object_path (MetaScreenCastStream *stream);
void meta_screen_cast_stream_transform_position (MetaScreenCastStream *stream,
double stream_x,
double stream_y,
double *x,
double *y);
#endif /* META_SCREEN_CAST_STREAM_H */ #endif /* META_SCREEN_CAST_STREAM_H */

View File

@@ -32,6 +32,7 @@
#define META_SCREEN_CAST_DBUS_SERVICE "org.gnome.Mutter.ScreenCast" #define META_SCREEN_CAST_DBUS_SERVICE "org.gnome.Mutter.ScreenCast"
#define META_SCREEN_CAST_DBUS_PATH "/org/gnome/Mutter/ScreenCast" #define META_SCREEN_CAST_DBUS_PATH "/org/gnome/Mutter/ScreenCast"
#define META_SCREEN_CAST_API_VERSION 1
struct _MetaScreenCast struct _MetaScreenCast
{ {
@@ -264,6 +265,9 @@ meta_screen_cast_init (MetaScreenCast *screen_cast)
pw_init (NULL, NULL); pw_init (NULL, NULL);
is_pipewire_initialized = TRUE; is_pipewire_initialized = TRUE;
} }
meta_dbus_screen_cast_set_version (META_DBUS_SCREEN_CAST (screen_cast),
META_SCREEN_CAST_API_VERSION);
} }
static void static void

View File

@@ -348,11 +348,13 @@ update_xwayland_grab_access_rules (MetaSettings *settings)
int i; int i;
/* Free previous patterns and create new arrays */ /* Free previous patterns and create new arrays */
g_ptr_array_free (settings->xwayland_grab_whitelist_patterns, TRUE); g_clear_pointer (&settings->xwayland_grab_whitelist_patterns,
g_ptr_array_unref);
settings->xwayland_grab_whitelist_patterns = settings->xwayland_grab_whitelist_patterns =
g_ptr_array_new_with_free_func ((GDestroyNotify) g_pattern_spec_free); g_ptr_array_new_with_free_func ((GDestroyNotify) g_pattern_spec_free);
g_ptr_array_free (settings->xwayland_grab_blacklist_patterns, TRUE); g_clear_pointer (&settings->xwayland_grab_blacklist_patterns,
g_ptr_array_unref);
settings->xwayland_grab_blacklist_patterns = settings->xwayland_grab_blacklist_patterns =
g_ptr_array_new_with_free_func ((GDestroyNotify) g_pattern_spec_free); g_ptr_array_new_with_free_func ((GDestroyNotify) g_pattern_spec_free);

View File

@@ -51,7 +51,7 @@ common_resolutions = [
output_lines = [ output_lines = [
"/* Generated by gen-default-modes.py */\n", "/* Generated by gen-default-modes.py */\n",
"static const drmModeModeInfo meta_default_drm_mode_infos[] = {", "static const drmModeModeInfo meta_default_landscape_drm_mode_infos[] = {",
] ]
def sync_flags(hsync, vsync): def sync_flags(hsync, vsync):
@@ -76,6 +76,21 @@ def drm_mode_info_from_modeline(line):
sync_flags(sline[11], sline[12]), sync_flags(sline[11], sline[12]),
sline[1]) sline[1])
def portrait_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, \"%dx%d_60.00\" }," % \
(int(float(sline[2]) * 1000),
int(sline[7]),
int(sline[8]),
int(sline[9]),
int(sline[10]),
int(sline[3]),
int(sline[4]),
int(sline[5]),
int(sline[6]),
sync_flags(sline[12], sline[11]),
int(sline[7]), int(sline[3]))
for resolution in common_resolutions: for resolution in common_resolutions:
cvt = os.popen("%s %s %s" % ('cvt', resolution[0], resolution[1])) cvt = os.popen("%s %s %s" % ('cvt', resolution[0], resolution[1]))
cvt.readline() # discard comment line cvt.readline() # discard comment line
@@ -84,6 +99,16 @@ for resolution in common_resolutions:
cvt.close() cvt.close()
output_lines.append("};") output_lines.append("};")
output_lines.append("")
output_lines.append("static const drmModeModeInfo meta_default_portrait_drm_mode_infos[] = {")
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(portrait_drm_mode_info_from_modeline(line))
cvt.close()
output_lines.append("};")
for line in output_lines: for line in output_lines:
sys.stdout.write(line + "\n") sys.stdout.write(line + "\n")
sys.stdout.flush() sys.stdout.flush()

View File

@@ -23,9 +23,14 @@
#include "backends/native/meta-crtc-kms.h" #include "backends/native/meta-crtc-kms.h"
#include <drm_fourcc.h>
#include <drm_mode.h>
#include "backends/meta-backend-private.h" #include "backends/meta-backend-private.h"
#include "backends/native/meta-gpu-kms.h" #include "backends/native/meta-gpu-kms.h"
#include <drm_fourcc.h>
#define ALL_TRANSFORMS (META_MONITOR_TRANSFORM_FLIPPED_270 + 1) #define ALL_TRANSFORMS (META_MONITOR_TRANSFORM_FLIPPED_270 + 1)
#define ALL_TRANSFORMS_MASK ((1 << ALL_TRANSFORMS) - 1) #define ALL_TRANSFORMS_MASK ((1 << ALL_TRANSFORMS) - 1)
@@ -36,9 +41,12 @@ typedef struct _MetaCrtcKms
uint32_t underscan_hborder_prop_id; uint32_t underscan_hborder_prop_id;
uint32_t underscan_vborder_prop_id; uint32_t underscan_vborder_prop_id;
uint32_t primary_plane_id; uint32_t primary_plane_id;
uint32_t formats_prop_id;
uint32_t rotation_prop_id; uint32_t rotation_prop_id;
uint32_t rotation_map[ALL_TRANSFORMS]; uint32_t rotation_map[ALL_TRANSFORMS];
uint32_t all_hw_transforms; uint32_t all_hw_transforms;
GArray *modifiers_xrgb8888;
} MetaCrtcKms; } MetaCrtcKms;
gboolean gboolean
@@ -168,6 +176,101 @@ find_property_index (MetaGpu *gpu,
return -1; return -1;
} }
GArray *
meta_crtc_kms_get_modifiers (MetaCrtc *crtc,
uint32_t format)
{
MetaCrtcKms *crtc_kms = crtc->driver_private;
if (format != DRM_FORMAT_XRGB8888)
return NULL;
return crtc_kms->modifiers_xrgb8888;
}
static inline uint32_t *
formats_ptr (struct drm_format_modifier_blob *blob)
{
return (uint32_t *) (((char *) blob) + blob->formats_offset);
}
static inline struct drm_format_modifier *
modifiers_ptr (struct drm_format_modifier_blob *blob)
{
return (struct drm_format_modifier *) (((char *) blob) +
blob->modifiers_offset);
}
static void
parse_formats (MetaCrtc *crtc,
int kms_fd,
uint32_t blob_id)
{
MetaCrtcKms *crtc_kms = crtc->driver_private;
drmModePropertyBlobPtr blob;
struct drm_format_modifier_blob *blob_fmt;
uint32_t *formats;
struct drm_format_modifier *modifiers;
unsigned int i;
unsigned int xrgb_idx = UINT_MAX;
if (blob_id == 0)
return;
blob = drmModeGetPropertyBlob (kms_fd, blob_id);
if (!blob)
return;
if (blob->length < sizeof (struct drm_format_modifier_blob))
{
drmModeFreePropertyBlob (blob);
return;
}
blob_fmt = blob->data;
/* Find the index of our XRGB8888 format. */
formats = formats_ptr (blob_fmt);
for (i = 0; i < blob_fmt->count_formats; i++)
{
if (formats[i] == DRM_FORMAT_XRGB8888)
{
xrgb_idx = i;
break;
}
}
if (xrgb_idx == UINT_MAX)
{
drmModeFreePropertyBlob (blob);
return;
}
modifiers = modifiers_ptr (blob_fmt);
crtc_kms->modifiers_xrgb8888 = g_array_new (FALSE, FALSE, sizeof (uint64_t));
for (i = 0; i < blob_fmt->count_modifiers; i++)
{
/* The modifier advertisement blob is partitioned into groups of
* 64 formats. */
if (xrgb_idx < modifiers[i].offset ||
xrgb_idx > modifiers[i].offset + 63)
continue;
if (!(modifiers[i].formats & (1 << (xrgb_idx - modifiers[i].offset))))
continue;
g_array_append_val (crtc_kms->modifiers_xrgb8888, modifiers[i].modifier);
}
if (crtc_kms->modifiers_xrgb8888->len == 0)
{
g_array_free (crtc_kms->modifiers_xrgb8888, TRUE);
crtc_kms->modifiers_xrgb8888 = NULL;
}
drmModeFreePropertyBlob (blob);
}
static void static void
parse_transforms (MetaCrtc *crtc, parse_transforms (MetaCrtc *crtc,
drmModePropertyPtr prop) drmModePropertyPtr prop)
@@ -246,7 +349,7 @@ init_crtc_rotations (MetaCrtc *crtc,
if (props && is_primary_plane (gpu, props)) if (props && is_primary_plane (gpu, props))
{ {
int rotation_idx; int rotation_idx, fmts_idx;
crtc_kms->primary_plane_id = drm_plane->plane_id; crtc_kms->primary_plane_id = drm_plane->plane_id;
rotation_idx = find_property_index (gpu, props, rotation_idx = find_property_index (gpu, props,
@@ -257,6 +360,15 @@ init_crtc_rotations (MetaCrtc *crtc,
parse_transforms (crtc, prop); parse_transforms (crtc, prop);
drmModeFreeProperty (prop); drmModeFreeProperty (prop);
} }
fmts_idx = find_property_index (gpu, props,
"IN_FORMATS", &prop);
if (fmts_idx >= 0)
{
crtc_kms->formats_prop_id = props->props[fmts_idx];
parse_formats (crtc, kms_fd, props->prop_values[fmts_idx]);
drmModeFreeProperty (prop);
}
} }
if (props) if (props)
@@ -311,6 +423,10 @@ find_crtc_properties (MetaCrtc *crtc,
static void static void
meta_crtc_destroy_notify (MetaCrtc *crtc) meta_crtc_destroy_notify (MetaCrtc *crtc)
{ {
MetaCrtcKms *crtc_kms = crtc->driver_private;
if (crtc_kms->modifiers_xrgb8888)
g_array_free (crtc_kms->modifiers_xrgb8888, TRUE);
g_free (crtc->driver_private); g_free (crtc->driver_private);
} }

View File

@@ -37,6 +37,9 @@ void meta_crtc_kms_apply_transform (MetaCrtc *crtc);
void meta_crtc_kms_set_underscan (MetaCrtc *crtc, void meta_crtc_kms_set_underscan (MetaCrtc *crtc,
gboolean is_underscanning); gboolean is_underscanning);
GArray * meta_crtc_kms_get_modifiers (MetaCrtc *crtc,
uint32_t format);
MetaCrtc * meta_create_kms_crtc (MetaGpuKms *gpu_kms, MetaCrtc * meta_create_kms_crtc (MetaGpuKms *gpu_kms,
drmModeCrtc *drm_crtc, drmModeCrtc *drm_crtc,
unsigned int crtc_index); unsigned int crtc_index);

View File

@@ -291,9 +291,11 @@ update_monitor_crtc_cursor (MetaMonitor *monitor,
data->in_cursor_renderer_native; data->in_cursor_renderer_native;
MetaCursorRendererNativePrivate *priv = MetaCursorRendererNativePrivate *priv =
meta_cursor_renderer_native_get_instance_private (cursor_renderer_native); meta_cursor_renderer_native_get_instance_private (cursor_renderer_native);
MetaMonitorTransform transform;
ClutterRect scaled_crtc_rect; ClutterRect scaled_crtc_rect;
float scale; float scale;
int crtc_x, crtc_y; int crtc_x, crtc_y;
int crtc_width, crtc_height;
if (meta_is_stage_views_scaled ()) if (meta_is_stage_views_scaled ())
scale = meta_logical_monitor_get_scale (data->in_logical_monitor); scale = meta_logical_monitor_get_scale (data->in_logical_monitor);
@@ -305,14 +307,26 @@ update_monitor_crtc_cursor (MetaMonitor *monitor,
META_MONITOR_TRANSFORM_NORMAL, META_MONITOR_TRANSFORM_NORMAL,
&crtc_x, &crtc_y); &crtc_x, &crtc_y);
transform = meta_logical_monitor_get_transform (data->in_logical_monitor);
if (meta_monitor_transform_is_rotated (transform))
{
crtc_width = monitor_crtc_mode->crtc_mode->height;
crtc_height = monitor_crtc_mode->crtc_mode->width;
}
else
{
crtc_width = monitor_crtc_mode->crtc_mode->width;
crtc_height = monitor_crtc_mode->crtc_mode->height;
}
scaled_crtc_rect = (ClutterRect) { scaled_crtc_rect = (ClutterRect) {
.origin = { .origin = {
.x = crtc_x / scale, .x = crtc_x / scale,
.y = crtc_y / scale .y = crtc_y / scale
}, },
.size = { .size = {
.width = monitor_crtc_mode->crtc_mode->width / scale, .width = crtc_width / scale,
.height = monitor_crtc_mode->crtc_mode->height / scale .height = crtc_height / scale
}, },
}; };
@@ -465,6 +479,7 @@ cursor_over_transformed_logical_monitor (MetaCursorRenderer *renderer,
MetaRectangle logical_monitor_layout; MetaRectangle logical_monitor_layout;
ClutterRect logical_monitor_rect; ClutterRect logical_monitor_rect;
MetaMonitorTransform transform; MetaMonitorTransform transform;
GList *monitors, *l_mon;
logical_monitor_layout = logical_monitor_layout =
meta_logical_monitor_get_layout (logical_monitor); meta_logical_monitor_get_layout (logical_monitor);
@@ -475,9 +490,17 @@ cursor_over_transformed_logical_monitor (MetaCursorRenderer *renderer,
NULL)) NULL))
continue; continue;
transform = meta_logical_monitor_get_transform (logical_monitor); monitors = meta_logical_monitor_get_monitors (logical_monitor);
if (transform != META_MONITOR_TRANSFORM_NORMAL) for (l_mon = monitors; l_mon; l_mon = l_mon->next)
return TRUE; {
MetaMonitor *monitor = l_mon->data;
transform = meta_logical_monitor_get_transform (logical_monitor);
/* Get transform corrected for LCD panel-orientation. */
transform = meta_monitor_logical_to_crtc_transform (monitor, transform);
if (transform != META_MONITOR_TRANSFORM_NORMAL)
return TRUE;
}
} }
return FALSE; return FALSE;

View File

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

View File

@@ -601,11 +601,21 @@ init_modes (MetaGpuKms *gpu_kms,
g_hash_table_destroy (modes_table); g_hash_table_destroy (modes_table);
for (i = 0; i < G_N_ELEMENTS (meta_default_drm_mode_infos); i++) for (i = 0; i < G_N_ELEMENTS (meta_default_landscape_drm_mode_infos); i++)
{ {
MetaCrtcMode *mode; MetaCrtcMode *mode;
mode = create_mode (&meta_default_drm_mode_infos[i], (long) mode_id); mode = create_mode (&meta_default_landscape_drm_mode_infos[i], mode_id);
modes = g_list_append (modes, mode);
mode_id++;
}
for (i = 0; i < G_N_ELEMENTS (meta_default_portrait_drm_mode_infos); i++)
{
MetaCrtcMode *mode;
mode = create_mode (&meta_default_portrait_drm_mode_infos[i], mode_id);
modes = g_list_append (modes, mode); modes = g_list_append (modes, mode);
mode_id++; mode_id++;
@@ -665,11 +675,21 @@ init_outputs (MetaGpuKms *gpu_kms,
{ {
MetaOutput *output; MetaOutput *output;
MetaOutput *old_output; MetaOutput *old_output;
GError *error = NULL;
old_output = find_output_by_id (old_outputs, connector->connector_id); old_output = find_output_by_id (old_outputs, connector->connector_id);
output = meta_create_kms_output (gpu_kms, connector, resources, output = meta_create_kms_output (gpu_kms, connector, resources,
old_output); old_output,
outputs = g_list_prepend (outputs, output); &error);
if (!output)
{
g_warning ("Failed to create KMS output: %s", error->message);
g_error_free (error);
}
else
{
outputs = g_list_prepend (outputs, output);
}
} }
} }

View File

@@ -547,12 +547,15 @@ meta_input_settings_native_set_stylus_button_map (MetaInputSettings *se
ClutterInputDevice *device, ClutterInputDevice *device,
ClutterInputDeviceTool *tool, ClutterInputDeviceTool *tool,
GDesktopStylusButtonAction primary, GDesktopStylusButtonAction primary,
GDesktopStylusButtonAction secondary) GDesktopStylusButtonAction secondary,
GDesktopStylusButtonAction tertiary)
{ {
clutter_evdev_input_device_tool_set_button_code (tool, CLUTTER_BUTTON_MIDDLE, clutter_evdev_input_device_tool_set_button_code (tool, CLUTTER_BUTTON_MIDDLE,
action_to_evcode (primary)); action_to_evcode (primary));
clutter_evdev_input_device_tool_set_button_code (tool, CLUTTER_BUTTON_SECONDARY, clutter_evdev_input_device_tool_set_button_code (tool, CLUTTER_BUTTON_SECONDARY,
action_to_evcode (secondary)); action_to_evcode (secondary));
clutter_evdev_input_device_tool_set_button_code (tool, 8, /* Back */
action_to_evcode (tertiary));
} }
static void static void

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