Compare commits

...

567 Commits

Author SHA1 Message Date
Carlos Garnacho
255a7afe73 core: Avoid queueing resizes while changing workspace during window drag
We already have a user move/resize going on, so avoid botching it with
window resizes with flags & META_MOVE_RESIZE_USER_ACTION == 0 that will
trigger unintended constraints.

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

Closes: #192
2018-06-14 21:10:05 +02:00
Carlos Garnacho
3649795108 wayland: Detach MetaWaylandActorSurface from its actor on dispose
And ensure the actor is no longer reactive even though it might live longer
because of close effects, GCs, and whatnot. This ensures the actor is not
eligible for pointer picking within the destruction of its surface.

Closes: #188
2018-06-14 14:05:10 +02:00
Yi-Jyun Pan
36b9551f92 Update Chinese (Taiwan) translation 2018-06-13 08:36:21 +00:00
Carlos Garnacho
6abe4703c7 core: Hide close dialog before destroying
The MetaCloseDialog implementation object may stay artifically alive
for a longer period. This was usually fine till gnome-shell commit
b03bcc85aad, as the check_alive() timeout will keep running even
though the window went unmanaged/destroyed, leading to crashes.

In order to fix this, forcibly hide the dialog if it is visible and
the window is being unmanaged, so the timeout is stopped in time.
2018-06-08 17:41:34 +02:00
Carlos Garnacho
69ca584168 wayland: Handle get_subsurface() with a role-less parent surface
The order of role creation is undetermined, so we can't account that
the parent surface will have a role (and an actor) at the time of
creating the wl_subsurface role for a child surface.

So we must do it both ways, add the subsurface as a child on
get_subsurface() if the parent already got a role, and lazily add
child subsurface actors to the current one if the parent surface got
it at a later point.

Related: #132
2018-06-08 17:31:25 +02:00
Jonas Ådahl
8ee14a7cb7 renderer/native: Also wrap flip closures for EGLStreams
When using the EGLStream backend, the MetaRendererNative passed a
GClosure to KMS when using EGLStreams, but KMS flip callback event
handler in meta-gpu-kms.c expected a closure wrapped in a closure
container, meaning it'd instead crash when using EGLStreams. Make the
flip handler get what it expects also when using EGLStreams by wrapping
the flip closure in the container before handing it over to EGL.

https://bugzilla.gnome.org/show_bug.cgi?id=790316
2018-06-07 22:14:05 +02:00
Jonas Ådahl
909dbafd67 settings: Remove confused comment
It got lost, lets help it find the way out.
2018-06-07 12:57:52 +00:00
Jonas Ådahl
d5203f170e Make screen cast and remote desktop non-experimental
It's time to make this feature more accessible by not requiring editing
an array in gsettings.
2018-06-07 12:57:51 +00:00
Corentin Noël
2a45b7de7c clutter-input-device-xi2: Check for null group_modes before unref 2018-06-07 12:54:56 +01:00
Daniel van Vugt
62c67be4c8 clutter-actor: Fix uninitialized matrix multiply
`modelview` is uninitialized and the `apply` function just multiplies it.
What we really want is to initialize `modelview` so replace `apply` with
`get`.

Who knows what bugs this may have caused...
2018-05-31 15:43:27 +08:00
Marco Trevisan (Treviño)
0332b7394e renderer-native: Don't crash if the FB surface can't be locked 2018-05-29 22:13:03 +00:00
Marco Trevisan (Treviño)
15f41c9f68 device-manager-evdev: Add main seat to seats by default
Treat the main seat as other seats, so we don't have to handle it differently
in specific places. This was already the case before when a real device
was plugged before the startup, but not applied when hotplugging a device.
2018-05-29 10:35:51 +00:00
Marco Trevisan (Treviño)
2a38601b42 device-manager-evdev: Free the main seat on finalize 2018-05-29 10:35:51 +00:00
Marco Trevisan (Treviño)
d7bdc1591f device-manager-evdev: Set and unset the stage for the main seat too
When no input devices are available on startup the device manager might be fast
enough to be constructed so that no default stage is set yet, and thus when
main seat virtual devices are created they won't have a proper stage set.
If then we plug a real device, the events that an input manager could generate
won't be associated to any stage and thus won't be processed.

We need then ensure that when we update the stage for the device manager we
(un)associate it also to the main seat devices.
2018-05-29 10:35:51 +00:00
Changwoo Ryu
bd36764b4d wayland: Don't reset input focus on text commit
Preedit text can be active even after text commit. Resetting the input
focus will lead to unintended commit of the preedit text.

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

Closes: #152
2018-05-26 18:58:42 +09:00
Olivier Fourdan
473bf38753 frames: Allow for unknown mouse buttons
Commit 47131b1d ("frames: Handle touch events") introduced an assert to
make sure that all mouse button actions are handled in mutter.

However, mice can have a more than 5 buttons, so simply ignore the
"other" actions instead of aborting.

Fixes: https://gitlab.gnome.org/GNOME/mutter/issues/160
2018-05-25 09:20:36 +00:00
Florian Müllner
f7747e4d4f Bump version to 3.29.2
Update NEWS.
2018-05-24 17:12:55 +02:00
Dz Chen
e8dc2acfca Update Chinese (China) translation 2018-05-21 16:18:26 +00:00
Georges Basile Stavracas Neto
cf734999fb wayland: Compare geometries after chaining up
After 20176d03, the Wayland backend only synchronizes with the
compositor after a geometry was set, and it was different from
the current geometry.

That commit was mistakenly comparing the geometry before chaining
up, which would yield a false negative on the case where the
client didn't call set_geometry() before commit().

Fix that by caching the old geometry locally, chain up (and thus
apply the new geometry rectangle), then comparing the old and
current geometry rectangles.

Fixes https://gitlab.gnome.org/GNOME/mutter/issues/150
2018-05-18 13:09:10 +00:00
Daniel van Vugt
c9c3283540 shaped-texture: Disable mipmapping during animation
This avoids overwhelming the GPU with trying to update mipmaps at a high
rate. Because doing so could easily cause a reduction in the compositor
frame rate and thus actually reduce visual quality.

In the case of a window that is constantly animating in the overview,
this reduces mutter's render time by around 20%-30%.
2018-05-18 16:45:26 +08:00
Marcos Lans
d2a8cdfd7c Update Galician translation 2018-05-15 22:33:40 +00:00
Marco Trevisan (Treviño)
3e85ac8131 clutter-device-evdev: Get devices from main seat if no real seat is set
In devices such as ARM boards there could be no input devices connected on
startup, leading to a crash when we try to process artificial events that
could be queued (as gnome-shell does when syncing pointer).

Those events still should refer to a device and, in case we don't have one
provided by libinput we should still return the core devices defined in the
main seat.
2018-05-15 12:09:59 +01:00
Marco Trevisan (Treviño)
5f83d9a5c8 clutter-seat-evdev: Add function to get device by id 2018-05-15 12:05:39 +01:00
Carlos Garnacho
ac20bf2000 frames: Handle touch events
This is just done on wayland as it'll break horribly on X11, we let
this happen through pointer emulated events in XISelectEvents evmask
instead.

Some things had to be made slightly more generic to accomodate touch
events. The MetaFrames shall lock onto a single touch at a time, we
don't allow crazy stuff like multi-window drag nor multi-edge resizes.

https://bugzilla.gnome.org/show_bug.cgi?id=770185
2018-05-14 17:11:57 +01:00
Carlos Garnacho
3561082aba frames: Make 1st button/motion handlers take generic events
This will ease handling of touch events through these same handlers.

https://bugzilla.gnome.org/show_bug.cgi?id=770185
2018-05-14 13:44:03 +01:00
Florian Müllner
e34c330f66 build: Adjust to filename changes
The meta-stage and meta-window-group headers got split into a public
and private part, but the Makefiles still reference the old files.
2018-05-07 22:41:01 +02:00
Florian Müllner
7655e09d00 build: Introspect some more types
While MetaStage, MetaWindowGroup and MetaDBusDisplayConfigSkeleton don't
appear explicitly in the public API, their gtypes are still exposed via
meta_get_stage_for_screen(), meta_get_*window_group_for_screen() and
MetaMonitorManager's parent type. Newer versions of gjs will warn about
undefined properties if it encounters a gtype without introspection
information, so expose those types to shut up the warnings.

https://bugzilla.gnome.org/show_bug.cgi?id=781471
2018-05-07 21:44:47 +02:00
Florian Müllner
be069fb8ae window-group: Remove undefined function declaration
Ever since the function has been made public, its name has been
meta_actor_is_untransformed() ...

https://bugzilla.gnome.org/show_bug.cgi?id=781471
2018-05-07 21:44:47 +02:00
Florian Müllner
a30166a547 clutter: Don't reference invalid pc in gir
Cally is built into clutter itself rather than exposed as a separate
library.

https://bugzilla.gnome.org/show_bug.cgi?id=781471
2018-05-07 21:44:47 +02:00
Jonas Ådahl
0f9c6aef99 screen-cast: Handle PipeWire errors more gracefully
Various code assumed PipeWire function calls would never fail. Some can
actually fail for real reasons, and some currently can only fail due to
OOM situations, but we should still not assume that will always be the
case.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/102
2018-05-07 19:24:47 +00:00
Jonas Ådahl
332d55f7f6 wayland/xdg-foreign: Fix child surface validation check
The role type should be either an xdg-shell toplevel, or a
xdg-shell unstable v6 toplevel.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/138
2018-05-07 19:16:40 +00:00
Jonas Ådahl
98d7024288 wayland/xdg-foreign: Send immediate destroy event to correct resource
The destroyed signal that was emitted if an imported surface was not
available when created, for example if the handle was invalid or
already unexported, was emitted on the wrong resource.
2018-05-07 19:16:39 +00:00
Florian Müllner
82564772dc build: Don't fail immediately when logind is missing
We require logind for the native backend, but the backend itself is
optional. However since commit 06c357d78, we will always throw an
error if neither logind nor elogind are available, even when the
backend is disabled.

As we still support "auto" - that is, whether the native backend is
enabled depends on whether its dependencies are available - the
easiest option is to make sure we always include either elogind or
libsystemd in the dependency check rather than erring out explicitly
if neither is found.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/96
2018-05-07 19:50:20 +02:00
Florian Müllner
33c2a38ff7 main: Fix typo 2018-05-04 20:15:33 +02:00
Olivier Fourdan
52fdd24467 wayland: avoid a crash in is_effectively_synchronized()
To check if a subsurface is effectively synchronized, we walk the
subsurface hierarchy to look for a non-subsurface parent or a subsurface
being synchronized.

However, when client is closing, the parent surface might already be
gone, in which case we end up with a surface being NULL which causes a
NULL pointer dereference and a crash.

Check if the parent surface is NULL to avoid the crash, and consider
it's already synchronized if it is NULL to avoid further updates.

Fixes: https://gitlab.gnome.org/GNOME/mutter/issues/124
2018-05-03 11:39:33 +02:00
Florian Müllner
2319cd9c40 idle-monitor: Don't try to auto-start SessionManager
The interface is provided by gnome-session and not activatable.

https://gitlab.gnome.org/GNOME/mutter/issues/134
2018-04-30 13:55:41 +00:00
Daniel Șerbănescu
3b4319a87c Update Romanian translation 2018-04-30 05:56:32 +00:00
Georges Basile Stavracas Neto
20176d0395 wayland: Check if state and size changed before calling move_resize()
The current implementation of the XdgSurface v6 protocol does not check
if the window changed before calling meta_window_wayland_move_resize().

The problem with this approach is that calling this function is a costly
operation since we enter the compositor side. In GNOME Shell case, it is
in JavaScript, which triggers a GJS trampoline. Calling this function on
every mouse movement is naturally as terrible as it could be - and is
exactly what happens now.

This commit adds the necessary checks to only call move_resize() when
the window actually changed, or when it needs to be updated.

https://bugzilla.gnome.org/show_bug.cgi?id=780292
Issue: #78
2018-04-25 23:33:41 -03:00
Georges Basile Stavracas Neto
762a3f89a9 wayland: Add function to query if window needs move or resize
This will be used by the next commit to determine when a window
geometry change should be ignored or not. Normally, it would be
enough to just check if the position and sizes changed.

The position, in this case, is relative to the client buffer, not
the global position. But because it is not global, there is one,
admitedly unlikely, situation where the window state is updated
while the client size and relative positions don't change.

One can trigger this by e.g. tiling the window to the half-left of
the monitor, then immediately tile it to half-right. In this case,
the window didn't change, just it's state, but nonetheless we need
to notify the compositor and run the full move/resize routines.

When that case happens, though, the MetaWindowWayland is tracking
the pending state change or a move. And this is what we need to
expose.

https://bugzilla.gnome.org/show_bug.cgi?id=780292
Issue: #78
2018-04-25 21:55:05 -03:00
Georges Basile Stavracas Neto
822c2666f5 window: Let implementations finish state changes
In the old, synchronous X.org world, we could assume that
a state change always meant a synchronizing the window
geometry right after. After firing an operation that
would change the window state, such as maximizing or
tiling the window,

With Wayland, however, this is not valid anymore, since
Wayland is asynchronous. In this scenario, we call
meta_window_move_resize_internal() twice: when the user
executes an state-changing operation, and when the server
ACKs this operation. This breaks the previous assumptions,
and as a consequence, it breaks the GNOME Shell animations
in Wayland.

The solution is giving the MetaWindow control over the time
when the window geometry is synchronized with the compositor.
That is done by introducing a new result flag. Wayland asks
for a compositor sync after receiving an ACK from the server,
while X11 asks for it right away.

Fixes #78
2018-04-25 21:55:05 -03:00
Florian Müllner
b412e6c493 Bump version to 3.29.1
Update NEWS.
2018-04-25 20:25:43 +02:00
Jonas Ådahl
ae26cd0774 native: Restore previous EGL state after blitting onto secondary GPU
Before we just set it to "none", but this was not enough since various
calls will depend on not just the context being active, but the main
rendering surface.

Fixes https://gitlab.gnome.org/GNOME/mutter/issues/21
2018-04-25 17:22:24 +02:00
Marco Trevisan (Treviño)
3104d697c0 cogl: Do not unref a NULL object
Add return-if-fail statement to avoid deferencing NULL object
2018-04-25 09:03:58 +00:00
Jonas Ådahl
0b3a1c9c31 monitor-manager: Find active monitor when deriving global scale
When deriving the global scale directly from the current hardware state
(as done when using the X11 backend) we are inspecting the logical
state they had prior to the most recent hot plug. That means that a
primary monitor might have been disabled, and a new primary monitor may
not have been assigned yet.

Stop assuming a primary monitor has an active mode before having
reconstructed the logical state by finding some active monitor if the
old primary monitor was disabled. This avoids a crash when trying to
derive the global scale from a disabled monitor.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/130
2018-04-25 10:50:50 +02:00
Carlos Garnacho
423c5f8e77 wayland: Let IM events go through
These paths implicitly relied on the forwarded IM key events having
a source_device backed by a real HW device. This assumption is no
longer held true since commit b5328c977.

Explicitly check the INPUT_METHOD flag so they are handled as they
should despite not being "real HW" events.
2018-04-24 23:48:01 +02:00
Mario Sanchez Prada
3bbff94878 backend: Don't center the pointers on monitor changes
As a follow up to the patch from a95cbd0a, we need to make sure
that the pointer is out of the way as well when monitors changed,
since that's the event that will prevail in some cases. Besides,
this is also consistent with what the code before a95cbd0a was,
which initialized the pointer position in the same way both in
this case and in the real_post_init() function.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/157
2018-04-24 21:58:38 +01:00
Carlos Garnacho
4ef886f51e wayland: Avoid actor updates non actor_surface role wl_surface.commit
We used to maintain an actor for cursors, even though we would possibly
use hw overlays or even some other overlay actor for those. This happens
no more, so check whether we are dealing with an actor-backed surface role
before fiddling with it.
2018-04-23 21:31:19 +02:00
Carlos Garnacho
22485ba36f wayland: Refactor surface actor into MetaWaylandActorSurface
All surface roles that do need a backing actor inherit from this
class, it makes sense to move actor management there. This also
means the MetaWaylandActorSurface is in charge of emitting
::geometry-changed on the MetaWaylandSurface.
2018-04-23 21:31:19 +02:00
Carlos Garnacho
8df2a1452c wayland: Notify actively of xwayland window/surface associations
Instead of scheduling a meta_later, keep track of the unassociated
windows, and look for matches as soon as the MetaWaylandSurface is
created on our side.

This will ensure the surface is given the Xwayland role before receiving
the first wl_surface.commit.
2018-04-23 21:31:19 +02:00
Carlos Garnacho
b12c92e206 wayland: Add MetaWaylandSurface::geometry-changed signal
Abstract this instead of having callers connect to notify:: signals
on the surface actor.
2018-04-23 21:31:19 +02:00
Carlos Garnacho
70036429bd wayland: Abstract access to the actor corresponding to a wl_surface
The actor itself will be shuffled around, abstract all external
access to it behind a function to make that easier later on.
2018-04-23 12:24:46 +02:00
Carlos Garnacho
44502be560 wayland: Do not reset frame list when merging pending state
In the synchronized subsurface case, the destination list may
contain other elements from previous wl_surface.commit calls.
Resetting the list will leave those dangling frame callbacks
that will lead to invalid writes when those get to be destroyed
(eg. on client shutdown).
2018-04-22 00:52:48 +02:00
Carlos Garnacho
8cf42cd06c clutter: Plug minor leak
clutter_stage_manager_list_stages() returns a copied list, which
should be freed.
2018-04-22 00:52:19 +02:00
Carlos Garnacho
b5328c977e clutter: Set slave=master in IM forwarded key events
The fix is twofold. On one hand, it makes sense not to relate IM (nor
any other) generated events to a HW device. On the other hand, if we
are unfortunate that an IM event is in flight when we are switching
to another TTY, it may arrive at a time when the source device is no
longer existent.
2018-04-22 00:52:05 +02:00
Marco Trevisan (Treviño)
4339b23dd0 theme, frames: Use surface device scale instead of cairo_scale
Gtk now is caching the themed cairo surfaces, then as per
commit gtk@e36b629c the surface device scale is used to figure
out the current paint scaling.

Without this when using background-image's for window buttons
the -gtk-scaled icons isn't properly resized.

Fixes #99
2018-04-20 14:38:57 +00:00
Mario Sanchez Prada
a95cbd0aca backends: Don't center the pointer on initialization
Centering the pointer at startup causes undesired behaviour if
it ends up hovering over reactive elements, that might react
to that positioning, causing confusion. This is the case of
the login dialog when a list of different users is shown, as
centering the pointer at startup in that case will get the
user in the center of the screen pre-selected, which is not
the expected behaviour (i.e. pre-selecting the first one).

Fix this by simply moving the pointer out of the way, close
to the bottom-right corner, during initialization.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/157
2018-04-18 19:14:26 +00:00
Olivier Fourdan
6df2b7af55 clutter/evdev: Don't ignore CAPS lock as modifier
Mark CAPS lock as a modifier (as it should) so that when using XKB
options to change the default behaviour of CAPS lock, the new assigned
key can by used as a sticky key as well.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/112
2018-04-18 17:07:21 +02:00
Olivier Fourdan
c01b099dbd clutter/evdev: ignore injected events from IM
Input method can inject key events, which leads to multiple reported key
press/release events for a single user action.

Ignore those events as this confuses keyboard accessibility.
2018-04-18 17:07:21 +02:00
Ray Strode
2d80fd02e7 xwayland: Don't abort if Xwayland crashes
Right now if Xwayland crashes, we crash, too.

On some level that makes sense, since we're supposed to control the
lifecycle of Xwayland, and by it crashing we've lost that control.

But practically speaking, the knock-on crash adds noise to the logs,
bug trackers, and retrace servers that only makes debugging harder.
And the crash isn't something mutter can "fix", since it's
ultimately from a bug in Xwayland anyway.

This commit makes mutter exit instead of crash if Xwayland goes away
unexpectedly.
2018-04-17 11:14:00 -04:00
Ray Strode
bb65854065 xwayland: use g_autoptr for GError in xserver_died
Right now we explicitly g_clear_error any error we find, but that
makes it tricky to return early from the function, which a
subsequent commit will want to to do.

This commit switches GError to use g_autoptr so the error clearing
happens automatically.
2018-04-17 11:14:00 -04:00
Georges Basile Stavracas Neto
bc05e49eba gpu-kms: Return NULL, not FALSE
Another small mistake spotted while working on #77. This
function returns a pointer, thus we should return NULL,
not FALSE.

Issue: #77
2018-04-16 16:30:21 +02:00
Georges Basile Stavracas Neto
773b8384fa monitor-manager-kms: Don't add GPU if it fails
This is a small mistake spotted while working on a solution
for #77. When a GPU fails to initialize, we're adding them
anyway, which might have pretty bad consequences when trying
to use these NULL GPUs.

Issue: #77
2018-04-16 16:30:21 +02:00
Georges Basile Stavracas Neto
7fdac6d310 monitor-manager-kms: Use g_autoptr for error
A minor code cleanup.
2018-04-16 16:30:21 +02:00
Jonas Ådahl
f6cd87734d native: Disable the use of KMS modifiers by default
Make it re-enable:able by a hidden "experimental feature". To enable, add
"kms-modifiers" to the org.gnome.mutter.experimental-features GSettings entry.
2018-04-16 16:29:38 +02:00
Bastien Nocera
01a0fa9437 idle-monitor: Add ResetIdletime API, for testing purposes
The ResetIdletime API can be used instead of an "XTest" binary to
programmatically reset the idle time, as if the user pressed a button on
a keyboard.

This is necessary since we stopped using the XSync extension to monitor
idletimes, as it didn't consider inhibitors as busy, and mutter's
clutter code ignores "Core Events" as generated by XTest.

This patch will require minimal changes to gnome-settings-daemon's power
test suite so that "key press" idletime resets are triggered through
this D-Bus interface rather than through XTest and a roundtrip through
the X server.

https://bugzilla.gnome.org/show_bug.cgi?id=705942
2018-04-16 13:28:03 +02:00
Bastien Nocera
657417a578 backend: Reset idle when lid is opened or resuming from suspend
There's no particular reason for this code to only ever be triggered on
Wayland, and allows removing X11-specific work-arounds from
gnome-settings-daemon.

See https://bugs.freedesktop.org/show_bug.cgi?id=59576

https://bugzilla.gnome.org/show_bug.cgi?id=705942
2018-04-16 13:28:03 +02:00
Bastien Nocera
4af00ae296 idle-monitor: Take idle inhibition into account
Take idle inhibitions into account for when to fire idle watches as
requested by OS components.

This should stop gnome-session and gnome-settings-daemon considering
the session idle when they have been inhibited for longer than their
timeout, for example to avoid the screensaver activating, or the
computer suspending after watching a film.

https://bugzilla.gnome.org/show_bug.cgi?id=705942
2018-04-16 13:28:03 +02:00
Bastien Nocera
84e575be77 x11: Allow XTest and core events to reset idletime
Now that we've removed the X11 specific backend of the idle monitor,
add back a cut-down version of it for the explicit purpose of being
told about idle time resets when XTest events are used.

XTest events are usually used by test suites and remote display software
to inject events into an X11 session. We should consider somebody moving
the mouse remotely to be just as "active" as somebody moving it locally.

https://bugzilla.gnome.org/show_bug.cgi?id=705942
2018-04-16 13:28:03 +02:00
Bastien Nocera
7945ee5beb backends: Remove X11 idle-monitor backend
And use the old "native" backend for both X11 and Wayland. This will
allow us to share fixes between implementations without having to delve
into the XSync X11 extension code.

https://bugzilla.gnome.org/show_bug.cgi?id=705942
2018-04-16 13:28:03 +02:00
Carlos Garnacho
b6f5bab212 wayland: Plug surface pending state contents leak
When moving the pending state of an effectively synchronized subsurface
so it is applied together with the parent, perform a merge of the source
MetaWaylandPendingState into the destination one, instead of simply
overwriting the struct.

The other approach had 2 kind of leaks, one that would happen everytime
a wl_surface.commit happens on a sync subsurface (both surface/buffer
damage regions are leaked). The other more unlikely one would apply on
the rest of pending state data, happening whenever the compositor gets
>1 wl_surface.commit calls on the subsurface before the parent surface
gets its own.

The function has also been renamed to use the more descriptive "merge"
term.

Related: gnome-shell#64
2018-04-12 23:35:20 +02:00
Aleksandr Mezin
5ad34e0efb monitor-manager: fix output ids returned by GetResources
Output ID is set equal to 'i' later in the loop. But 'i' was never
incremented, so all outputs were getting the same ID (equal to
the number of CRTCs, because 'i' was reused from the previous loop).


(cherry picked from commit 23c3f8bb18)
2018-04-11 17:57:25 +00:00
Matej Urbančič
a1c34aad09 Updated Slovenian translation 2018-04-10 17:58:55 +02:00
Benjamin Otte
98dfd5b887 screen-cast: Fix compile error
Credit goes to gcc for finding this typo.
2018-04-10 13:02:51 +02:00
Olivier Fourdan
17a745bf81 wayland: update enter/leave output after effects
Compositor effects change the actor size and position, which can lead to
inconsistent output enter/leave notifications, leaving clients' surfaces
without any output set.

Update output enter/leave notifications after all compositor effects are
completed so that we give clients accurate output location.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/104
2018-04-09 10:19:26 +02:00
Olivier Fourdan
85bbd82ae8 window-actor: add new signal "effects-completed"
When using plugins, the effects will affect the MetaWindowActor size
and position.

Add a new signal "effects-completed" wired to the corresponding
MetaWindowActor which is emitted when all effects are completed so that
derived objects can be notified when all effects are completed and use
the actual size and position.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/104
2018-04-09 10:19:26 +02:00
Marco Trevisan (Treviño)
deda7a5235 theme: Scale titlebar spacing when computing x
The value is not scaled by default so it needs to be adjusted
depending on the window scaling, as it's done in other places.

Fixes: #87
2018-04-03 20:27:21 +00:00
Marco Trevisan (Treviño)
96141e28f9 theme: add ".appmenu" class to the appmenu button
So it does gtk headerbar, so mutter should do.
2018-04-03 20:16:15 +00:00
Daniel Stone
e6109cfc22 renderer-native: Fall back to non-modifier GBM surfaces
If we attempt GBM surface allocation with a set of modifiers but the
allocation fails, fall back to non-modifier allocations. This fixes
startup on Pineview-based Atom systems, where KMS provides us a set of
modifiers but the GBM implementation doesn't support modifier use.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/84
2018-04-03 18:17:04 +00:00
Carlos Garnacho
3684f6b0ac clutter: Apply input hints/purpose on ClutterTextInputFocus focus in
And make the ClutterText-level properties independent from the input
focus, as those properties can be set anytime, not just when the
ClutterText actor is focused.

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

Closes: #66
2018-04-03 14:55:17 +00:00
Alberts Muktupāvels
31b5059068 input-settings: Fix a typo in tap-and-drag setting 2018-03-29 09:51:32 -05: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
Carlos Garnacho
798026498d wayland: Only send full sequences of touch events to clients
If input happens to be grabbed somewhere along the shell, and ungrabbed
while a touch operation is ongoing, the wayland bits will happily start
sending wl_touch.update events from an undeterminate point, without
clients having ever received wl_touch.down for that id.

Consider those touches grabbed for the entirety of their lifetime, if
wl_touch.down wasn't received by the client, no other events will.

https://bugzilla.gnome.org/show_bug.cgi?id=776220
2017-12-21 12:37:20 +01:00
Olivier Fourdan
49f029571c keybindings: Super should be inhibitable
When a Wayland client issues a shortcut inhibit request which is granted
by the user, the Super key should be passed to the surface instead of
being handled by the compositor.

https://bugzilla.gnome.org/show_bug.cgi?id=790627
2017-12-21 09:08:41 +01:00
Daniel Mustieles
290b257288 Updated Spanish translation 2017-12-20 18:18:07 +01:00
Marco Trevisan (Treviño)
2b60fb0144 stage: Push framebuffer before setting up viewport
When capture_view* functions are called with the paint flag set
to TRUE, we need to setup the framebuffer, however this was
happening after setting up the viewport, while the viewport
needs the framebuffer to be valid when calling cogl_set_viewport.

https://bugzilla.gnome.org/show_bug.cgi?id=791809
2017-12-20 05:56:51 -05:00
Olivier Fourdan
7f5f5eb847 wayland/keyboard: preserve layout index
On VT switch, the xkb state layout index is lost and reset to the first
group, so if the first layout is not the last one being used, the xkb
state used in both meta-wayland-keyboard.c and clutter/evdev will be
desynchronized with the keyboard source indicator in the gnome-shell UI.

Save the effective layout chosen along with the seat so it can be
restored when reclaiming devices.

Use the saved layout index from the clutter/evdev's seat to restore the
layout in meta-wayland-keyboard, so that switching VT doesn't reset the
layout and causes further discrepancies with the layout indicator in the
gnome-shell UI.

https://bugzilla.gnome.org/show_bug.cgi?id=791383
2017-12-20 09:56:34 +01:00
Jonas Ådahl
44269e6a1d keybindings: Only add multiple keycodes from the same level
The reason why multiple keycodes could be mapped to a single keysym was
to support having both KEY_FAVORITES and KEY_BOOKMARK map to
XF86Favorites. However, iterating through all layout levels adding all
key codes has severe consequences on layouts with levels that map
things like numbers and arrow. The result is that keybindings that
should only have been added for keycodes from the first level, are
replaced by some unexpected keycode where the same keysym was found on
another level.

An example of this is the up-arrow key and l symbol. Normally you'd find
both the up-arrow symbol and the l symbol on the first level and be done
with it. However, on the German Neo-2 layout, layout level 4 maps the
KEY_E to the l symbol, while layout level 4 maps KEY_E to up-arrow.
Which ever gets to take priority is arbitrary, but for this particular
case KEY_E incorrectly mapped to up-arrow instead of the l symbol,
causing the keyboard shortcut Super+l, which would normally lock the
screen, to trigger the workspace-up (Super+up-arrow) key binding.

https://bugzilla.gnome.org/show_bug.cgi?id=789300
2017-12-20 15:02:39 +08:00
Piotr Drąg
70dfe8c97d Use Unicode quotation marks in new translatable strings
See https://developer.gnome.org/hig/stable/typography.html

https://bugzilla.gnome.org/show_bug.cgi?id=772218
2017-12-18 17:22:36 +01:00
Olivier Fourdan
072afa5fa3 wayland: Add Xwayland grab keyboard support
This protocol is limited to Xwayland only and is not visible/usable by
any other client.

Mutter uses the following mechanisms to determine if an X11 client
should be granted a grab:

 - is "xwayland-allow-grabs" set?
 - if set, is the client blacklisted?
 - otherwise, has the client set the X11 window property
   _XWAYLAND_MAY_GRAB_KEYBOARD on the window using a client message?
 - if not, is it a client white-listed either via the default system
   list or the settings "xwayland-grab-access-rules"?

https://bugzilla.gnome.org/show_bug.cgi?id=783342
2017-12-18 13:15:20 +01:00
Olivier Fourdan
519a0fd93d settings: Add xwayland grab settings
Add new settings to control which X11 windows are allowed to
issue Xwayland grabs.

https://bugzilla.gnome.org/show_bug.cgi?id=783342
2017-12-18 13:15:17 +01:00
Olivier Fourdan
5f132f3975 xwayland: add _XWAYLAND_MAY_GRAB_KEYBOARD property
Add a new client message "_XWAYLAND_MAY_GRAB_KEYBOARD" that X11 clients
can use to tell mutter this is a well behaving X11 client so it may
grant the keyboard grabs when requested.

An X11 client wishing to be granted Xwayland grabs by gnome-shell/mutter
must send a ClientMessage to the root window with:

 - message_type set to "_XWAYLAND_MAY_GRAB_KEYBOARD"
 - window set to the xid of the window on which the grab is to be issued
 - data.l[0] to a non-zero value

Note: Sending this client message when running a plain native X11
environment would have no effect.

https://bugzilla.gnome.org/show_bug.cgi?id=783342
2017-12-18 13:15:13 +01:00
Olivier Fourdan
1546989845 xwayland: Add MetaWindowXwayland
MetaWindowXwayland derives from MetaWindowX11 to allow for some Xwayland
specific vfunc that wouldn't apply to plain X11 windows, such as
shortcut inhibit routines.

https://bugzilla.gnome.org/show_bug.cgi?id=783342
2017-12-18 13:15:09 +01:00
Rui Matos
1923db97c1 wayland-outputs: Delay wl_output destruction
This tries to avoid wayland clients getting disconnected for binding
to a wl_output that we already destroyed which is a known protocol
race condition, see https://phabricator.freedesktop.org/T7722 .

https://bugzilla.gnome.org/show_bug.cgi?id=789070
2017-12-15 14:54:13 +01:00
Olivier Fourdan
db32047a5d wayland: Add xdg-output support
The xdg-output protocol aims at describing outputs in way which is
more in line with the concept of an output on desktop oriented systems.

For now it just features the position and logical size which describe
the output position and size in the global compositor space.

This is however much useful for Xwayland to advertise the output size
and position to X11 clients which need this to configure their surfaces
in the global compositor space as the compositor may apply a different
scale from what is advertised by the output scaling property (to achieve
fractional scaling, for example).

This was added in wayland-protocols 1.10.

https://bugzilla.gnome.org/show_bug.cgi?id=787363
2017-12-15 14:18:14 +01:00
Kukuh Syafaat
b505eb261e Update Indonesian translation 2017-12-03 08:19:53 +00:00
Marco Trevisan (Treviño)
1a1db9ef8d window-actor: rename destroy function in queue_destroy
Since this might delay the destruction after animation
has succeeded, it's just better to rename this accordingly.

https://bugzilla.gnome.org/show_bug.cgi?id=791006
2017-11-30 22:53:26 -05:00
Marco Trevisan (Treviño)
b1587f0716 compositor: reset top_window_actor and remove it from windows when destroyed
When the top window actor is destroyed, we need to make sure that
all its references are removed or it could be picked again in next
windows sync, causing crashes.
Since the window might or might not be destroyed when removed (depending
weather animations are in progress over it or not), it's just safer
to wait it to be destroyed before cleaning up any of its reference.

https://bugzilla.gnome.org/show_bug.cgi?id=791006
2017-11-30 22:53:26 -05:00
Philip Withnall
93e450f37c backends: Fix ClutterRect initialisations
With Clang, these initialisations were warning about missing brackets.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://bugzilla.gnome.org/show_bug.cgi?id=791022
2017-11-30 13:06:13 +00:00
Jonas Ådahl
fc713ecb70 monitor-unit-tests: Check config loading on lid switches
Check that we apply the correct stored configuration when the lid is
opend and closed while an external monitor is connected.

https://bugzilla.gnome.org/show_bug.cgi?id=788915
2017-11-30 11:48:44 +08:00
Jonas Ådahl
500c13ab6f monitor-unit-tests: Always reset CRTC transform ability
Changing the test monitor managers ability to rotate CRTCs in one test
affected the next test. Avoid leaking such state by resetting it before
each test. To continue passing, some tests needed to be updated
regarding to still pass.

https://bugzilla.gnome.org/show_bug.cgi?id=788915
2017-11-30 11:48:44 +08:00
Jonas Ådahl
050267fe74 monitor-unit-tests: Add test for lid toggle after hot unplug
https://bugzilla.gnome.org/show_bug.cgi?id=788915
2017-11-30 11:48:44 +08:00
Jonas Ådahl
ce25a0171c monitor-unit-tests: Add test for lid closed after hot plug
Add a test case that checks that we don't try to revert to a
laptop-panel-only configuration after closing the lid after an external
monitor is connected.

https://bugzilla.gnome.org/show_bug.cgi?id=788915
2017-11-30 11:48:44 +08:00
Jonas Ådahl
b7518c8651 monitor-manager: Compare keys when checking whether a config is complete
We only counted configured monitors and whether the config was
applicable (could be assigned), howeverwe didn't include disabled
monitors when comparing. This could caused incorrect configurations to
be applied when trying to use the previous configuration.

One scenario where this happened was one a system with one laptop
screen and one external monitor that was hot plugged some point after
start up. When the laptop lid was closed, the 'previous configuration'
being the configuration where only the laptop panel was enabled, passed
'is-complete' check as the number of configured monitors were correct,
and the configuration was applicable.

Avoid this issue by simply comparing the configuration key of the
previous configuration and the configuration key of the current state.
This correctly identifies a laptop panel with the lid closed as
inaccessible, thus doesn't incorrectly revert to the previous
configuration.

https://bugzilla.gnome.org/show_bug.cgi?id=788915
2017-11-30 11:48:44 +08:00
Jonas Ådahl
62dedfbef3 monitor-config-manager: Don't include closed laptop panel in config key
When deriving the list of disabled monitors when creating new monitors
configs, don't include the laptop panel if the lid is currently closed,
as we consider the laptop panel nonexistent when the laptop lid is
closed when it comes to configuration.

The laptop panel connector(s) will either way be appropriately disabled
anyway, as the field listing disabled monitors in the configuration do
not affect actual CRTC/connector assignments.

https://bugzilla.gnome.org/show_bug.cgi?id=788915
2017-11-30 11:48:44 +08:00
Jonas Ådahl
4508978ea5 wayland/xdg-shell: Dismiss a popup on map if parent already dismissed
If a parent doesn't have a window, it means it could have been
dismissed (for example due to a input serial race), but the more recent
popup might win the input serial race and try to map anyway. This would
result in a crash later on when trying to process the placement rule,
as the parent already has no window.

https://bugzilla.gnome.org/show_bug.cgi?id=790358
2017-11-30 10:50:13 +08:00
Jonas Ådahl
c533a06e93 wayland/xdg-shell: Check popup parent type when assigning
We only allow mapping popups on top of surfaces with a xdg_surface
based role. Add a check and fail clients that doesn't follow this rule.

https://bugzilla.gnome.org/show_bug.cgi?id=790358
2017-11-30 10:50:13 +08:00
Jonas Ådahl
5d3b4f0134 wayland/xdg-shell: Fix top-most check when grabbing
Move the top-most-popup correctness check to the finish_popup_setup()
function after checking the serial. If we pass the serial check, we
should have reached a state that if there are any popups they should be
the one from the same client.

Also avoid failing a client that correctly set the top-most popup at map
time, but where at the time of processing the top most popup have
already been dismissed by the compositor for some arbitrary reason.

https://bugzilla.gnome.org/show_bug.cgi?id=790358
2017-11-30 10:50:13 +08:00
Yosef Or Boczko
4cf340ae9b Updated Hebrew translation 2017-11-26 17:15:03 +02:00
Pawan Chitrakar
053ac03f01 Update Nepali translation
(cherry picked from commit 789d740add)
2017-11-26 05:19:55 +00:00
Rui Matos
28a9439209 monitor-manager: Refuse to activate closed laptop panels
There's no good reason to allow this and it allows g-c-c to properly
show that such a configuration doesn't work.

https://bugzilla.gnome.org/show_bug.cgi?id=790336
2017-11-22 15:07:11 +01:00
Carlos Garnacho
cf4b5efdd1 backends: Do NULL checks before disconnecting/connecting signals
The displayed cursor may be NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=754806
2017-11-20 13:29:22 +01:00
Carlos Garnacho
3067dab84c backends: Do not set up the root cursor on invisible window pointers
Commit b1a0bf891 broke the previous logic that we would only fallback
to the root cursor if 1) windows are not interactable or 2) no window
cursor is currently set (i.e. not hovering over any window). Now it
will set up the root cursor if it's NULL, which breaks clients
explicitly setting an invisible cursor. This commit restaurates the
previous behavior.

https://bugzilla.gnome.org/show_bug.cgi?id=754806
2017-11-20 13:29:22 +01:00
Carlos Garnacho
1790320ba3 backends: Protect from reentrancy in meta_cursor_sprite_load_from_theme
This function is supposedly not failable, so just move the theme_dirty
flag clearing to the beginning of the function. Protects against cases
where requesting a cursor image may result in it being loaded and set
as a texture, which emits ::texture-changed, which may end up requesting
the cursor image again.

https://bugzilla.gnome.org/show_bug.cgi?id=754806
2017-11-17 17:22:18 +01:00
Carlos Garnacho
f45df4265d backends: Trigger MetaCursorTracker::cursor-changed on texture changes
So we allow gnome-shell's magnifier to update fake cursors while it's
turned on.

https://bugzilla.gnome.org/show_bug.cgi?id=754806
2017-11-17 17:22:18 +01:00
Carlos Garnacho
bcbcd6a68c backends: Add MetaCursorSprite::texture-changed signal
As wayland implements the cursor role, it consists of a persistent
MetaCursorSprite that gets the backing texture changed. This is
inconvenient for the places using MetaCursorTracker to track cursor
changes, as they actually track MetaCursorSprites.

This signal will be used to trigger emission of
MetaCursorTracker::cursor-changed, which will make users able to
update accordingly.

https://bugzilla.gnome.org/show_bug.cgi?id=754806
2017-11-17 17:22:18 +01:00
Carlos Garnacho
b1a0bf8916 backends: Dissociate visibility from current cursor sprite
Just like X11/XFixes behaves, the current cursor is not affected
by its visibility, so it can be queried while invisible (possibly
to be replaced).

For this, keep an extra effective_cursor pointer that will be
either equal to displayed_cursor (maybe a bit of a misnomer now)
or NULL if the cursor is invisible. The MetaCursorRenderer
management is tied to the former, and the ::cursor-changed signal
emission to the latter.

https://bugzilla.gnome.org/show_bug.cgi?id=754806
2017-11-17 17:22:18 +01:00
Carlos Garnacho
6c18bae83c compositor: Fix build
Unused variable definition. The fixup didn't make it to the previous
commit.
2017-11-17 16:58:54 +01:00
Carlos Garnacho
d0531966eb compositor: End MetaDnd grab on plugin grab end
We must emit ::dnd-leave to pair the ::dnd-enter that shall be
emitted whenever the plugin grab begins, otherwise we leave
listeners unable to clean up if the plugin begins and ends a
grab while there is an ongoing DnD operation.

https://bugzilla.gnome.org/show_bug.cgi?id=784545
2017-11-17 14:43:50 +01:00
Milo Casagrande
989a47ee8c Update Italian translation
(cherry picked from commit 32a151094d)
2017-11-17 13:31:22 +00:00
Olivier Fourdan
03be6b687b clutter/x11: Configure XKB accessibility
Configure XKB accessibility features from the x11 and xi2 clutter input
device managers, offloading this feature from gnome-settings-daemon.

https://bugzilla.gnome.org/show_bug.cgi?id=788564
2017-11-16 14:14:31 +01:00
Olivier Fourdan
32c22d375a clutter/x11: Add xkb accessibility helpers
Adds a set of convenient functions that can be shared between x11 input
device backends (namely core-x11 and xi2) to control XKB accessibility
features.

https://bugzilla.gnome.org/show_bug.cgi?id=788564
2017-11-16 14:14:31 +01:00
Olivier Fourdan
bdf3f49a82 clutter/evdev: implement mouse keys support
Control the pointer using the numeric keypad.

When enabled, creates a virtual pointer and emulate the pointer event
based on keyboard events.

https://bugzilla.gnome.org/show_bug.cgi?id=788564
2017-11-16 14:14:31 +01:00
Olivier Fourdan
356b4b0dc5 clutter/evdev: implement toggle keys support
Keeping Shift pressed for 8 seconds enables slow keys, pressing Shift 5
times in a row enables sticky keys.

https://bugzilla.gnome.org/show_bug.cgi?id=788564
2017-11-16 14:14:31 +01:00
Olivier Fourdan
3fc2ea8297 wayland/keyboard: Apply sticky keys masks
MetaWaylandKeyboard maintains its own xkb_state used to update Wayland
clients.

Add the necessary hooks to make sure the sticky keys modifier masks set
in clutter-evdev are also applied in MetaWaylandKeyboard's xkb_state so
that Wayland clients also benefit from sticky keys.

https://bugzilla.gnome.org/show_bug.cgi?id=788564
2017-11-16 14:14:31 +01:00
Olivier Fourdan
06d976e853 clutter/evdev: implement sticky keys support
One key press on a modifier latches it, two consecutive presses lock it.

https://bugzilla.gnome.org/show_bug.cgi?id=788564
2017-11-16 14:14:31 +01:00
Olivier Fourdan
96ebd1c214 clutter/evdev: implement bounce keys support
Ignore multiple consecutive identical key presses within a time frame.

https://bugzilla.gnome.org/show_bug.cgi?id=788564
2017-11-16 14:14:31 +01:00
Olivier Fourdan
fa28481736 clutter/evdev: implement slow keys support
Delay emitting clutter key press events when slow key is enabled.

https://bugzilla.gnome.org/show_bug.cgi?id=788564
2017-11-16 14:14:31 +01:00
Olivier Fourdan
76b064cffc clutter/evdev: Implement a11y configuration hooks
Apply the keyboard accessibility settings to the master keyboard.

https://bugzilla.gnome.org/show_bug.cgi?id=788564
2017-11-16 14:14:31 +01:00
Olivier Fourdan
333b5d12a0 backends: configure keyboard accessibility
Set the relevant flags and values for keyboard accessibility from
gsettings.

https://bugzilla.gnome.org/show_bug.cgi?id=788564
2017-11-16 14:14:31 +01:00
Olivier Fourdan
aa73504d95 clutter: add keyboard accessibility signals
Implementing keyboard accessibility in clutter means we need to be able
to notify higher layers of possible modifier masks or setting changes
(as some keyboard accessibility can be disabled or enabled by keyboard).

For this purpose, add two new signals:

   ClutterDeviceManager::kbd-a11y-mods-state-changed
   ClutterDeviceManager::kbd-a11y-flags-changed

https://bugzilla.gnome.org/show_bug.cgi?id=788564
2017-11-16 14:14:31 +01:00
Olivier Fourdan
32305b453d clutter: add hooks for kbd a11y configuration
Use a set of bitwise enum flags to set different keyboard accessibility
features and the necessary vfunc hooks in clutter input device so that
keyboard preferences can be passed to different input device
implementations.

The idea is to be able to configure either the clutter own
implementation of keyboard accessibility for evdev, or eventually
configure AccessX from the X11 clutter input device using the same
mechanism.

https://bugzilla.gnome.org/show_bug.cgi?id=788564
2017-11-16 14:14:31 +01:00
Olivier Fourdan
7d5e08c843 clutter-main: Add hooks to plug kbd accessibility
On X11, when AccessX is enabled, all X11 clients benefit from the
AccessX features, including gnome-shell/mutter, meaning that special
keys like the overview or other shortcuts are also affected.

To achieve the same in Wayland, we need to implement the same features
in clutter main rather than the Wayland backend, so that all depending
code within the compositor but also Wayland clients (which rely on the
compositor to get keyboard events) similarly benefit from the
accessibility features.

Add hooks to the clutter main loop to be able to implement such
features.

https://bugzilla.gnome.org/show_bug.cgi?id=788564
2017-11-16 14:14:31 +01:00
Olivier Fourdan
dc0fc65229 backend/native: implement bell-notify
https://bugzilla.gnome.org/show_bug.cgi?id=788564
2017-11-16 14:14:31 +01:00
Olivier Fourdan
428af6d213 backend/x11: implement bell-notify
https://bugzilla.gnome.org/show_bug.cgi?id=788564
2017-11-16 14:14:31 +01:00
Olivier Fourdan
2ffe597617 clutter/backend: Add bell-notify
We'll need a way to trigger a bell from within clutter for keyboard
accessibility features, add the necessary hooks to be able to call a
backend bell-notify method.

https://bugzilla.gnome.org/show_bug.cgi?id=788564
2017-11-16 14:14:31 +01:00
Olivier Fourdan
0461eed0cb wayland: Disable AccessX in Xwayland
Keyboard accessibility features in Wayland are handled in the
compositor, we do not want AccessX in Xwayland to interfere with the
compositor.

https://bugzilla.gnome.org/show_bug.cgi?id=788564
2017-11-16 14:14:31 +01:00
Muhammet Kara
ca1bacc212 Update Turkish translation
(cherry picked from commit 8c45fbfb58)
2017-11-15 20:50:32 +00:00
Marek Cernocky
2229365ca8 Updated Czech translation 2017-11-15 13:35:31 +01:00
Charles Monzat
8c367364b6 Update French translation
(cherry picked from commit 6797be5e1e)
2017-11-14 08:11:50 +00:00
Anders Jonsson
58909da425 Update Swedish translation
(cherry picked from commit f4b4ef32ed)
2017-11-13 23:44:31 +00:00
Christian Kirbach
ff32bf467c Update German translation
(cherry picked from commit cdfeecc318)
2017-11-11 21:20:20 +00:00
Rafael Fontenelle
c5572d3095 Update Brazilian Portuguese translation
(cherry picked from commit 19cde75acc)
2017-11-11 18:57:12 +00:00
Kjartan Maraas
e706bcdf73 Updated Norwegian bokmål translation. 2017-11-11 18:19:24 +01:00
Piotr Drąg
d9ebcbd55c Update Polish translation 2017-11-10 19:30:56 +01:00
Piotr Drąg
240b13aa74 Update POTFILES.in 2017-11-10 19:16:27 +01:00
Olivier Fourdan
97635d6f84 Add restore-shortcuts to key bindings list
gnome-control-center uses this to list the keybindings, without this
users cannot change the default key combo to restore shortcuts.

https://bugzilla.gnome.org/show_bug.cgi?id=789386
2017-11-10 17:59:26 +01:00
Olivier Fourdan
6c21a22e4d wayland: Use Super+Escape to re-enable shortcuts
Change the default key combo to re-enable normal keyboard shortcuts
processing while a shortcut inhibitor is in effect to Super+Escape as
primary system modifier key should be Super.

This should reduce the risk of potential conflict with other shortcuts.

https://bugzilla.gnome.org/show_bug.cgi?id=789386
2017-11-10 17:58:00 +01:00
Jonas Ådahl
0add6f62b6 window/wayland: Handle resizing when headless
We tried to get the geometry scale, which may depend on the main
logical monitor assigned to the window. To avoid dereferencing a NULL
logical monitor when headless, instead assume the geometry scale is 1.

https://bugzilla.gnome.org/show_bug.cgi?id=788764
2017-11-10 10:24:10 +08:00
memeka
049418cd03 renderer/native: Also allow EGL_KHR_platform_gbm extension string
Proprietary drivers such as ARM Mali export EGL_KHR_platform_gbm instead
of EGL_MESA_platform_gbm. As such, GBM platform check should be done for
both MESA and non-MESA drivers.

https://bugzilla.gnome.org/show_bug.cgi?id=780668
2017-11-09 18:16:27 +08:00
Benoit Gschwind
3ee1999c70 backend: Reset current device id when current device removed
Bluetooth mouse usually goes in sleep state after a timeout, when that
happen the mouse is disconnected and on_device_removed function is
called. Before the patch if a touch device is available the
on_device_removed function hide the cursor. The issue is that the cursor
does not reappear once the bluetooth mouse is reconnected because
MetaBackend::current_device_id is not invalidated when on_device_removed
was called.

The patch set MetaBackend::current_device_id to 0 if the current device
is removed. This will make update_last_device to be triggered as soon as
another input device is used or the bluetooth mouse reconnect, as
consequence that the cursor reappear. The id 0 is never given to devices
and can safely used as undefine id.

https://bugzilla.gnome.org/show_bug.cgi?id=761067
2017-11-09 17:42:45 +08:00
Kjartan Maraas
e4b8920688 Updated Norwegian bokmål translation. 2017-11-08 20:15:37 +01:00
Carlos Garnacho
eb236649fc backends: Plug leaks
The DRM properties container must be destroyed with
drmModeFreeObjectProperties, and the connectors must be freed on every
caller. Also make it sure that gbm_device structs are destroyed with the
MetaRendererNativeGpuData that owns them.

https://bugzilla.gnome.org/show_bug.cgi?id=789984
2017-11-07 11:02:00 +01:00
Carlos Garnacho
0a36a4545f core: Plug leaks
The MetaWorkspaceLogicalMonitorData structs are leaked, and so is the
stamps hashtable in MetaDisplay.

https://bugzilla.gnome.org/show_bug.cgi?id=789984
2017-11-07 10:48:45 +01:00
Carlos Garnacho
180985018b wayland: Plug leak
The remote DBus error is leaked.

https://bugzilla.gnome.org/show_bug.cgi?id=789984
2017-11-07 10:48:45 +01:00
Carlos Garnacho
c86c5d6905 clutter: Plug evdev ClutterDeviceManager leaks
The unused ID GList element is leaked, and so is the node path.

https://bugzilla.gnome.org/show_bug.cgi?id=789984
2017-11-06 20:51:58 +01:00
Carlos Garnacho
c2fad2dc7c compositor: Keep reference to the screen on the MetaBackground
This is not a leak per se, but it seems too easy to make valgrind
SIGSEGV due to MetaBackground disconnecting signals from an already
destroyed MetaScreen when trying to SIGTERM gnome-shell. Keeping a
reference fixes this.

https://bugzilla.gnome.org/show_bug.cgi?id=789984
2017-11-06 20:51:58 +01:00
Kjartan Maraas
1196b7bde4 Updated Norwegian bokmål translation. 2017-11-06 13:43:25 +01:00
Marc-Antoine Perennou
19eddfd756 build-sys: allow explicitely disabling remote-desktop and egl-device
https://bugzilla.gnome.org/show_bug.cgi?id=789958

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-11-06 10:57:33 +01:00
Khaled Hosny
ed280ef4ac Update Arabic translation 2017-11-03 10:23:14 +02:00
Jonas Ådahl
b6200ac3ff wayland/keyboard: Don't transfer layout group when replacing xkb state
The layout group determines what actual keyboard layout in the keymap
to use when translating modifier state and key codes to key syms.
When changing a keymap to another, the layout groups has no relation to
the layout groups in the old keymap, thus there is no reason to
transfer it to the new state.

This fixes an issue where the xkb state in meta-wayland-keyboard.c got
desynchronized with the xkb state in clutter-device-manager-evdev.c.

https://bugzilla.gnome.org/show_bug.cgi?id=789300
2017-11-02 12:10:10 +08:00
Jonas Ådahl
626621a53a renderer-native-gles3: Add cpp error if gl.h was included
On some architectures, including both GLES3/gl3.h GL/gl.h will cause
compilation issues due to incompatible type definitions. To avoid
running into that issue while building on other architectures, make
sure we haven't included GL/gl.h by accident.

https://bugzilla.gnome.org/show_bug.cgi?id=788695
2017-10-30 19:52:42 +08:00
Jonas Ådahl
fb3a64491e renderer-native-gles3: Remove unnecessary includes
They caused conflicts on i686 as GL/gl.h was included by cogl.

https://bugzilla.gnome.org/show_bug.cgi?id=788695
2017-10-30 19:52:42 +08:00
Jonas Ådahl
294f9419f7 renderer-native-gles3: Don't pass GPU when rendering
It wasn't used for anything, so don't pass it.

https://bugzilla.gnome.org/show_bug.cgi?id=788695
2017-10-30 19:52:42 +08:00
Daniel van Vugt
a37956c95f eglnative: Use gnome-settings-daemon font settings
While the X11 backend gets its font settings from XSettings, the native
backend did not use any user font preferences till now. So all shell fonts
were rendered with grayscale un-hinted, which some people describe as
"blurry text in Wayland sessions".

Although it's somewhat confusing using the "xsettings" schema on eglnative,
this is consistent with what GTK does already for its Wayland backend. It
is also documented here:

https://wiki.gnome.org/Initiatives/Wayland/GTK%2B#XSettings
https://wiki.gnome.org/Initiatives/Wayland/gnome-settings-daemon#xsettings

No more blurry shell text in Wayland sessions.

https://bugzilla.gnome.org/show_bug.cgi?id=645433
2017-10-27 22:12:57 -05:00
Carlos Garnacho
89f5ca3301 backends: Unref variants obtained from g_variant_iter_get_next_value()
Those are being leaked.

https://bugzilla.gnome.org/show_bug.cgi?id=789553
2017-10-27 13:22:12 +02:00
Jonas Ådahl
07745b3082 wayland/surface: Disconnect actor handlers before unassigning role
The handlers depend on a role being assigned. Destroying the window
causes it to become unmapped, which would sometimes trigger one of the
handlers, resulting in an is-assigned assert hitting in one of the
handlers. Avoid this by disconnecting the handlers earlier, so that
there is no risk that any them being triggered before the role is
assigned.

https://bugzilla.gnome.org/show_bug.cgi?id=789552
2017-10-27 19:08:38 +08:00
Daniel van Vugt
054c25f693 wayland: Allow Xwayland to leave core dumps
For historical Xorg-reasons, Xwayland would disable its own core dumps by
default. This is a problem because Xwayland crashing is the biggest cause of
gnome-shell crashes [1][2], and we still have no idea why due to there being
no dumps from Xwayland. So enable core dumping from Xwayland.

https://bugzilla.gnome.org/show_bug.cgi?id=789086

[1] https://bugs.launchpad.net/bugs/1505409
[2] https://bugs.launchpad.net/bugs/1556601
2017-10-26 19:50:40 -05:00
Carlos Garnacho
01de04d8c9 wayland: Update pointer confinement on surface actor relocations
In the unlikely case that a surface is moved by the compositor while
holding a pointer confinement, we also need to update the pointer
position when the surface actor gets moved.

https://bugzilla.gnome.org/show_bug.cgi?id=782344
2017-10-26 12:53:20 +02:00
Carlos Garnacho
08e4cb54a8 wayland: Trigger wl_output updates on actor position changes
Both notify::position on the surface actor and position-changed on
MetaWindow are listened to, in order to trigger wl_output updates for
wl_surfaces whenever the surfaces move across them.

Both signals are necessary in order to cater for toplevel and subsurface
relocations (Because it's the parent window actor what changes position
in this last case).

Also, shuffle signal disconnection, so each signal goes away with
the object reference held by MetaWaylandSurface.

https://bugzilla.gnome.org/show_bug.cgi?id=782344
2017-10-26 12:51:44 +02:00
Carlos Garnacho
c71faffb71 backends/native: Fix handling of trackball settings
The org.gnome.desktop.peripherals.trackball.scroll-wheel-emulation-button
setting contains buttons X11-style. Work out the BTN evcode that applies
to it when applying the setting on the libinput device.

https://bugzilla.gnome.org/show_bug.cgi?id=787804
2017-10-26 12:48:15 +02:00
Marco Trevisan (Treviño)
91e3a0b3a9 MetaWindowActor: assert that we have plugin manager on simple effect
It looks that there are some extensions that run a Mainloop on startup,
causing to dispatch a clutter paint before the compositor is even available.
In such scenario a MetaWindow could try to start a simple effect
using a compositor plugin which is not there yet.

Then in order to catch these bugs we can now assert that the expected
conditions are valid, so that gnome-shell will provide a dumpstack to
debug the real offending JS code.

https://bugzilla.gnome.org/show_bug.cgi?id=789223
2017-10-24 04:42:54 -05:00
Jeremy Bicha
5fa8f78434 Revert "tests: Fix actor-anchors test"
This reverts commit dd451547a5.

since we reverted commit 5cb5baa with commit 4d2647c
2017-10-21 18:58:37 -04:00
Marco Trevisan (Treviño)
ab5ac21104 window: rename get_flatpack_id into get_sandboxed_app_id
This function can be more generic now.

https://bugzilla.gnome.org/show_bug.cgi?id=789277
2017-10-21 13:36:16 -05:00
Marco Trevisan (Treviño)
0ebea2be9c Revert "MetaWindowActor: don't start any effect when no compositor is available"
This reverts commit 35fcf4a4ae.
2017-10-20 03:25:31 -05:00
Marco Trevisan (Treviño)
6f54bab0a8 Revert "MetaPluginManager: don't try to deference a NULL pointer when processing events"
This reverts commit 74565380aa.
2017-10-20 03:23:28 -05:00
Marco Trevisan (Treviño)
5d7deab6da Revert "display: trap X errors in get_current_time_roundtrip"
This reverts commit cc772ddd61.
2017-10-20 03:22:59 -05:00
Marco Trevisan (Treviño)
35fcf4a4ae MetaWindowActor: don't start any effect when no compositor is available
There are cases when no compositor is available (yet) but a MetaWindow tries
to start a simple effect using a compositor plugin which is not available.
In that case we should just ignore any request and protect ourselves from
crashes.

https://bugzilla.gnome.org/show_bug.cgi?id=789223
2017-10-20 16:10:18 +08:00
Marco Trevisan (Treviño)
74565380aa MetaPluginManager: don't try to deference a NULL pointer when processing events
This function might be called by components with invalid plugin manager
(as it might happen to MetaWindow when the compositor isn't initialized
properly), so we need to protect ourselves from crashes.

https://bugzilla.gnome.org/show_bug.cgi?id=789223
2017-10-20 16:10:18 +08:00
Marco Trevisan (Treviño)
fa37496ffb MetaLogicalMonitor: free the monitors list on finalize
https://bugzilla.gnome.org/show_bug.cgi?id=789227
2017-10-20 16:10:18 +08:00
Marco Trevisan (Treviño)
cc772ddd61 display: trap X errors in get_current_time_roundtrip
Only return the actual timestamp if we get one.

https://bugzilla.gnome.org/show_bug.cgi?id=788971
2017-10-20 16:10:18 +08:00
Michael Catanzaro
4d2647cdbc Revert "ClutterActor: Optimize away idempotent scale/position updates"
This reverts commit 5cb5baa7d4.

There's a cascade of regressions that needs to be sorted out before
relanding this:

https://bugzilla.gnome.org/show_bug.cgi?id=784314
2017-10-19 19:54:24 -05:00
Rui Matos
3caefd8fda compositor: Avoid a crash if the top window actor is finalized
Since we're not holding a reference, the top window actor might be
finalized when we paint resulting in a use after free crash.

https://bugzilla.gnome.org/show_bug.cgi?id=788493
2017-10-19 18:37:34 +02:00
Jonas Ådahl
12381d57d1 monitor-unit-tests: Check non-first preferred modes
Check that if there are multiple modes with the same ID (resolution,
refresh rate and handled flags) we correctly add the preferred mode to
the list of monitor modes.

https://bugzilla.gnome.org/show_bug.cgi?id=789153
2017-10-19 10:17:14 +08:00
Jonas Ådahl
4ad8c4b86b monitor/normal: Prefer modes with same flags as preferred mode
When generating MetaMonitorMode's, prefer CRTC modes that has the same
set of flags as the preferred mode. This not only is probably a better
set of configurable modes, but it'll guarantee that the preferred mode
is added.

This fixes a crash when the preferred mode was not the first mode with
the same resolution, refresh rate and set of handled modes.

https://bugzilla.gnome.org/show_bug.cgi?id=789153
2017-10-19 10:16:50 +08:00
Florian Müllner
dbd2827ca1 Bump version to 3.27.1
Update NEWS.
2017-10-17 17:44:39 +02:00
Jonas Ådahl
1a78557e0b monitor-manager/xrandr: Use a single supported scales list for all
Under X11 we can only ever have the same scale configured on all
monitors. In order to use e.g. scale 2 when there is a HiDPI monitor
connected, we must not disallow it because there is a monitor that does
not support scale 2. Thus we must show the same scale for every monitor
and monitor mode, even though it might result in a bad experience.

Do this by iterating through all the monitors adding all supported
scales by the preferred mode, combining all the supported scales. This
supported scales list is then used for all monitor and modes no matter
what.

https://bugzilla.gnome.org/show_bug.cgi?id=788901
2017-10-17 15:21:12 +08:00
Jonas Ådahl
2e99963087 compositor: Ignore offscreen windows when unredirecting
When determining whether we should unredirect a window or not, ignore
offscreen windows, and just check the top most visible window.

Previously this was not an issue, but since 'stack-tracker: Keep
override redirect windows on top' we started sorting the UI frames
window, which is an offscreen override redirect window, on top, causing
the unredirect checking code to always check whether to unredirect the
UI frames window. This effectively disabled the compositor bypass
functionality.

https://bugzilla.gnome.org/show_bug.cgi?id=788493
2017-10-17 14:50:18 +08:00
Rui Matos
4d763e1828 x11/window: Don't manage InputOnly windows
This was dropped by mistake in commit
f166240225.

https://bugzilla.gnome.org/show_bug.cgi?id=788493
2017-10-17 14:50:18 +08:00
Jonas Ådahl
a17b343c21 monitor-manager/xrandr: Chain up constructed vfunc
'monitor-manager: Keep pointer to backend' added a
GObjectClass::constructed implementation, but didn't chain it up to the
parent. Fix that.

https://bugzilla.gnome.org/show_bug.cgi?id=788921
2017-10-16 17:13:55 +08:00
Marco Trevisan (Treviño)
556136dacc workspace: ensure that workarea data is valid when fetching by monitor num
https://bugzilla.gnome.org/show_bug.cgi?id=788860
2017-10-13 00:46:51 -05:00
Marco Trevisan (Treviño)
a8c80ccece backend: move the cursor render update on screen changes here
https://bugzilla.gnome.org/show_bug.cgi?id=788860
2017-10-13 00:46:51 -05:00
Marco Trevisan (Treviño)
f044511037 monitor-manager: use g_return_val_if_fail if trying to fetch an invalid monitor
https://bugzilla.gnome.org/show_bug.cgi?id=788860
2017-10-13 13:43:03 +08:00
Marco Trevisan (Treviño)
b31e545c9d backends: add 'monitors-updated-internal' signal to only update internal state
Adding an internal signal and use it to update the internal state before
emitting "monitors-changed" which will be repeated by the screen to the world.

https://bugzilla.gnome.org/show_bug.cgi?id=788860
2017-10-13 00:42:50 -05:00
Jonas Ådahl
fad5657eda DisplayConfig: Add 'legacy-ui-scaling-factor' property
We have this value in mutter; lets share it so that for example
gnome-settings-daemon doesn't have to calculate it itself.

https://bugzilla.gnome.org/show_bug.cgi?id=788820
2017-10-12 17:42:52 +08:00
Jonas Ådahl
eaf9ccde39 settings: Get UI scaling factor from primary logical monitor
Don't use MAX(logical monitor scales) to determine the UI scaling
factor, just use the primary logical monitor. That's where the shell UI
will most likely be.

https://bugzilla.gnome.org/show_bug.cgi?id=788820
2017-10-12 17:42:52 +08:00
polygamma
f9c625924e x11: Protect XChangeProperty call with error traps
They may happen around the time a window is destroyed, thus could result
on BadWindow X errors.

https://bugzilla.gnome.org/show_bug.cgi?id=788666
2017-10-10 13:55:40 +02:00
Carlos Garnacho
64cb735abf configure: Explicitly require gl pkgconfig file
Mutter now does direct calls to GL, so we should add the requirement to
it. Fixes underlinking when generating Meta-1.gir.
2017-10-09 13:41:41 +02:00
Carlos Garnacho
c85f322b20 backends/native: Move functions out of HAVE_EGL_DEVICE
Those are now used in common code, so should be taken out of
the ifdef. Fixes compilation without EGL streams.
2017-10-09 13:39:50 +02:00
Jonas Ådahl
76096a725b monitor-unit-tests: Check going headless -> headless
https://bugzilla.gnome.org/show_bug.cgi?id=788607
2017-10-07 00:36:03 -04:00
Jonas Ådahl
6eb7d13894 window: Handle updating from no to no monitor
When we received two hot plug events that both resulted in headless
configuration, we tried to find a new window monitor given the old.
That resulted in a null pointer dereference; avoid that by only trying
to find the same monitor if there was an old one.

https://bugzilla.gnome.org/show_bug.cgi?id=788607
2017-10-07 00:36:03 -04:00
Jonas Ådahl
7928b25ebf renderer/native: Use g_initable_new() to create renderer
No need to do g_object_new then g_initable_init while tracking the
lifetime when g_initable_new() can do it for us.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-06 13:18:12 -04:00
Jonas Ådahl
78e6258b44 cursor-renderer-native: Support HW cursors on multiple GPUs
On hybrid GPU systems, hardware cursors needs to be realized on all the
GPUs, as scanout cursor planes cannot be shared. Do this by moving gbm
buffer and drm buffer ID management to a per GPU struct, realizing a
cursor on each GPU when previously only realized on the primary GPU.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-06 13:18:12 -04:00
Jonas Ådahl
c9259c2b15 renderer-native: Add hybrid GPU system support
A hybrid GPU system is a system where more than one GPU is connected to
connectors. A common configuration is having a integrated GPU (iGPU)
connected to a laptop panel, and a dedicated GPU (dGPU) connected to
one or more external connector (such as HDMI).

This commit adds support for rendering the compositor stage using the
iGPU, then copying the framebuffer content onto a secondary framebuffer
that will be page flipped on the CRTC of the dGPU.

This can work in two different ways: GPU accelerated using Open GL ES
3, or CPU unaccelerated.

When supported, GPU accelerated copying works by exporting the iGPU
onscreen framebuffer as a DMA-BUF, importing it as a texture on a
separate dGPU EGL context, then using glBlitFramebuffer(), blitting it
onto a framebuffer on the dGPU that can then be page flipped on the dGPU
CRTC.

When GPU acceleration is not available, copying works by creating two
dumb buffers, and each frame glReadPixels() from the iGPU EGL render
context directly into the dumb buffer. The dumb buffer is then page
flipped on the dGPU CRTC.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-06 13:18:12 -04:00
Jonas Ådahl
492d2eb573 renderer-native: Move some error reporting up the call stack
Pass GErrors to functions that can fail, and report the error att the
call site.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:17:26 -04:00
Jonas Ådahl
376dcd3b92 gpu-kms: Pass GPU on page flip callbacks
https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:17:26 -04:00
Jonas Ådahl
60781bc6c2 backends: Add OpenGL ES 3 abstraction layer
Add helper functions and macros for managing and drawing OpenGL ES 3.
It will be used for blitting framebuffers between multiple GPUs in
hybrid GPU systems.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:17:26 -04:00
Jonas Ådahl
2d8827cb0c egl: Add more API used when rendering
Eventually, we'll render buffers without using Cogl, and for this we
need to be able to do things like creating, destroying and changing the
context, as well as swapping buffers.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:17:26 -04:00
Jonas Ådahl
802f7dcd30 monitor: Add meta_monitor_get_gpu()
Add API to get what GPU drives this monitor.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:17:26 -04:00
Jonas Ådahl
e62cfd9043 egl: Expose eglGetProcAddress
It will be needed for OpenGL ES extension function symbol loading.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:17:26 -04:00
Jonas Ådahl
cbcf6a4f23 monitor-manager-kms: Add all GPUs with connectors
First find the primary GPU and open it. Then go through all other
discovered GPUs with connectors and add those too. MetaRendererNative
still fails to initialize when multiple added GPUs and
MetaCursorRendererNative still always falls back on OpenGL based cursor
rendering when there are multiple GPUs.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:17:26 -04:00
Jonas Ådahl
b0e42d3f6e renderer-native: Always use MetaEgl when interacting with EGL
Partly for consistency, partly for error handling functionality.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:17:25 -04:00
Jonas Ådahl
18eb66de06 cogl: Add way to pass user data when setting custom renderer winsys
When creating a renderer with a custom winsys (which is always how
mutter uses cogl) make it possible to pass a user data with the winsys.
Still unused.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:10:30 -04:00
Jonas Ådahl
b32cccddf9 egl: Expose .._has_extensions_..() function
It will be used by e.g. a future GLES helper unit needing similar
functionality.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:10:30 -04:00
Jonas Ådahl
362e26b3e2 renderer-native: Add MetaEgl getter from renderer
https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:10:30 -04:00
Jonas Ådahl
5c53284bde renderer-native: Turn dumb buffer into a simple type
Make dumb buffer creation/destruction reusable by introducing a
MetaDumbBuffer type (private to meta-renderer-native.c). This will
later be used for software based fallback paths for copying render GPU
buffers onto secondary GPUs.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:10:27 -04:00
Jonas Ådahl
e45d7f70e8 crtc-kms: Don't set normal transform when no transforms are supported
On a CRTC that doesn't report any transforms at all, setting the normal
transform will fail. Avoid failing by checking if any transforms are
supported before applying it, and early out if no transforms are
supported.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:08:09 -04:00
Jonas Ådahl
70edc7dda4 backends/native: Stop supporting stage views being disabled
Get rid of some technical dept by removing the support in the native
backend for drawing the the whole stage to one large framebuffer.
Previously the only way to disable stage views was to set the
MUTTER_STAGE_VIEWS environment variable to 0; doing that now will cause
the native backend to fail to initialize.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:08:09 -04:00
Jonas Ådahl
3244ed37a9 cursor-rendere-native: Don't declare HW cursors broken on EACCES
Don't permanently fall back to OpenGL based cursor rendering when
setting the HW cursor fails with EACCES as that may happen on VT
switching and other things temporarily revoking fd access.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:08:09 -04:00
Jonas Ådahl
406359bba1 gpu-kms: poll() on KMS fd on EAGAIN
When drmHandleEvent() returns an error and errno is set to EAGAIN,
instead of ending up in a busy loop, poll() the fd until there is
anything to read.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:08:09 -04:00
Jonas Ådahl
8b23dd915f cursor-renderer-native: Don't leak cursor gbm buffers
We tried to free all three cursors by looping, but only ever tried to
free the first buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:08:09 -04:00
Jonas Ådahl
7e1f65405f native/renderer: More naming cleanups
The prefix, if any, of a variable name often contains information about
the namespace (such as clutter_backend is the ClutterBackend, while
backend is a MetaBackend). Clean up some more inconsistencies in
meta-renderer-native.c where various variable names were egl_ prefixed
but in fact was Cogl types.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:08:08 -04:00
Jonas Ådahl
c1683073f1 backends: Split out CRTC/output management to MetaGpu
In order to eventually support multilpe GPUs with their own connectors,
split out related meta data management (i.e. outputs, CRTCs and CRTC
modes) into a new MetaGpu GObject.

The Xrandr backend always assumes there is always only a single "GPU" as
the GPU is abstracted by the X server; only the native backend (aside
from the test backend) will eventually see more than one GPU.

The Xrandr backend still moves some management to MetaGpuXrandr, in
order to behave more similarly to the KMS counterparts.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 18:05:20 -04:00
Jonas Ådahl
18ec86bd90 Remove meta_monitor_manager_get_monitor_for_output() API
This function is replaced by an equivalent that takes a connector
string.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
315a6f43d7 monitor-manager: Keep pointer to backend
Instead of accessing the global singleton, keep a pointer to the
backend in the MetaMonitorManager struct.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
7603bb5fd5 monitor-manager-dummy: Use GObject type declaration macro
Use G_DECLARE_FINAL_TYPE instead of old multiple macro definitions way.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
d53b79f8c3 native/cursor-renderer: Cleanup construction
Pass the backend to a new factory function, and keep a pointer to the
monitor manager, which is accessed elsewhere in the same file instead of
fetching the singleton. The HW cursor initialization part is also made
more obvious, without depending on seemingly irrelevant clutter
features.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
f534452c6a cursor-renderer-native: Remove unused functions and declarations
https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
0f6b83e7df cursor-renderer-native: Cleanup type declaration
Use G_DECLARE_FINAL_TYPE instead of the old macros.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
16a6aef5a7 backends/native: Move KMS fd management to monitor manager
Move finding, opening and managment of the KMS file descriptor to
MetaMonitorManagerKms. This means that the monitor manager creation can
now fail, both if more than one GPU with connectors is discovered, or
if finding or opening the primary GPU fails.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
518fb9fb5e backends: Split monitor manager creation into create and setup
The monitor manager instance was created and setup in one step; at
construction. This is problematic if, in the future, the monitor manager
creation can fail, as the monitor manager is created quite late.

To make it possible to in the future fail creating a monitor manager,
create the instance very early when initiating the backend, then on
post init backend setup, "setup" the monitor manager state, i.e. read
the current state and setup the stage.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
547ace3cf8 backend/native: Propogate error when creating renderer
The error was printed, then dropped, eventually resulting in another
generic error being printed. Lets just propogate the error all the way
up instead.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
a4ba38ee78 backends/x11: Move CRTC code to its own file
Move code dealing with Xrandr MetaCrtcs and related functionality to its
own file. Eventually, MetaCrtcCrtc should be introduced, based on
MetaCrtc, and this commit is in preparation for that.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
e32d52b9b8 backends/x11: Move output code to its own file
Move code dealing with X11 MetaOutputs and related functionality to its
own file. Eventually, a MetaOutputXrandr should be introduced, based on
MetaOutput, and this commit is in preparation for that.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
de40ced8b4 backends/native: Move CRTC code to its own file
Move code dealing with MetaCrtcKms and related functionality to its
own file. Eventually, MetaCrtcKms should become a GObject based on
MetaCrtc, and this commit is in preparation for that.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
cfee58798e backends/crtc: Keep a pointer to the monitor manager
Instead of passing it around or fetching the singleton, keep a pointer
to the monitor manager that owns the CRTC. This will eventually be
replaced with a per GPU/graphics card object.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
7ea01693a7 backends/native: Move output code to its own file
Move code dealing with MetaOutputKms and related functionality to its
own file. Eventually, MetaOutputKms should become a GObject based on
MetaOutput, and this commit is in preparation for that.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
e0d839aea2 backends/output: Keep a pointer to the monitor manager
Instead of passing it around or fetching the singleton, keep a pointer
to the monitor manager that owns the output. This will eventually be
replaced with a per GPU/graphics card object.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
d3efd73429 monitor-manager-kms: Use G_DECLARE_FINAL_TYPE macro
Declare the MetaMonitorManagerKms type using the helper macro, instead
of manually.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
2db5505216 monitor-manager: Turn MetaCrtcMode into a GObject
Convert MetaCrtcMode from a plain struct to a GObject. This changes the
storage format, and also the API, as the API was dependent on the
storage format.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
f44b6c772a monitor-manager/kms: Some naming fixes
Prefix external types (e.g mode -> drm_mode) and rename a search
function to not refer to a local type as ".._meta_..".

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
f64fab1d2d monitor-manager: Make MetaCrtc a GObject
Turn MetaCrtc into a GObject and move it to a separate file. This
changes the storage format, resulting in changing the API for accessing
MetaCrtcs from using an array, to using a GList.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
39bc2e0333 monitor-manager/dummy: Define tile count instead of using array length
Explicitly define the tile count (2) and use this instead of the
crtc_decl array length.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
5bb6f0ad8b renderer/native: Use helper to iterate over logical monitor CRTCs
Don't iterate over all the CRTCs and check the CRTC logical monitor
state, but use the new MetaLogicalMonitor helper instead.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
903537a2a0 logical-monitor: Add helper for iterating over active CRTCs
Add meta_logical_monitor_foreach_crtc() helper to iterate over all the
active CRTCs driving the monitors associated with the specified logical
monitor.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
1db937826c monitor-manager/xrandr: Fix crtc variable naming
The variable name of the local type (MetaCrtc) should not be prefixed,
while the external one should be.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
c1fe1c5d6b window-actor: Use monitor API to get frame message refresh rate
Use the MetaMonitor API instead of accessing outputs directly to get
the refresh rate used when genaritng the frame message.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
a62e9f99a2 backends: Remave unused meta_monitor_manager_get_resources() API 2017-10-05 16:18:43 -04:00
Jonas Ådahl
9817a6aa47 Make MetaOutput a GObject
Turn MetaOutput into a GObject and move it to a separate file. This
changes the storage format, resulting in changing the API for accessing
MetaOutputs from using an array, to using a GList.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-05 16:18:43 -04:00
Jonas Ådahl
8185373bd4 screen-cast-stream-src: Only clean up pipewire remote/core if they exist
They can could fail to create, so lets deal better with that
possibility.

https://bugzilla.gnome.org/show_bug.cgi?id=788569
2017-10-05 16:15:48 -04:00
Florian Müllner
18c41aefc9 build: Fetch pipewire micro version
Pipewire doesn't export its version defines, so the API checks added
in commit f0c6c4eb1f effectively disable screencasting, whoops.
Breaking changes like this should disappear once the library stabilizes,
so simply define the version ourselves instead of writing a "proper"
test with AC_COMPILE_IFELSE() ...

https://bugzilla.gnome.org/show_bug.cgi?id=788572
2017-10-05 22:11:14 +02:00
Daniel Stone
32917f1922 wayland-dma-buf: Don't send modifiers to old clients
The modifier event was only added in v3 of the client; sending it to
older clients (e.g. GStreamer waylandsink) causes them to disconnect
immediately.

Send the older 'format' event to all clients, and only send the newer
'modifier' event to resource versions 3 or above.

https://bugzilla.gnome.org/show_bug.cgi?id=788558
2017-10-05 10:51:06 -04:00
Xavi Ivars
7a843e1fd1 [l10n] Updated Catalan (Valencian) translation 2017-10-05 14:15:49 +02:00
Florian Müllner
0e154ccf76 Bump version to 3.26.1
Update NEWS.
2017-10-04 01:11:31 +02:00
Jonas Ådahl
120db06c60 monitor-tests: Test config migration with refresh rate wiggle room
Check that we finish configurations within range, and discard the ones
out of range.

https://bugzilla.gnome.org/show_bug.cgi?id=787668
2017-10-04 09:45:52 -04:00
Jonas Ådahl
e76ab05d45 monitor-tests: Fix error message grammar mistake 2017-10-04 09:45:02 -04:00
Jonas Ådahl
43eeb009ce monitor-config-migration: Discard if configured mode is missing
If a configuration key matched a current system state, but no monitor
mode was found (for example because of an incorrect refresh rate),
discard it while logging a warning.

https://bugzilla.gnome.org/show_bug.cgi?id=787668
2017-10-04 09:45:02 -04:00
Carlos Garnacho
9000eef49d backends: Add envvar to disable wacom configuration
People that relied on xsetwacom to configure their tablets used to get
away with this by disabling the wacom g-s-d plugin prior to running
their scripts. This is not possible anymore with mutter managing device
configuration.

Given that X11 shall not go away soon and there's a core of stubbornly
accustomed users, provide a MUTTER_DISABLE_WACOM_CONFIGURATION envvar
to provide *some* way to do this.
2017-10-04 01:03:49 +02:00
Georges Basile Stavracas Neto
e198c8452b x11: Add support for _GTK_EDGE_CONSTRAINTS atom
To keep feature parity with the Wayland backend, and
to improve the overall tiling experience with GTK apps,
add the _GTK_EDGE_CONSTRAINTS X11 atom and update it
when necessary.

https://bugzilla.gnome.org/show_bug.cgi?id=751857
2017-10-03 19:38:32 -03:00
Georges Basile Stavracas Neto
aea66ddff6 wayland: Send edge constraints
Following up the previous patch, this patch makes the
Wayland backend send the edge constraints through a
custom protocol extension internal to GTK.

As it mature, we can think of upstreaming the protocol
to Wayland itself.

https://bugzilla.gnome.org/show_bug.cgi?id=751857
2017-10-03 19:38:32 -03:00
Georges Basile Stavracas Neto
a5f4ffa58c window: Track edge constraints
GTK has the ability to handle client-decorated windows
in such a way that the behavior of these windows must
match the behavior of the current window manager.

In Mutter, windows can be tiled horizontally (and, in
the future, vertically as well), which comes with a few
requirements that the toolkit must supply. Tiled windows
have their borders' behavior changed depending on the
tiled position, and the toolkit must be aware of this
information in order to properly match the window manager
behavior.

In order to provide toolkits with more precise and general
data regarding resizable and constrained edges, this patch
makes MetaWindow track its own edge constraints.

This will later be used by the backends to send information
to the toolkit.

https://bugzilla.gnome.org/show_bug.cgi?id=751857
2017-10-03 19:38:32 -03:00
Georges Basile Stavracas Neto
a1c39e142d window: Also consider touching edges for matching tiled windows
When computing a potential match for a tiled window, there is a
chance we face the case where 2 windows really complement each
other's tile mode (i.e. left and right) but they have different
sizes, and their borders don't really touch each other.

In that case, the current code would mistakenly assume they're
tile matches, and would resize them with either a hole or an
overlapping area between windows. This is clearly a misbehavior
that is a consequence of the previous assumptions pre-resizable
tiles.

This patch adapts the tile match algorithm to also consider the
touching edges when computing the matching tile, unless:

 * the window is not currently tiled (for example when computing
   the tile preview)
 * the window is currently resized in tandem with an existing
   tile match

https://bugzilla.gnome.org/show_bug.cgi?id=645153

bar
2017-10-03 19:38:32 -03:00
Georges Basile Stavracas Neto
e76a0f564c window: Raise and lower tile match in tandem
When a pair of tiled windows are grouped together, they
are treated as parts of a whole and interacting with one
affects the other.

Following the idea that sibling tiled windows are treated
as part of the same group, they should also be raised and
lowered together.

It is still possible to break tiled windows grouping by
simply untiling the window with the keyboard or by grabbing
and resizing or moving the window with the cursor.

This patch makes sibling tiled windows be lowered and raised
in tandem. For future reference, this behavior is documented
in [1].

[1] https://wiki.gnome.org/GeorgesNeto/MinutesOfFeaneron/Tiling

https://bugzilla.gnome.org/show_bug.cgi?id=645153
2017-10-03 19:38:31 -03:00
Georges Basile Stavracas Neto
8307d9c4de edge-resistance: Remove useless variable
There is a variable in meta_window_edge_resistance_for_resize
that isn't really helpful: it just assumes TRUE, and is passed
to apply_edge_resistance_to_each_side.

This patch removes that useless variable and simply pass TRUE
instead.

https://bugzilla.gnome.org/show_bug.cgi?id=645153
2017-10-03 19:38:31 -03:00
Georges Basile Stavracas Neto
1dbf6b096b edge-resistance: Add snapping for tiled windows
When windows are tiled, it improves the interaction with
them when they have a set of snapping edges relative to
the monitor. For example, when there's a document editor
and a PDF file opened, I might want to rescale the former
to 2/3 of the screen and the latter to 1/3.

These snapping sections are not really tied to any other
window, and only depend on the current work area of the
window. Thus, it is not necessary to adapt the current
snapping edge detection algorithm.

This patch adds the necessary code in edge-resistance.c
to special-case tiled windows and allow them to cover
1/4, 1/3 and 1/2 (horizontally) of the screen. These
values are hardcoded.

https://bugzilla.gnome.org/show_bug.cgi?id=645153
2017-10-03 19:38:31 -03:00
Georges Basile Stavracas Neto
6fe71ecc01 window: Tile and resize considering the tile match
After the introduction of the possibility to resize tiled windows,
it is a sensible decision to make windows aware of their tiling
match. A tiling match is another window that is tiled in such a
way that is the complement of the current window.

The newly introduced behavior attepts to make tiling as smooth as
possible, with the following rules:

 * Windows now compute their tile match when tiling and, if there's
   a match, they automatically complement the sibling's width.
 * Resizing a window with a sibling automatically resizes the sibling
   too to be the complement of the window's width.
 * It is not possible to resize below windows' minimum widths.

https://bugzilla.gnome.org/show_bug.cgi?id=645153
2017-10-03 19:38:31 -03:00
Georges Basile Stavracas Neto
57e58eaf2a window: Maximize tiled windows when resizing to work area
Now that tiled windows are resizable, the user may grow a tiled
windows until it covers the entire work area. As this makes the
window state mostly indistinguishable from maximization, avoid
subtle differences by properly maximizing the window in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=645153
2017-10-03 19:38:31 -03:00
Florian Müllner
00a5db71cf window: Allow resizing of tiled windows
Currently tiled windows are not resizable and their size is fixed
to half the screen width. Adjust the code to work with fractions
other than half, and allow users to adjust the split by dragging
the window edge that is not constrained by a monitor edge.

Follow-up patches will improve on that by resizing neighboring
tiled windows by a shared edge, and making the functionality
available to client-side decorated windows implementing the
new edge constraints protocol.
2017-10-03 19:38:31 -03:00
Florian Müllner
c7fa57cd28 window: Pass mode as parameter to tile() operation
Now that the preview tile mode has been split from the window's
tile_mode property, it is much more natural to pass the requested
tile_mode to the tile() function instead of setting it externally
and calling the function to apply the state.
2017-10-03 19:38:31 -03:00
Florian Müllner
8f2c86d79e window: Split out preview_tile_mode
The existing semantics of the tile_mode property are terribly confusing,
as it depends on some other property whether it represents the requested
or current mode. Clear this up by just using separate variables for the
two. As it is unlikely that we will ever support more than one tile
preview, we can track the requested mode globally instead of adding
another per-window variable.

https://bugzilla.gnome.org/show_bug.cgi?id=645153
2017-10-03 19:38:31 -03:00
Georges Basile Stavracas Neto
56f1da5c66 window: Update tile monitor before move
The actual move may involve the tile monitor, so make sure to not use
an outdated value by setting it before calling move_between_rects().

https://bugzilla.gnome.org/show_bug.cgi?id=645153
2017-10-03 19:38:31 -03:00
Florian Müllner
30a205c0e3 window: Remove obsolete code
Commit 91b7dedf36 removed the ability to temporarily break out
of maximization/tiling during grab operations, so this code is no
longer necessary.

https://bugzilla.gnome.org/show_bug.cgi?id=645153
2017-10-03 19:38:31 -03:00
Florian Müllner
98d77d37d0 screen: Make sure to initialize NUMBER_OF_DESKTOPS
update_num_workspaces() is a no-op when the number of workspaces
did not actually change. That is fine, except that we still want
to initialize the _NET_NUMBER_OF_DESKTOPS hint on startup to not
break components like nautilus-desktop that rely on it.

https://bugzilla.gnome.org/show_bug.cgi?id=760651
2017-10-04 00:07:34 +02:00
Georges Basile Stavracas Neto
0853fb940a project: add **/tags.* to gitignore
Builds adds lots of them in the source tree.
2017-10-03 15:55:11 -03:00
Jonas Ådahl
6dd819a61e window: Don't try to auto-maximize when headless
Automatic maximization is done when a window is almost the size of the
work area of a monitor. This makes no sense to try when there is no
monitor available, so skip trying to do this when headless.

https://bugzilla.gnome.org/show_bug.cgi?id=787637
2017-10-02 18:02:19 -04:00
Jonas Ådahl
39aae19ed7 window: Treat being headless as not monitor sized
When we are headless, treat this as if the window is always not monitor
sized. This might cause windows to temporarly become redirected while
being headless, but this is harmless as when a new monitor is
connected, we'll recalculate weather it should be redirected or not.

https://bugzilla.gnome.org/show_bug.cgi?id=787637
2017-10-02 18:02:16 -04:00
Jonas Ådahl
20749e5dbd renderer-native: Unset mode on disabled CRTCs
Make sure we properly unset the CRTC mode when a monitor is disabled.

https://bugzilla.gnome.org/show_bug.cgi?id=787629
2017-10-02 15:34:41 -04:00
Jonas Ådahl
99e1cd549d monitor-unit-tests: Test configs with explicitly disabled monitors
Check that configurations where monitors are disabled are properly
used. Also test that old configurations with explicitly disabled
outputs are migrated properly.

https://bugzilla.gnome.org/show_bug.cgi?id=787629
2017-10-02 15:34:41 -04:00
Jonas Ådahl
efdbeb7c1b monitor-unit-tests: Add way for test case setup to specify output serial
This is needed to avoid migration tests to avoid the best-effort tiling
monitor detection paths.

https://bugzilla.gnome.org/show_bug.cgi?id=787629
2017-10-02 15:34:41 -04:00
Jonas Ådahl
ea4dbd14bc monitor-config: Keep track of disabled monitors for stored configs
When saving and restoring monitor configurations, we must take disabled
monitors into account, as otherwise one cannot store/restore a
configuration where one or more monitors are explicitly disabled. Make
this possible by adding a <disabled> element to the <configure> element
which lists the monitors that are explicitly disabled. These ones are
included when generating the configuration key, meaning they'll be
picked up correctly.

https://bugzilla.gnome.org/show_bug.cgi?id=787629
2017-10-02 15:34:24 -04:00
Jonas Ådahl
838df4b00b monitor-config-store: Make monitor spec parsing/writing reusable
Another use of <monitorspec> will be added, so make the code dealing
with parsing and writing the reusable.

https://bugzilla.gnome.org/show_bug.cgi?id=787629
2017-10-02 15:32:35 -04:00
Cheng-Chia Tseng
b6110ba8dc Update Chinese (Taiwan) translation 2017-10-01 14:57:53 +00:00
Florian Müllner
fd763ad857 Revert "src/core/screen.c: Set _NET_NUMBER_OF_DESKTOPS in meta_screen_new"
When dynamic workspaces are used, we pick up an existing NUMBER_OF_DESKTOP
hint in meta_screen_init_workspaces() to properly restore workspaces
on restart. Unconditionally setting that hint to 1 *before* reading it
breaks that, and we end up shifting all windows to the first workspace.

This reverts commit 8532b10290.

https://bugzilla.gnome.org/show_bug.cgi?id=760651
2017-09-30 00:21:55 +02:00
Vasilis Liaskovitis
e3d59832c5 x11/window: Implement _NET_RESTACK_WINDOW and XConfigureRequestEvent sibling
Implement _NET_RESTACK_WINDOW, based on metacity commit 0b5a50c8.

Also respect "above" field (sibling) of XConfigureRequestEvent. When it is
set, perform a stack operation relative to that sibling.

https://bugzilla.gnome.org/show_bug.cgi?id=786363
https://bugzilla.gnome.org/show_bug.cgi?id=786365
2017-09-29 18:30:26 +02:00
Jonas Ådahl
2c85bb4178 window: Make should_be_on_all_workspaces() handle being headless
Also adds a soft assert to meta_window_is_on_primary_monitor() to make
it easier to spot when callers might want to handle headless
in a certain way.

https://bugzilla.gnome.org/show_bug.cgi?id=730551
2017-09-29 10:35:13 -04:00
Jason Gerecke
8493777961 backends/x11: Prevent segfault when querying list of devices
The XIQueryDevice function used by device_query_area can return a NULL
pointer and set n_devices to a negative number in some cases. We add
additional checks to prevent a segfault.

https://bugzilla.gnome.org/show_bug.cgi?id=787649
2017-09-28 09:58:17 -04:00
Jonas Ådahl
4e7405aca9 wayland/surface: Send buffer release events immediately
Just queuing the buffer release event is prone to starvation, so send
the release immediately. See
https://lists.freedesktop.org/archives/wayland-devel/2017-September/035147.html
for more detailed explanation.

https://bugzilla.gnome.org/show_bug.cgi?id=788197
2017-09-28 09:58:17 -04:00
Florian Müllner
34207ba509 screen: Unset timeout ID after removal
Otherwise we may try to remove the now invalid ID again, resulting
in a warning.

https://bugzilla.gnome.org/show_bug.cgi?id=788292
2017-09-28 15:12:53 +02:00
Marco Trevisan (Treviño)
6dc499f305 window: Support snap packages for sandboxed app IDs
For now we abuse of meta_window_get_flatpak_id not to break the APIs,
so that it's working seamlessly in gnone shell too.

Rename flatpak_id to sandboxed_app_id internally to get prepared to the future
API.

https://bugzilla.gnome.org/show_bug.cgi?id=788217
2017-09-27 22:08:57 +08:00
Rico Tzschichholz
92e2242cf0 backend: Remove meta_backend_get_ui_scaling_factor
Forgotten in 2718699ccc

https://bugzilla.gnome.org/show_bug.cgi?id=788199
2017-09-26 17:46:49 +02:00
Jeremy Soller
ea214fbe0f Remove unscaled-font-dpi setting from X11 backend
https://bugzilla.gnome.org/show_bug.cgi?id=788049
2017-09-25 22:01:11 +01:00
Jonas Ådahl
487b8a0430 keybindings: Resolve on us layout too if primary is not latin based
If a non-latin based keyboard layout is active, for example Cyrillic,
keybindings won't work unless we resolve the bound keysyms on a
secondary latin based layout. So, to make keybindings work on non-latin
based layouts, detect if a keymap doesn't have all of the basic latin
letters (a-z) and resolve from an additional US layout as well.

https://bugzilla.gnome.org/show_bug.cgi?id=787016
2017-09-25 15:31:07 -04:00
Jonas Ådahl
8b060342bd keybindings: Add support for resolving from multiple layouts
Add the infrastructure to resolve keybinding symbols from multiple
layouts. It is still unused, but will be, when the primary layout does
not have the required latin keysyms in it.

https://bugzilla.gnome.org/show_bug.cgi?id=787016
2017-09-25 15:31:07 -04:00
Jonas Ådahl
27d6c063ad keybindings: Keep a pointer to the backend
A few less singleton getting.

https://bugzilla.gnome.org/show_bug.cgi?id=787016
2017-09-25 15:31:07 -04:00
Jonas Ådahl
0e62b71959 keybindings: Fix inconsistent struct field alignment
https://bugzilla.gnome.org/show_bug.cgi?id=787016
2017-09-25 15:31:07 -04:00
gogo
2c3f79829e Update Croatian translation 2017-09-22 18:52:02 +00:00
Hans de Goede
5d2b0bc0cc meta-input-settings: Fix strv memleak in find_logical_monitor()
The return value from g_settings_get_strv must be g_strfreev-ed.

https://bugzilla.gnome.org/show_bug.cgi?id=787836
2017-09-22 20:09:04 +02:00
Hans de Goede
7e3a780dcd monitor-config-manager-kms: Fix is_transform_handled
meta_monitor_manager_kms_is_transform_handled should checked the
transform passed as function argument, not the current crtc transform.

https://bugzilla.gnome.org/show_bug.cgi?id=787836
2017-09-22 20:09:04 +02:00
Hans de Goede
1035200f26 monitor-config-manager: Fix 90/270 degree rotation not working
When rotating 90/270 degrees we need to swap width and height. This fixes
the screen going black and the following errors showing in the journal:

gnome-shell[1097]: Failed to set CRTC mode 800x1280: No space left on device
gnome-shell[1097]: Failed to flip: Device or resource busy
gnome-shell[1097]: Failed to set CRTC mode 800x1280: No space left on device
gnome-shell[1097]: Failed to set CRTC mode 800x1280: No space left on device

When rotating a tablet with accelerometer 90/270 degrees.

https://bugzilla.gnome.org/show_bug.cgi?id=787836
2017-09-22 20:09:04 +02:00
Andrea Azzarone
8532b10290 src/core/screen.c: Set _NET_NUMBER_OF_DESKTOPS in meta_screen_new
Make sure to call set_number_of_spaces_hint in meta_screen_new.
_NET_NUMBER_OF_DESKTOPS is required by nautilus-desktop to correctly
get the desktop workarea.

https://bugzilla.gnome.org/show_bug.cgi?id=760651
2017-09-22 14:51:46 +02:00
Florian Müllner
f0c6c4eb1f screen-cast-stream-src: Adjust to pipewire API break
https://bugzilla.gnome.org/show_bug.cgi?id=787953
2017-09-21 18:14:26 +02:00
Jonas Ådahl
ba194bd19e clutter: Fix capture_into on non-origin view
The capture_into() function wrote out of bounds when capturing from a
non-origin view (not positioned at (0,0)). At the time of
implementation, this API was used to capture pixels across views into a
single data buffer, but the way it's used, and the way views may work
now, makes this impossible to do properly.

So remove the ability to capture into a pre-allocated buffer from
multiple views, and complain if the passed rectantgle overlapps with
multiple views. This removes the broken offset calculation all
together, fixing the bug motivating this change.

https://bugzilla.gnome.org/show_bug.cgi?id=787715
2017-09-20 18:27:57 +08:00
Jonas Ådahl
a35274ddb7 screen-cast-stream: Add stream parameters
For monitor streams, add position and size (in compositor coordinate
space) parameters.

https://bugzilla.gnome.org/show_bug.cgi?id=787715
2017-09-20 18:27:57 +08:00
Rui Matos
ab541e3e0f monitor-config-migration: Fix a minor leak when parsing fails
https://bugzilla.gnome.org/show_bug.cgi?id=787477
2017-09-20 17:26:32 +08:00
Jonas Ådahl
67ce04993e monitor: Add scale 1 if no other supported scale was added
We currently have a hard coded limit on logical monitor sizes, meant
for filtering out monitor scales that would result in awkward desktop
sizes. This has the side effect of also disqualifying scale 1 for
resolutions that themself are lower than the mentioned limit. To avoid
listing no supported scales, always add the fallback scale 1 if no
other was added.

https://bugzilla.gnome.org/show_bug.cgi?id=787477
2017-09-20 17:26:32 +08:00
Jonas Ådahl
22cdc8f414 monitor-manager: Pass config to derive from when updating state
When we update state, we might not have set the current config yet (for
example if the Xrandr assignment didn't change), so pass the monitors
config we should derive from instead of fetching it from the monitor
config manager.

https://bugzilla.gnome.org/show_bug.cgi?id=787477
2017-09-20 17:26:32 +08:00
Jonas Ådahl
8b022a5595 monitor-config-store: Maybe force save configuration on tear down
If there is a pending config file content replacement in progress on
tear down, cancel it and save it synchronously to avoid any data loss.

https://bugzilla.gnome.org/show_bug.cgi?id=787477
2017-09-20 17:26:32 +08:00
Jonas Ådahl
7a1393ba26 monitor-config-store: Don't leak when saving synchronously
We currently only save synchronously when running the test suite, but
should still not leak the generated config buffer. We also created the
cancellable but never used it if we saved synchronously, so lets stop
doing that too.

https://bugzilla.gnome.org/show_bug.cgi?id=787477
2017-09-20 17:26:20 +08:00
Jonas Ådahl
5ed954e6de monitor-config-store: Don't clear cancellable when cancelled
The cancellable should only be cleared if we weren't cancelled, as if
we were cancelled, the path cancelling have already cleared the
cancellable.

https://bugzilla.gnome.org/show_bug.cgi?id=787477
2017-09-20 17:25:00 +08:00
Jonas Ådahl
96572fbe6a monitor-config-migration: Don't destroy autoptr:ed hash table
It'll be destroyed automatically, so don't do it manually as well.

https://bugzilla.gnome.org/show_bug.cgi?id=787477
2017-09-20 17:25:00 +08:00
Jonas Ådahl
4ab47e72e5 monitor-config-migration: Clean up properly when deriving
We cleaned up an unused monitor config list, but what we should do is
clear up the logical monitor config list. This commit does that, as
well as removes the unused monitor config list.
2017-09-20 17:24:49 +08:00
Jonas Ådahl
70e0fd0b45 backends: Chain up some GObjectClass vfuncs
Various vfunc implementations was not chained up properly. This commit
fixes that.

https://bugzilla.gnome.org/show_bug.cgi?id=787477
2017-09-20 11:14:27 +08:00
Carlos Garnacho
26cd031be8 clutter: Use the ClutterScrollFinishFlags when delivering scroll event
This got accidentally hardcoded to CLUTTER_SCROLL_FINISHED_NONE on commit
d3c559a917, which broke kinetic scrolling for touchpads on clients.
2017-09-14 15:39:58 +02:00
Carlos Garnacho
743e8cc249 backends: Add some wiggle room for refresh rate comparisons
We have not enough control over the sources of the refresh rate
float variable to make == comparisons reliable, add some room
when comparing these.

https://bugzilla.gnome.org/show_bug.cgi?id=787668
2017-09-14 13:31:25 +02:00
Olivier Fourdan
2bf7974076 wayland: do not leak shortcut inhibit data
We would free the shortcut inhibit data only when the client destroys
its request, which is not the case when the clients itself is
destroyed, leading to a leak of the shortcut inhibit data.

Free the data on resource destruction instead, and simply destroy the
resource on destroy request.

https://bugzilla.gnome.org/show_bug.cgi?id=787568
2017-09-14 09:32:26 +02:00
Olivier Fourdan
9c16e4e2f3 wayland: Keep the inhibit shortcut dialog
On Wayland, the grab()/ungrab() in gtk+/gdk are wired to the shortcut
inhibitor mechanism, which in turn shows the dialog, which can take
focus away from the client window when the dialog is shown.

If the client issues an ungrab() when the keyboard focus is lost, we
would hide the dialog, causing the keyboard focus to be returned to the
client surface, which in turn would issue a new grab(), so forth and so
on, causing a continuous show/hide of the shortcut inhibitor dialog.

To avoid this issue, keep the dialog around even if the shortcut inhibit
is canceled by the client, so that the user is forced to make a choice
that we can reuse on the next request without showing the dialog again.

Instead of hiding the dialog when the shortcut inhibitor is destroyed by
the client, we simply mark the request as canceled and do not apply the
user's choice.

https://bugzilla.gnome.org/show_bug.cgi?id=787568
2017-09-14 09:32:26 +02:00
Jonas Ådahl
07f6c85cc7 wayland/inhibit-shortcuts-dialog: Use g_new0 instead of g_new
The code assumed the newly allocated blocked was initialized to 0, but
it wasn't since g_new was used. Fix that by using g_new0.

https://bugzilla.gnome.org/show_bug.cgi?id=787570
2017-09-14 09:32:26 +02:00
Matej Urbančič
d4968e10e5 Updated Slovenian translation 2017-09-13 12:25:01 +02:00
Florian Müllner
bd3817198e Bump version to 3.26.0
Update NEWS.
2017-09-12 16:45:03 +02:00
A S Alam
5b5737f65e updated correct location file for Punjabi 2017-09-10 18:27:35 -05:00
Jean-Baptiste Holcroft
5af8753171 Update French translation 2017-09-10 20:16:37 +00:00
Ask Hjorth Larsen
8bef74f441 Updated Danish translation 2017-09-10 18:13:01 +02:00
Alexander Shopov
f1a42b0f97 Updated Bulgarian translation 2017-09-10 17:43:33 +03:00
Anders Jonsson
95682a9494 Update Swedish translation 2017-09-10 11:09:05 +00:00
Jordi Mas
ef41867303 Fixes to Catalan translation 2017-09-10 09:06:57 +02:00
Inaki Larranaga Murgoitio
8d4b03ce87 Update Basque language 2017-09-09 18:04:59 +02:00
Trần Ngọc Quân
06263354a5 Updated Vietnamese translation
Signed-off-by: Trần Ngọc Quân <vnwildman@gmail.com>
2017-09-09 08:28:41 +07:00
Florian Müllner
aa30e11c8b screen-cast-stream-src: Remove malformed include
The mutter prefix is wrong - as the include isn't actually needed in
the header, just remove it altogether.
2017-09-08 17:54:44 +02:00
Florian Müllner
65bca8e008 Bump version to 3.25.92
Update NEWS.
2017-09-07 17:35:21 +02:00
Alessandro Bono
068791f6c1 meta-background-actor: Add gradient effect
Add a gradient effect that goes from the top to the bottom. The
height and the initial dark tone of the gradient are customizable.

https://bugzilla.gnome.org/show_bug.cgi?id=786618
2017-09-07 16:59:56 +02:00
Alessandro Bono
cbc4563b30 meta-background-actor: Rename brightness to vignette_brightness
The brightness is about the vignette. Add a 'vignette_' prefix in order
to give more context. Keep the property name as it is, doing so we don't
break any plugin (e.g., gnome-shell).

https://bugzilla.gnome.org/show_bug.cgi?id=786618
2017-09-07 16:59:56 +02:00
Alessandro Bono
f381d7c3bf meta-background-actor: Rename shader snippets
Add the word 'vignette' in order to give some context on what the
snippets do. This will be useful later when we land other snippets
for the gradient effect.

https://bugzilla.gnome.org/show_bug.cgi?id=786618
2017-09-07 16:59:56 +02:00
Balázs Úr
0a8d8128b3 Update Hungarian translation 2017-09-05 15:36:07 +00:00
Jonas Ådahl
46135d4f0f configure.ac: Fix comment for HAVE_REMOTE_DESKTOP
It was copy pasted from the HAVE_EGL_DEVICE configuration, but the
comment was not updated. Fix that.
2017-09-05 11:43:38 +08:00
Alessandro Bono
7ba44e7945 meta-background-actor: Style fix
https://bugzilla.gnome.org/show_bug.cgi?id=786618
2017-09-05 01:39:30 +02:00
Jonas Ådahl
dd4ad4efc4 Revert "renderer-native: Destroy monitor framebuffers when suspending"
The reverted commit seems to cause
https://bugzilla.gnome.org/show_bug.cgi?id=787240 for some reason. Lets
be safe and revert it for now, as the code freeze is just around the
corner.

This partly (it doesn't reintroduce a whitespace issue) reverts commit
dbc63430d8.
2017-09-04 22:37:16 +08:00
Jonas Ådahl
807658e972 wayland: Don't free non-transferred string when cleaning up
When cleaning up the display name string management, the display name
string retrieved from libwayland-server was also passed to free() on
clean up. This is invalid as the display name string ownership is not
transferred to us. Fix this by strdup:ing the string before saving it.

https://bugzilla.gnome.org/show_bug.cgi?id=730551
2017-09-04 12:32:53 +08:00
Rūdolfs Mazurs
8499a29d0a Update Latvian translation 2017-09-03 19:25:22 +03:00
Rafael Fontenelle
283eedef90 Update Brazilian Portuguese translation 2017-09-03 14:08:27 +00:00
Alexander Shopov
ce515c5389 Updated Bulgarian translation 2017-09-02 09:32:27 +03:00
Changwoo Ryu
83440614bc Update Korean translation 2017-09-02 03:59:24 +00:00
Jonas Ådahl
a93661f9e1 src/Makefile-tests.am: Remove reference to non-existing file
The file headless-start-test.h doesn't exist, so don't include it in
the headless start test case source file list.

https://bugzilla.gnome.org/show_bug.cgi?id=730551
2017-09-02 11:09:28 +08:00
Yuras Shumovich
216f7631de Update Belarusian translation 2017-09-01 15:45:16 +00:00
Bastien Nocera
361bf847af build: Require libgudev >= 232
And remove the g_autoptr implementations in mutter itself.

https://bugzilla.gnome.org/show_bug.cgi?id=760670
2017-09-01 11:19:50 +02:00
Kukuh Syafaat
46f54eb3d9 Update Indonesian translation 2017-09-01 08:14:32 +00:00
Wolfgang Stöggl
bc47c6cc4f Update German translation 2017-08-31 19:29:27 +00:00
Emin Tufan Çetin
8bfdfa1f46 Update Turkish translation 2017-08-31 05:04:23 +00:00
Marek Cernocky
999542c915 Updated Czech translation 2017-08-31 00:12:10 +02:00
Fran Dieguez
cb38e9c4a2 Update Galician translation 2017-08-30 20:30:18 +00:00
Jiri Grönroos
42c56c2460 Update Finnish translation 2017-08-30 16:17:19 +00:00
Jonas Ådahl
e2d904c32b tests/monitor-unit-tests: Run a client while testing
Run a client while testing and check that it's alive when checking each
monitor configuration.

https://bugzilla.gnome.org/show_bug.cgi?id=730551
2017-08-30 13:44:05 +08:00
Jonas Ådahl
fa9c09feee tests/monitor-unit-tests: Sleep some after each hot plug
Give clients (such as Xwayland) a chance to bind the wl_output global
before we continue, otherwise there is an significant risk that mutter
won't see the bind request until after the next hot plug which might
have destroyed the global object.

https://bugzilla.gnome.org/show_bug.cgi?id=730551
2017-08-30 13:44:05 +08:00
Jonas Ådahl
3f6a2d02fd tests: Add headless start test case
Test that mutter starts properly when there are no monitors connected
yet, and that things work when a monitor is eventually connected.

https://bugzilla.gnome.org/show_bug.cgi?id=730551
2017-08-30 13:44:05 +08:00
Jonas Ådahl
5b37901b57 tests/utils: Add test_client_quit() helper
https://bugzilla.gnome.org/show_bug.cgi?id=730551
2017-08-30 13:44:05 +08:00
Jonas Ådahl
2df4ccd1cd window: Handle being headless better
This avoids updating state (such as position, size etc) when going
headless. Eventually, when non-headless, things will be updated again,
and not until then will we be able to update to a valid state.

https://bugzilla.gnome.org/show_bug.cgi?id=730551
2017-08-30 13:44:05 +08:00
Jonas Ådahl
dcd15e6145 wayland: Don't free the Wayland display name string too early
We accidentally freed the Wayland display name string, meaning
retrieving it later retrieved freed memory.

https://bugzilla.gnome.org/show_bug.cgi?id=730551
2017-08-30 13:42:45 +08:00
Jonas Ådahl
2a318eb3f2 wayland/output: Flush clients after creating wl_output global
In order to give the clients the best chance to bind the wl_output
before we later remove it (for example on fast hot plugs or in the test
suite), flush the client sockets after creating the global.

https://bugzilla.gnome.org/show_bug.cgi?id=730551
2017-08-30 13:42:45 +08:00
Jonas Ådahl
522eec00cd monitor: Add foreach output helper and fix foreach crtc helper
The foreach CRTC monitor mode helper incorrectly iterated over outputs
without CRTC when non-tiled modes were set on tiled monitors. This was
not expected by callers, so fix the helper to only iterate over active
outputs (that has or should have a CRTC).

The test cases uses the incorrect behaviour of the foreach CRTC helper
to check that the disabled outputs mode are set to NULL, so add a
foreach output helper and change the tests to use that instead.

https://bugzilla.gnome.org/show_bug.cgi?id=730551
2017-08-30 13:09:38 +08:00
Jonas Ådahl
be11c32815 tests: Move out test client helper from test-runner.c
It could be useful for running other types of test clients in other
tests.

https://bugzilla.gnome.org/show_bug.cgi?id=730551
2017-08-30 13:09:38 +08:00
Jonas Ådahl
24c91d95de core/screen: Make logical monitor getters handle being headless
Don't crash or return invalid indices when we are headless.

https://bugzilla.gnome.org/show_bug.cgi?id=730551
2017-08-30 13:09:38 +08:00
Jonas Ådahl
7562eb6006 core/window: Don't set a preferred output when there is none
If there are no active logical monitors, don't try to dereference a
NULL one to get a preferred output winsys id. Instead just set an
invalid one.

https://bugzilla.gnome.org/show_bug.cgi?id=730551
2017-08-30 13:09:38 +08:00
Jonas Ådahl
0aa7405a2a monitor-manager: Fall back to minimum screen size of 640 x 480
When headless, we don't have any logical monitors to derive a screen
size from, but we can't set it to empty as that will cause issues with
the clutter stage, UI widget layout and other things. To avoid such
issues, just fall back to a 640 x 480 screen size when headless.

https://bugzilla.gnome.org/show_bug.cgi?id=730551
2017-08-30 13:09:38 +08:00
Jonas Ådahl
a119e58773 backend: Only try to center pointer when there not headless
Don't attempt to center the pointer when there is nothing to center on.

https://bugzilla.gnome.org/show_bug.cgi?id=730551
2017-08-30 13:09:38 +08:00
Jonas Ådahl
8a32b42172 renderer/native: Round calculated framebuffer size before casting to int
Due to rounding issues, we can't assume a floating point calculation
will end up on an integer, even if we got the factor from the reverse
calculation. Thus, to avoid casting away values like N.999... to N,
when they should really be N+1, round the resulting floating point
calculation before casting it to int.

This fixes an issue where using the scale ~1.739 on a 1920x1080 mode
resulted in error when setting the mode, as the calculated size of the
framebuffer was only 1919x1080.

https://bugzilla.gnome.org/show_bug.cgi?id=786918
2017-08-30 13:07:11 +08:00
Милош Поповић
94a15404da Update Serbian Latin translation 2017-08-29 19:03:56 +00:00
Марко Костић
fefede5b51 Update Serbian translation 2017-08-29 19:02:49 +00:00
Piotr Drąg
5be00f23be Update Polish translation 2017-08-29 18:15:01 +02:00
Piotr Drąg
bdbd2e96de Use Unicode quotation marks in a translatable string
Also adjusts existing translations for it.

See https://developer.gnome.org/hig/stable/typography.html

https://bugzilla.gnome.org/show_bug.cgi?id=772218
2017-08-29 18:08:08 +02:00
Aurimas Černius
7785a57f8a Updated Lithuanian translation 2017-08-29 15:58:03 +03:00
Milo Casagrande
cf01e26b2f Update Italian translation 2017-08-29 08:22:47 +00:00
Jonas Ådahl
6e46ad9f3a remote-desktop, screen-cast: Fail session method calls from other peers
Only accept method calls on the session objects from the same peer that
created the session.

https://bugzilla.gnome.org/show_bug.cgi?id=784199
2017-08-29 14:39:04 +08:00
Jonas Ådahl
921b18f713 screen-cast-session: Allow stand alone screen cast sessions
When a screen cast session is stand-alone, i.e. not created given a
remote desktop session managing it, allow calling the Start/Stop
methods to start and stop it.

https://bugzilla.gnome.org/show_bug.cgi?id=784199
2017-08-29 14:39:04 +08:00
Jonas Ådahl
53175e8788 ScreenCast: Pass PipeWire stream node ID directly
As of commit 5f5ef3de2cdc816dab82cb7eb5d7171bee0ad2c5 in pipewire the
stream creator can find out the node ID of the stream it created.

So instead of using a special purpose entry to the info property box to
let the application discover stream by monitoring added nodes searching
for the given special purpose entry, just pass the node directly.

https://bugzilla.gnome.org/show_bug.cgi?id=784199
2017-08-29 14:39:04 +08:00
Jonas Ådahl
920541fa26 screen-cast-stream-src: Only try to record frames when streaming
Only when the PipeWire stream state is 'PW_STREAM_STATE STREAMING'
should the signal be connected causing the src to maybe record a frame.

https://bugzilla.gnome.org/show_bug.cgi?id=784199
2017-08-29 14:39:04 +08:00
Jonas Ådahl
9d8922764c screen-cast: Handle PipeWire errors
When the PipeWire context or stream ends up in an error state, signal
that the source has closed. This then triggers the stream and finally
the session to be closed too.

https://bugzilla.gnome.org/show_bug.cgi?id=784199
2017-08-29 14:39:04 +08:00
Jonas Ådahl
97f2c7c161 Add remote desktop and screen cast functionality
This commit adds basic screen casting and remote desktoping
functionalty. This works by exposing two D-Bus API services:
org.gnome.Mutter.ScreenCast and org.gnome.Mutter.RemoteDesktop.

The remote desktop API is used to create remote desktop sessions. For
each session, a D-Bus object is created, and an application can manage
the session by sending messages to the session object. A remote desktop
session the user to emit input events using the D-Bus methods on the
session object. To get framebuffer content, the application should
create an associated screen cast session.

The screen cast API is used to create screen cast sessions. One can so
far either create stand-alone screen cast sessions, or a screen cast
session associated with a remote desktop session. A remote desktop
associated screen cast session is managed by the remote desktop session.

So far only remote desktop managed screen cast sessions are implemented.

Each screen cast session may have one or more streams. A screen cast
stream is a stream of buffers of some part of the compositor content.
So far API exists for creating streams of monitors and windows, but
only monitor streams are implemented.

When a screen cast session is started, the one PipeWire stream is
created for each screen cast stream created for the session. When this
has happened, a PipeWireStreamAdded signal is emitted on the stream
object, passing a unique identifier. The application may use this
identifier to find the associated stream being advertised by the
PipeWire daemon.

The remote desktop and screen cast functionality must be explicitly be
enabled at ./configure time by passing --enable-remote-desktop to
./configure. Doing this will build both screen cast and remote desktop
support.

To actually enable the screen casting and remote desktop, the user must
enable the experimental feature. See
org.gnome.mutter.experimental-features.

https://bugzilla.gnome.org/show_bug.cgi?id=784199
2017-08-29 14:39:04 +08:00
Jonas Ådahl
38235bc145 Add MetaFraction for dealing with fractions
Add MetaFraction, which consists of two integers, the numerator an the
denominator. The utility function to convert a double to a MetaFraction
comes from gstreamer.

https://bugzilla.gnome.org/show_bug.cgi?id=784199
2017-08-29 14:39:04 +08:00
Jonas Ådahl
3ce3a5a952 monitor: Add API to compare with old instance
When monitors changed, previous monitor instances are defunct, and any
reference holder should drop its reference. Sometimes they will want to
continue having a reference to the same monitor, so add this function
to make it possible to find it.

Currently the output and crtc references are invalid, as they are not
yet reference counted, so this can only look at cached fields.

https://bugzilla.gnome.org/show_bug.cgi?id=784199
2017-08-29 14:38:20 +08:00
Jonas Ådahl
3005a400ca monitor-manager: Add helper for getting monitor from connector
This will be used later.

https://bugzilla.gnome.org/show_bug.cgi?id=784199
2017-08-29 11:49:01 +08:00
Jonas Ådahl
34e7134db2 wayland/xdg-foreign: Move out ID generation helper to util.c
It'll be used to generate ID in the same way in other places later.

https://bugzilla.gnome.org/show_bug.cgi?id=784199
2017-08-29 11:49:01 +08:00
Jonas Ådahl
12710dc644 clutter/stage: Add capture_into API
Add API similar to clutter_stage_capture() but that draws into
externally allocated memory. It is assumed that the pixel format is
ARGB32, and the memory is structured in a way that the width of the
passed rectangle is identical to the stride divided by 4.

https://bugzilla.gnome.org/show_bug.cgi?id=784199
2017-08-29 11:49:01 +08:00
Jonas Ådahl
a10ad577a7 ClutterVirtualInputDevice: Add discrete scrolling
Add emitting of discrete scrolling events (such as mouse scroll
wheel-like events).

https://bugzilla.gnome.org/show_bug.cgi?id=784199
2017-08-29 11:49:01 +08:00
Jonas Ådahl
d3c559a917 clutter/evdev: Move scroll notification to ClutterSeatEvdev
This refactors the scroll event emitting code, moving it behind a
clutter_seat_evdev_ helper.

https://bugzilla.gnome.org/show_bug.cgi?id=784199
2017-08-29 11:49:01 +08:00
Jonas Ådahl
1e7628a3ef ClutterVirtualInputDevice: Allow passing CLUTTER_CURRENT_TIME
If CLUTTER_CURRENT_TIME is passed, let the backend find an appropriate
time stamp representing the current time in the clock that is used by
that backend.

https://bugzilla.gnome.org/show_bug.cgi?id=784199
2017-08-29 11:49:01 +08:00
Ask Hjorth Larsen
d5a85997f2 Updated Danish translation 2017-08-28 19:32:44 +02:00
Matej Urbančič
5a37e0e1ef Updated Slovenian translation 2017-08-28 19:20:26 +02:00
Rūdolfs Mazurs
00f6a74397 Update Latvian translation 2017-08-27 23:50:05 +03:00
Милош Поповић
c9439107c1 Update Serbian Latin translation 2017-08-27 20:29:58 +00:00
Марко Костић
ba65664cbd Update Serbian translation 2017-08-27 20:28:54 +00:00
Cheng-Chia Tseng
3da0730a31 Update Chinese (Taiwan) translation 2017-08-27 04:08:18 +00:00
Jordi Mas
98fcd616a3 Update Catalan translation 2017-08-25 13:23:23 +02:00
Daniel Stone
06d0989014 wayland-dma-buf: Fix 32bpp channel order inversion
Apparently my understanding of Cogl pixel formats, or at least their
use, was somewhat shaky.

Un-invert the inversion of the DRM FourCC -> Cogl pixel format mapping
when creating dmabufs from clients, fixing inverted channel ordering
seen from GL clients, e.g. gold highlights in gtk4-demo when using the
GSK GL backend when they should be blue.

https://bugzilla.gnome.org/show_bug.cgi?id=786677
2017-08-24 15:11:37 +02:00
Milo Casagrande
c248feb3c1 Update Italian translation 2017-08-24 07:45:30 +00:00
Dušan Kazik
3f2c5ca9bd Update Slovak translation 2017-08-23 17:50:59 +00:00
gogo
520c56fe53 Update Croatian translation 2017-08-23 15:40:53 +00:00
Fran Dieguez
d3a670b043 Update Galician translation 2017-08-23 10:22:13 +00:00
Piotr Drąg
6eca267eee Update Polish translation 2017-08-23 04:16:46 +02:00
Aurimas Černius
fdefe776d3 Updated Lithuanian translation 2017-08-22 23:18:07 +03:00
Marek Cernocky
bba8776184 Updated Czech translation 2017-08-22 18:48:01 +02:00
Mario Sanchez Prada
e075242801 egl: Don't require eglGetPlatformDisplayEXT
Trying to unilaterally require eglGetPlatformDisplayEXT causes problems in
scenarios where this method is not available. Besides, this should only be
required on Wayland, so we can stop requiring it always and simply let the
eglGetPlatformDisplay() function error accordingly when needed.

https://bugzilla.gnome.org/show_bug.cgi?id=786619
2017-08-22 18:33:13 +02:00
337 changed files with 40903 additions and 17601 deletions

16
.gitignore vendored
View File

@@ -55,6 +55,7 @@ mutter-restart-helper
mutter-test-client mutter-test-client
mutter-test-runner mutter-test-runner
mutter-test-unit-tests mutter-test-unit-tests
mutter-test-headless-start-test
mutter-all.test mutter-all.test
org.gnome.mutter.gschema.valid org.gnome.mutter.gschema.valid
org.gnome.mutter.gschema.xml org.gnome.mutter.gschema.xml
@@ -71,6 +72,8 @@ src/stamp-meta-enum-types.h
src/meta-dbus-display-config.[ch] src/meta-dbus-display-config.[ch]
src/meta-dbus-idle-monitor.[ch] src/meta-dbus-idle-monitor.[ch]
src/meta-dbus-login1.[ch] src/meta-dbus-login1.[ch]
src/meta-dbus-remote-desktop.[ch]
src/meta-dbus-screen-cast.[ch]
src/gtk-primary-selection-protocol.c src/gtk-primary-selection-protocol.c
src/gtk-primary-selection-server-protocol.h src/gtk-primary-selection-server-protocol.h
src/gtk-shell-protocol.c src/gtk-shell-protocol.c
@@ -85,6 +88,18 @@ src/pointer-constraints-unstable-v*-protocol.c
src/pointer-constraints-unstable-v*-server-protocol.h src/pointer-constraints-unstable-v*-server-protocol.h
src/xdg-foreign-unstable-v*-protocol.c src/xdg-foreign-unstable-v*-protocol.c
src/xdg-foreign-unstable-v*-server-protocol.h src/xdg-foreign-unstable-v*-server-protocol.h
src/xdg-output-unstable-v1-protocol.c
src/xdg-output-unstable-v1-server-protocol.h
src/xwayland-keyboard-grab-unstable-v1-protocol.c
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
@@ -112,3 +127,4 @@ ltsugar.m4
ltversion.m4 ltversion.m4
lt~obsolete.m4 lt~obsolete.m4
.dirstamp .dirstamp
**/tags.*

190
NEWS
View File

@@ -1,3 +1,193 @@
3.29.2
======
* Fix size change animations on wayland [Georges; #780292]
* Handle touch events on server-side titlebars [Carlos; #770185]
* Misc. bug fixes [Florian, Olivier, Jonas, Georges; #134, #124, !96, #138,
!102, #781471, #150]
Contributors:
Jonas Ådahl, Olivier Fourdan, Carlos Garnacho, Florian Müllner,
Georges Basile Stavracas Neto, Marco Trevisan (Treviño), Daniel van Vugt
Translators:
Daniel Șerbănescu [ro], Marcos Lans [gl], Dz Chen [zh_CN]
3.29.1
======
* Fix various input-method regressions [Carlos, Olivier; #65, #74, #66, #112]
* Fix wayland build on FreeBSD [Ting-Wei; #792280, #792717]
* Fix swapped colors in screenshots (again) [Carlos; #72]
* Allow building with elogind [Rasmus; !46]
* Consider display rotation for cursor [Olivier; #85]
* Fall back to non-modifier GBM surfaces [Daniel; #84]
* Take inhibitors into account for monitoring idle [Bastien; #705942]
* Misc. bug fixes [handsome-feng, Olivier, Mario, Jonas; !45, #83, #104,
gnome-shell#157, #130, #21]
Contributors:
Jonas Ådahl, Olivier Fourdan, Carlos Garnacho, handsome-feng, Yussuf Khalil,
Ting-Wei Lan, Aleksandr Mezin, Alberts Muktupāvels,
Georges Basile Stavracas Neto, Bastien Nocera, Benjamin Otte,
Mario Sanchez Prada, Daniel Stone, Ray Strode, Rasmus Thomsen,
Marco Trevisan (Treviño), Daniel van Vugt
Translators:
Emin Tufan Çetin [tr], Dušan Kazik [sk], Matej Urbančič [sl]
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
======
* Work with clients that require older linux_dmabuf protocol [Daniel; #788558]
* Support hybrid GPU systems [Jonas; #785381]
* Prevent crash when closing maximized windows [Jonni; #788666]
* Use the correct monitor for HiDPI scaling of shell chrome [Jonas; #788820]
* Fix unredirection of fullscreen windows [Rui, Jonas; #788493]
* Fix list of supported monitor scales on X11 [Jonas; #788901]
* Misc. bug fixes [Florian, Jonas, Marco; #788572, #788569, #788607, #788860,
#788921]
Contributors:
Jonas Ådahl, Carlos Garnacho, Rui Matos, Florian Müllner, Daniel Stone,
Marco Trevisan, Jonni Westphalen
Translations:
Xavi Ivars [ca@valencia]
3.26.1
======
* Fix crash when respawning shortcut inhibitor dialog [Olivier; #787568]
* Fix crash during monitor configuration migration [Carlos, Jonas; #787668]
* Fix multihead regressions in X11 session [Jonas; #787477]
* Fix screen rotation regressions [Hans; #787836]
* Fix keybindings not being resolved with non-latin layouts [Jonas; #787016]
* Support snap packages for sandboxed app IDs [Marco; #788217]
* Fix crash when reconnecting tablet device [Jason; #787649]
* Support running headless [Jonas; #730551, #787637]
* Support _NET_RESTACK_WINDOW and ConfigureRequest siblings [Vasilis; #786365]
* Fix monitor layout not being remembered across sessions [Jonas; #787629]
* Make sure to export _NET_NUMBER_OF_DESKTOPS [Florian; #760651]
* Allow resizing of tiled windows [Georges, Florian; #645153]
* Export tiling information to clients [Georges; #751857]
* Misc. bug fixes [Jonas, Florian, Jeremy, Rico; #787570, #787715, #787953,
#788049, #788199, #788292, #788197]
Contributors:
Jonas Ådahl, Andrea Azzarone, Georges Basile Stavracas Neto, Hans de Goede,
Olivier Fourdan, Carlos Garnacho, Jason Gerecke, Vasilis Liaskovitis,
Rui Matos, Florian Müllner, Jeremy Soller, Marco Trevisan, Rico Tzschichholz
Translations:
Matej Urbančič [sl], gogo [hr], Cheng-Chia Tseng [zh_TW]
3.26.0
======
Contributors:
Florian Müllner
Translations:
Trần Ngọc Quân [vi], Inaki Larranaga Murgoitio [eu], Jordi Mas [ca],
Anders Jonsson [sv], Alexander Shopov [bg], Ask Hjorth Larsen [da],
Jean-Baptiste Holcroft [fr], A S Alam [pa]
3.25.92
=======
* Add screencast and remote desktop support [Jonas; #784199]
* Support running with no attached monitors [Jonas; #730551]
* Add a vertical gradient effect to background actor [Alessandro; #786618]
* Misc. bug fixes [Mario, Daniel, Piotr, Jonas, Bastien; #786619, #786677,
#772218, #786918, #760670]
Contributors:
Jonas Ådahl, Alessandro Bono, Piotr Drąg, Bastien Nocera,
Mario Sanchez Prada, Daniel Stone
Translations:
Marek Cernocky [cs], Aurimas Černius [lt], Piotr Drąg [pl],
Fran Dieguez [gl], gogo [hr], Dušan Kazik [sk], Milo Casagrande [it],
Jordi Mas [ca], Cheng-Chia Tseng [zh_TW], Марко Костић [sr],
Милош Поповић [sr@latin], Rūdolfs Mazurs [lv], Matej Urbančič [sl],
Ask Hjorth Larsen [da], Piotr Drąg [it, lt], Jiri Grönroos [fi],
Emin Tufan Çetin [tr], Wolfgang Stöggl [de], Kukuh Syafaat [id],
Yuras Shumovich [be], Changwoo Ryu [ko], Alexander Shopov [bg],
Rafael Fontenelle [pt_BR], Balázs Úr [hu]
3.25.91 3.25.91
======= =======
* Reduce memory use of suspended instances [Jonas; #786299] * Reduce memory use of suspended instances [Jonas; #786299]

View File

@@ -87,6 +87,8 @@ source_h = \
clutter-image.h \ clutter-image.h \
clutter-input-device.h \ clutter-input-device.h \
clutter-input-device-tool.h \ clutter-input-device-tool.h \
clutter-input-focus.h \
clutter-input-method.h \
clutter-interval.h \ clutter-interval.h \
clutter-keyframe-transition.h \ clutter-keyframe-transition.h \
clutter-keysyms.h \ clutter-keysyms.h \
@@ -169,6 +171,8 @@ source_c = \
clutter-image.c \ clutter-image.c \
clutter-input-device.c \ clutter-input-device.c \
clutter-input-device-tool.c \ clutter-input-device-tool.c \
clutter-input-focus.c \
clutter-input-method.c \
clutter-virtual-input-device.c \ clutter-virtual-input-device.c \
clutter-interval.c \ clutter-interval.c \
clutter-keyframe-transition.c \ clutter-keyframe-transition.c \
@@ -229,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 \
@@ -388,6 +394,7 @@ x11_source_c = \
x11/clutter-keymap-x11.c \ x11/clutter-keymap-x11.c \
x11/clutter-stage-x11.c \ x11/clutter-stage-x11.c \
x11/clutter-x11-texture-pixmap.c \ x11/clutter-x11-texture-pixmap.c \
x11/clutter-xkb-a11y-x11.c \
$(NULL) $(NULL)
x11_source_h = \ x11_source_h = \
@@ -402,6 +409,7 @@ x11_source_h_priv = \
x11/clutter-keymap-x11.h \ x11/clutter-keymap-x11.h \
x11/clutter-settings-x11.h \ x11/clutter-settings-x11.h \
x11/clutter-stage-x11.h \ x11/clutter-stage-x11.h \
x11/clutter-xkb-a11y-x11.h \
$(NULL) $(NULL)
x11_source_c_priv = \ x11_source_c_priv = \
@@ -684,7 +692,7 @@ Cally_@LIBMUTTER_API_VERSION@_gir_CFLAGS = $(AM_CPPFLAGS) $(CLUTTER_CFLAGS)
Cally_@LIBMUTTER_API_VERSION@_gir_SCANNERFLAGS = \ Cally_@LIBMUTTER_API_VERSION@_gir_SCANNERFLAGS = \
--warn-all \ --warn-all \
--c-include='cally/cally.h' \ --c-include='cally/cally.h' \
--pkg-export=mutter-cally-@LIBMUTTER_API_VERSION@ \ --pkg-export=mutter-clutter-@LIBMUTTER_API_VERSION@ \
--include-uninstalled=$(top_builddir)/clutter/Clutter-@LIBMUTTER_API_VERSION@.gir --include-uninstalled=$(top_builddir)/clutter/Clutter-@LIBMUTTER_API_VERSION@.gir
INTROSPECTION_GIRS += Cally-@LIBMUTTER_API_VERSION@.gir INTROSPECTION_GIRS += Cally-@LIBMUTTER_API_VERSION@.gir

View File

@@ -214,6 +214,8 @@ cally_util_simulate_snooper_install (void)
G_CALLBACK (cally_util_stage_added_cb), cally_key_snooper); G_CALLBACK (cally_util_stage_added_cb), cally_key_snooper);
g_signal_connect (G_OBJECT (stage_manager), "stage-removed", g_signal_connect (G_OBJECT (stage_manager), "stage-removed",
G_CALLBACK (cally_util_stage_removed_cb), cally_key_snooper); G_CALLBACK (cally_util_stage_removed_cb), cally_key_snooper);
g_slist_free (stage_list);
} }
static void static void

View File

@@ -2821,7 +2821,7 @@ _clutter_actor_fully_transform_vertices (ClutterActor *self,
/* Note: we pass NULL as the ancestor because we don't just want the modelview /* Note: we pass NULL as the ancestor because we don't just want the modelview
* that gets us to stage coordinates, we want to go all the way to eye * that gets us to stage coordinates, we want to go all the way to eye
* coordinates */ * coordinates */
_clutter_actor_apply_relative_transformation_matrix (self, NULL, &modelview); _clutter_actor_get_relative_transformation_matrix (self, NULL, &modelview);
/* Fetch the projection and viewport */ /* Fetch the projection and viewport */
_clutter_stage_get_projection_matrix (CLUTTER_STAGE (stage), &projection); _clutter_stage_get_projection_matrix (CLUTTER_STAGE (stage), &projection);
@@ -4828,8 +4828,7 @@ clutter_actor_set_scale_factor (ClutterActor *self,
g_assert (pspec != NULL); g_assert (pspec != NULL);
g_assert (scale_p != NULL); g_assert (scale_p != NULL);
if (*scale_p != factor) _clutter_actor_create_transition (self, pspec, *scale_p, factor);
_clutter_actor_create_transition (self, pspec, *scale_p, factor);
} }
static inline void static inline void
@@ -10264,10 +10263,9 @@ clutter_actor_set_position (ClutterActor *self,
cur_position.x = clutter_actor_get_x (self); cur_position.x = clutter_actor_get_x (self);
cur_position.y = clutter_actor_get_y (self); cur_position.y = clutter_actor_get_y (self);
if (!clutter_point_equals (&cur_position, &new_position)) _clutter_actor_create_transition (self, obj_props[PROP_POSITION],
_clutter_actor_create_transition (self, obj_props[PROP_POSITION], &cur_position,
&cur_position, &new_position);
&new_position);
} }
/** /**

View File

@@ -58,6 +58,8 @@ struct _ClutterBackend
gint32 units_serial; gint32 units_serial;
GList *event_translators; GList *event_translators;
ClutterInputMethod *input_method;
}; };
struct _ClutterBackendClass struct _ClutterBackendClass
@@ -100,6 +102,8 @@ struct _ClutterBackendClass
PangoDirection (* get_keymap_direction) (ClutterBackend *backend); PangoDirection (* get_keymap_direction) (ClutterBackend *backend);
void (* bell_notify) (ClutterBackend *backend);
/* signals */ /* signals */
void (* resolution_changed) (ClutterBackend *backend); void (* resolution_changed) (ClutterBackend *backend);
void (* font_changed) (ClutterBackend *backend); void (* font_changed) (ClutterBackend *backend);

View File

@@ -127,6 +127,7 @@ clutter_backend_finalize (GObject *gobject)
g_free (backend->font_name); g_free (backend->font_name);
clutter_backend_set_font_options (backend, NULL); clutter_backend_set_font_options (backend, NULL);
g_clear_object (&backend->input_method);
G_OBJECT_CLASS (clutter_backend_parent_class)->finalize (gobject); G_OBJECT_CLASS (clutter_backend_parent_class)->finalize (gobject);
} }
@@ -1363,3 +1364,41 @@ clutter_set_allowed_drivers (const char *drivers)
allowed_drivers = g_strdup (drivers); allowed_drivers = g_strdup (drivers);
} }
void
clutter_backend_bell_notify (ClutterBackend *backend)
{
ClutterBackendClass *klass;
klass = CLUTTER_BACKEND_GET_CLASS (backend);
if (klass->bell_notify)
klass->bell_notify (backend);
}
/**
* clutter_backend_get_input_method:
* @backend: the #CLutterBackend
*
* Returns the input method used by Clutter
*
* Returns: (transfer none): the input method
**/
ClutterInputMethod *
clutter_backend_get_input_method (ClutterBackend *backend)
{
return backend->input_method;
}
/**
* clutter_backend_set_input_method:
* @backend: the #ClutterBackend
* @method: the input method
*
* Sets the input method to be used by Clutter
**/
void
clutter_backend_set_input_method (ClutterBackend *backend,
ClutterInputMethod *method)
{
g_set_object (&backend->input_method, method);
}

View File

@@ -74,6 +74,15 @@ const cairo_font_options_t * clutter_backend_get_font_options (Clutter
CLUTTER_AVAILABLE_IN_1_8 CLUTTER_AVAILABLE_IN_1_8
CoglContext * clutter_backend_get_cogl_context (ClutterBackend *backend); CoglContext * clutter_backend_get_cogl_context (ClutterBackend *backend);
CLUTTER_AVAILABLE_IN_ALL
void clutter_backend_bell_notify (ClutterBackend *backend);
CLUTTER_AVAILABLE_IN_MUTTER
ClutterInputMethod * clutter_backend_get_input_method (ClutterBackend *backend);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_backend_set_input_method (ClutterBackend *backend,
ClutterInputMethod *method);
G_END_DECLS G_END_DECLS
#endif /* __CLUTTER_BACKEND_H__ */ #endif /* __CLUTTER_BACKEND_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

@@ -145,6 +145,9 @@ struct _ClutterInputDevice
guint is_enabled : 1; guint is_enabled : 1;
}; };
typedef void (*ClutterEmitInputDeviceEvent) (ClutterEvent *event,
ClutterInputDevice *device);
struct _ClutterInputDeviceClass struct _ClutterInputDeviceClass
{ {
GObjectClass parent_class; GObjectClass parent_class;
@@ -163,6 +166,11 @@ struct _ClutterInputDeviceClass
gboolean (* is_grouped) (ClutterInputDevice *device, gboolean (* is_grouped) (ClutterInputDevice *device,
ClutterInputDevice *other_device); ClutterInputDevice *other_device);
/* Keyboard accessbility */
void (* process_kbd_a11y_event) (ClutterEvent *event,
ClutterInputDevice *device,
ClutterEmitInputDeviceEvent emit_event_func);
}; };
/* Platform-dependent interface */ /* Platform-dependent interface */

View File

@@ -54,6 +54,9 @@ struct _ClutterDeviceManagerPrivate
{ {
/* back-pointer to the backend */ /* back-pointer to the backend */
ClutterBackend *backend; ClutterBackend *backend;
/* Keyboard a11y */
ClutterKbdA11ySettings kbd_a11y_settings;
}; };
enum enum
@@ -72,6 +75,8 @@ enum
DEVICE_ADDED, DEVICE_ADDED,
DEVICE_REMOVED, DEVICE_REMOVED,
TOOL_CHANGED, TOOL_CHANGED,
KBD_A11Y_MASK_CHANGED,
KBD_A11Y_FLAGS_CHANGED,
LAST_SIGNAL LAST_SIGNAL
}; };
@@ -196,6 +201,46 @@ clutter_device_manager_class_init (ClutterDeviceManagerClass *klass)
G_TYPE_NONE, 2, G_TYPE_NONE, 2,
CLUTTER_TYPE_INPUT_DEVICE, CLUTTER_TYPE_INPUT_DEVICE,
CLUTTER_TYPE_INPUT_DEVICE_TOOL); CLUTTER_TYPE_INPUT_DEVICE_TOOL);
/**
* ClutterDeviceManager::kbd-a11y-mods-state-changed:
* @manager: the #ClutterDeviceManager that emitted the signal
* @latched_mask: the latched modifier mask from stickykeys
* @locked_mask: the locked modifier mask from stickykeys
*
* The ::kbd-a11y-mods-state-changed signal is emitted each time either the
* latched modifiers mask or locked modifiers mask are changed as the
* result of keyboard accessibilty's sticky keys operations.
*/
manager_signals[KBD_A11Y_MASK_CHANGED] =
g_signal_new (I_("kbd-a11y-mods-state-changed"),
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
0, NULL, NULL,
_clutter_marshal_VOID__UINT_UINT,
G_TYPE_NONE, 2,
G_TYPE_UINT,
G_TYPE_UINT);
/**
* ClutterDeviceManager::kbd-a11y-flags-changed:
* @manager: the #ClutterDeviceManager that emitted the signal
* @settings_flags: the new ClutterKeyboardA11yFlags configuration
* @changed_mask: the ClutterKeyboardA11yFlags changed
*
* The ::kbd-a11y-flags-changed signal is emitted each time the
* ClutterKeyboardA11yFlags configuration is changed as the result of
* keyboard accessibilty operations.
*/
manager_signals[KBD_A11Y_FLAGS_CHANGED] =
g_signal_new (I_("kbd-a11y-flags-changed"),
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
0, NULL, NULL,
_clutter_marshal_VOID__UINT_UINT,
G_TYPE_NONE, 2,
G_TYPE_UINT,
G_TYPE_UINT);
} }
static void static void
@@ -471,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,
@@ -487,3 +547,43 @@ _clutter_device_manager_compress_motion (ClutterDeviceManager *device_manager,
manager_class->compress_motion (device_manager, event, to_discard); manager_class->compress_motion (device_manager, event, to_discard);
} }
static gboolean
are_kbd_a11y_settings_equal (ClutterKbdA11ySettings *a,
ClutterKbdA11ySettings *b)
{
return (a->controls == b->controls &&
a->slowkeys_delay == b->slowkeys_delay &&
a->debounce_delay == b->debounce_delay &&
a->timeout_delay == b->timeout_delay &&
a->mousekeys_init_delay == b->mousekeys_init_delay &&
a->mousekeys_max_speed == b->mousekeys_max_speed &&
a->mousekeys_accel_time == b->mousekeys_accel_time);
}
void
clutter_device_manager_set_kbd_a11y_settings (ClutterDeviceManager *device_manager,
ClutterKbdA11ySettings *settings)
{
ClutterDeviceManagerClass *manager_class;
g_return_if_fail (CLUTTER_IS_DEVICE_MANAGER (device_manager));
if (are_kbd_a11y_settings_equal (&device_manager->priv->kbd_a11y_settings, settings))
return;
device_manager->priv->kbd_a11y_settings = *settings;
manager_class = CLUTTER_DEVICE_MANAGER_GET_CLASS (device_manager);
if (manager_class->apply_kbd_a11y_settings)
manager_class->apply_kbd_a11y_settings (device_manager, settings);
}
void
clutter_device_manager_get_kbd_a11y_settings (ClutterDeviceManager *device_manager,
ClutterKbdA11ySettings *settings)
{
g_return_if_fail (CLUTTER_IS_DEVICE_MANAGER (device_manager));
*settings = device_manager->priv->kbd_a11y_settings;
}

View File

@@ -44,6 +44,35 @@ 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:
*
* The #ClutterKbdA11ySettings structure contains keyboard accessibility
* settings
*
*/
typedef struct _ClutterKbdA11ySettings
{
ClutterKeyboardA11yFlags controls;
gint slowkeys_delay;
gint debounce_delay;
gint timeout_delay;
gint mousekeys_init_delay;
gint mousekeys_max_speed;
gint mousekeys_accel_time;
} ClutterKbdA11ySettings;
/** /**
* ClutterDeviceManager: * ClutterDeviceManager:
* *
@@ -85,10 +114,13 @@ 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);
/* Keyboard accessbility */
void (* apply_kbd_a11y_settings) (ClutterDeviceManager *device_manger,
ClutterKbdA11ySettings *settings);
/* padding */ /* padding */
gpointer _padding[6]; gpointer _padding[6];
}; };
@@ -114,6 +146,16 @@ 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
void clutter_device_manager_set_kbd_a11y_settings (ClutterDeviceManager *device_manager,
ClutterKbdA11ySettings *settings);
CLUTTER_AVAILABLE_IN_ALL
void clutter_device_manager_get_kbd_a11y_settings (ClutterDeviceManager *device_manager,
ClutterKbdA11ySettings *settings);
G_END_DECLS G_END_DECLS
#endif /* __CLUTTER_DEVICE_MANAGER_H__ */ #endif /* __CLUTTER_DEVICE_MANAGER_H__ */

View File

@@ -396,6 +396,43 @@ typedef enum {
CLUTTER_MODIFIER_MASK = 0x5c001fff CLUTTER_MODIFIER_MASK = 0x5c001fff
} ClutterModifierType; } ClutterModifierType;
/**
* ClutterKeyboardA11yFlags:
* @CLUTTER_A11Y_KEYBOARD_ENABLED:
* @CLUTTER_A11Y_TIMEOUT_ENABLED:
* @CLUTTER_A11Y_MOUSE_KEYS_ENABLED:
* @CLUTTER_A11Y_SLOW_KEYS_ENABLED:
* @CLUTTER_A11Y_SLOW_KEYS_BEEP_PRESS:
* @CLUTTER_A11Y_SLOW_KEYS_BEEP_ACCEPT:
* @CLUTTER_A11Y_SLOW_KEYS_BEEP_REJECT:
* @CLUTTER_A11Y_BOUNCE_KEYS_ENABLED:
* @CLUTTER_A11Y_BOUNCE_KEYS_BEEP_REJECT:
* @CLUTTER_A11Y_TOGGLE_KEYS_ENABLED:
* @CLUTTER_A11Y_STICKY_KEYS_ENABLED:
* @CLUTTER_A11Y_STICKY_KEYS_TWO_KEY_OFF:
* @CLUTTER_A11Y_STICKY_KEYS_BEEP:
* @CLUTTER_A11Y_FEATURE_STATE_CHANGE_BEEP:
*
* Keyboard accessibility features applied to a ClutterInputDevice keyboard.
*
*/
typedef enum {
CLUTTER_A11Y_KEYBOARD_ENABLED = 1 << 0,
CLUTTER_A11Y_TIMEOUT_ENABLED = 1 << 1,
CLUTTER_A11Y_MOUSE_KEYS_ENABLED = 1 << 2,
CLUTTER_A11Y_SLOW_KEYS_ENABLED = 1 << 3,
CLUTTER_A11Y_SLOW_KEYS_BEEP_PRESS = 1 << 4,
CLUTTER_A11Y_SLOW_KEYS_BEEP_ACCEPT = 1 << 5,
CLUTTER_A11Y_SLOW_KEYS_BEEP_REJECT = 1 << 6,
CLUTTER_A11Y_BOUNCE_KEYS_ENABLED = 1 << 7,
CLUTTER_A11Y_BOUNCE_KEYS_BEEP_REJECT = 1 << 8,
CLUTTER_A11Y_TOGGLE_KEYS_ENABLED = 1 << 9,
CLUTTER_A11Y_STICKY_KEYS_ENABLED = 1 << 10,
CLUTTER_A11Y_STICKY_KEYS_TWO_KEY_OFF = 1 << 11,
CLUTTER_A11Y_STICKY_KEYS_BEEP = 1 << 12,
CLUTTER_A11Y_FEATURE_STATE_CHANGE_BEEP = 1 << 13,
} ClutterKeyboardA11yFlags;
/** /**
* ClutterActorFlags: * ClutterActorFlags:
* @CLUTTER_ACTOR_MAPPED: the actor will be painted (is visible, and inside * @CLUTTER_ACTOR_MAPPED: the actor will be painted (is visible, and inside
@@ -730,8 +767,9 @@ typedef enum { /*< prefix=CLUTTER_DRAG >*/
* Since: 0.6 * Since: 0.6
*/ */
typedef enum { /*< flags prefix=CLUTTER_EVENT >*/ typedef enum { /*< flags prefix=CLUTTER_EVENT >*/
CLUTTER_EVENT_NONE = 0, CLUTTER_EVENT_NONE = 0,
CLUTTER_EVENT_FLAG_SYNTHETIC = 1 << 0 CLUTTER_EVENT_FLAG_SYNTHETIC = 1 << 0,
CLUTTER_EVENT_FLAG_INPUT_METHOD = 1 << 1
} ClutterEventFlags; } ClutterEventFlags;
/** /**
@@ -1536,6 +1574,41 @@ typedef enum {
CLUTTER_INPUT_DEVICE_MAPPING_RELATIVE, CLUTTER_INPUT_DEVICE_MAPPING_RELATIVE,
} ClutterInputDeviceMapping; } ClutterInputDeviceMapping;
typedef enum {
CLUTTER_INPUT_CONTENT_HINT_COMPLETION = 1 << 0,
CLUTTER_INPUT_CONTENT_HINT_SPELLCHECK = 1 << 1,
CLUTTER_INPUT_CONTENT_HINT_AUTO_CAPITALIZATION = 1 << 2,
CLUTTER_INPUT_CONTENT_HINT_LOWERCASE = 1 << 3,
CLUTTER_INPUT_CONTENT_HINT_UPPERCASE = 1 << 4,
CLUTTER_INPUT_CONTENT_HINT_TITLECASE = 1 << 5,
CLUTTER_INPUT_CONTENT_HINT_HIDDEN_TEXT = 1 << 6,
CLUTTER_INPUT_CONTENT_HINT_SENSITIVE_DATA = 1 << 7,
CLUTTER_INPUT_CONTENT_HINT_LATIN = 1 << 8,
CLUTTER_INPUT_CONTENT_HINT_MULTILINE = 1 << 9,
} ClutterInputContentHintFlags;
typedef enum {
CLUTTER_INPUT_CONTENT_PURPOSE_NORMAL,
CLUTTER_INPUT_CONTENT_PURPOSE_ALPHA,
CLUTTER_INPUT_CONTENT_PURPOSE_DIGITS,
CLUTTER_INPUT_CONTENT_PURPOSE_NUMBER,
CLUTTER_INPUT_CONTENT_PURPOSE_PHONE,
CLUTTER_INPUT_CONTENT_PURPOSE_URL,
CLUTTER_INPUT_CONTENT_PURPOSE_EMAIL,
CLUTTER_INPUT_CONTENT_PURPOSE_NAME,
CLUTTER_INPUT_CONTENT_PURPOSE_PASSWORD,
CLUTTER_INPUT_CONTENT_PURPOSE_DATE,
CLUTTER_INPUT_CONTENT_PURPOSE_TIME,
CLUTTER_INPUT_CONTENT_PURPOSE_DATETIME,
CLUTTER_INPUT_CONTENT_PURPOSE_TERMINAL,
} ClutterInputContentPurpose;
typedef enum {
CLUTTER_INPUT_PANEL_STATE_OFF,
CLUTTER_INPUT_PANEL_STATE_ON,
CLUTTER_INPUT_PANEL_STATE_TOGGLE,
} ClutterInputPanelState;
G_END_DECLS G_END_DECLS
#endif /* __CLUTTER_ENUMS_H__ */ #endif /* __CLUTTER_ENUMS_H__ */

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

@@ -0,0 +1,243 @@
/*
* 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>
*/
#include "clutter-build-config.h"
#include "clutter/clutter-input-focus.h"
#include "clutter/clutter-input-focus-private.h"
#include "clutter/clutter-input-method-private.h"
typedef struct _ClutterInputFocusPrivate ClutterInputFocusPrivate;
struct _ClutterInputFocusPrivate
{
ClutterInputMethod *im;
};
G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (ClutterInputFocus, clutter_input_focus, G_TYPE_OBJECT)
static void
clutter_input_focus_real_focus_in (ClutterInputFocus *focus,
ClutterInputMethod *im)
{
ClutterInputFocusPrivate *priv;
priv = clutter_input_focus_get_instance_private (focus);
priv->im = im;
}
static void
clutter_input_focus_real_focus_out (ClutterInputFocus *focus)
{
ClutterInputFocusPrivate *priv;
priv = clutter_input_focus_get_instance_private (focus);
priv->im = NULL;
}
static void
clutter_input_focus_class_init (ClutterInputFocusClass *klass)
{
klass->focus_in = clutter_input_focus_real_focus_in;
klass->focus_out = clutter_input_focus_real_focus_out;
}
static void
clutter_input_focus_init (ClutterInputFocus *focus)
{
}
gboolean
clutter_input_focus_is_focused (ClutterInputFocus *focus)
{
ClutterInputFocusPrivate *priv;
priv = clutter_input_focus_get_instance_private (focus);
return !!priv->im;
}
void
clutter_input_focus_reset (ClutterInputFocus *focus)
{
ClutterInputFocusPrivate *priv;
g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
g_return_if_fail (clutter_input_focus_is_focused (focus));
priv = clutter_input_focus_get_instance_private (focus);
clutter_input_method_reset (priv->im);
}
void
clutter_input_focus_set_cursor_location (ClutterInputFocus *focus,
const ClutterRect *rect)
{
ClutterInputFocusPrivate *priv;
g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
g_return_if_fail (clutter_input_focus_is_focused (focus));
priv = clutter_input_focus_get_instance_private (focus);
clutter_input_method_set_cursor_location (priv->im, rect);
}
void
clutter_input_focus_set_surrounding (ClutterInputFocus *focus,
const gchar *text,
guint cursor,
guint anchor)
{
ClutterInputFocusPrivate *priv;
g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
g_return_if_fail (clutter_input_focus_is_focused (focus));
priv = clutter_input_focus_get_instance_private (focus);
clutter_input_method_set_surrounding (priv->im, text, cursor, anchor);
}
void
clutter_input_focus_set_content_hints (ClutterInputFocus *focus,
ClutterInputContentHintFlags hints)
{
ClutterInputFocusPrivate *priv;
g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
g_return_if_fail (clutter_input_focus_is_focused (focus));
priv = clutter_input_focus_get_instance_private (focus);
clutter_input_method_set_content_hints (priv->im, hints);
}
void
clutter_input_focus_set_content_purpose (ClutterInputFocus *focus,
ClutterInputContentPurpose purpose)
{
ClutterInputFocusPrivate *priv;
g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
g_return_if_fail (clutter_input_focus_is_focused (focus));
priv = clutter_input_focus_get_instance_private (focus);
clutter_input_method_set_content_purpose (priv->im, purpose);
}
gboolean
clutter_input_focus_filter_key_event (ClutterInputFocus *focus,
const ClutterKeyEvent *key)
{
ClutterInputFocusPrivate *priv;
g_return_val_if_fail (CLUTTER_IS_INPUT_FOCUS (focus), FALSE);
g_return_val_if_fail (clutter_input_focus_is_focused (focus), FALSE);
priv = clutter_input_focus_get_instance_private (focus);
return clutter_input_method_filter_key_event (priv->im, key);
}
void
clutter_input_focus_set_can_show_preedit (ClutterInputFocus *focus,
gboolean can_show_preedit)
{
ClutterInputFocusPrivate *priv;
g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
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
clutter_input_focus_request_toggle_input_panel (ClutterInputFocus *focus)
{
ClutterInputFocusPrivate *priv;
g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
g_return_if_fail (clutter_input_focus_is_focused (focus));
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

@@ -0,0 +1,83 @@
/*
* 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_H__
#define __CLUTTER_INPUT_FOCUS_H__
#include <clutter/clutter.h>
#define CLUTTER_TYPE_INPUT_FOCUS (clutter_input_focus_get_type ())
CLUTTER_AVAILABLE_IN_MUTTER
G_DECLARE_DERIVABLE_TYPE (ClutterInputFocus, clutter_input_focus,
CLUTTER, INPUT_FOCUS, GObject)
struct _ClutterInputFocusClass
{
GObjectClass parent_class;
GTypeInterface iface;
void (* focus_in) (ClutterInputFocus *focus,
ClutterInputMethod *input_method);
void (* focus_out) (ClutterInputFocus *focus);
void (* request_surrounding) (ClutterInputFocus *focus);
void (* delete_surrounding) (ClutterInputFocus *focus,
guint offset,
guint len);
void (* commit_text) (ClutterInputFocus *focus,
const gchar *text);
void (* set_preedit_text) (ClutterInputFocus *focus,
const gchar *preedit,
guint cursor);
};
CLUTTER_AVAILABLE_IN_MUTTER
gboolean clutter_input_focus_is_focused (ClutterInputFocus *focus);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_focus_reset (ClutterInputFocus *focus);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_focus_set_cursor_location (ClutterInputFocus *focus,
const ClutterRect *rect);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_focus_set_surrounding (ClutterInputFocus *focus,
const gchar *text,
guint cursor,
guint anchor);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_focus_set_content_hints (ClutterInputFocus *focus,
ClutterInputContentHintFlags hint);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_focus_set_content_purpose (ClutterInputFocus *focus,
ClutterInputContentPurpose purpose);
CLUTTER_AVAILABLE_IN_MUTTER
gboolean clutter_input_focus_filter_key_event (ClutterInputFocus *focus,
const ClutterKeyEvent *key);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_focus_set_can_show_preedit (ClutterInputFocus *focus,
gboolean can_show_preedit);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_focus_request_toggle_input_panel (ClutterInputFocus *focus);
#endif /* __CLUTTER_INPUT_FOCUS_H__ */

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

@@ -0,0 +1,444 @@
/*
* 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>
*/
#include "clutter-build-config.h"
#include "clutter-private.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;
struct _ClutterInputMethodPrivate
{
ClutterInputFocus *focus;
ClutterInputContentHintFlags content_hints;
ClutterInputContentPurpose content_purpose;
gboolean can_show_preedit;
};
enum {
COMMIT,
DELETE_SURROUNDING,
REQUEST_SURROUNDING,
INPUT_PANEL_STATE,
CURSOR_LOCATION_CHANGED,
N_SIGNALS,
};
enum {
PROP_0,
PROP_CONTENT_HINTS,
PROP_CONTENT_PURPOSE,
PROP_CAN_SHOW_PREEDIT,
N_PROPS
};
static guint signals[N_SIGNALS] = { 0 };
static GParamSpec *pspecs[N_PROPS] = { 0 };
G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (ClutterInputMethod, clutter_input_method, G_TYPE_OBJECT)
static void
set_content_hints (ClutterInputMethod *im,
ClutterInputContentHintFlags content_hints)
{
ClutterInputMethodPrivate *priv;
priv = clutter_input_method_get_instance_private (im);
priv->content_hints = content_hints;
CLUTTER_INPUT_METHOD_GET_CLASS (im)->update_content_hints (im, content_hints);
}
static void
set_content_purpose (ClutterInputMethod *im,
ClutterInputContentPurpose content_purpose)
{
ClutterInputMethodPrivate *priv;
priv = clutter_input_method_get_instance_private (im);
priv->content_purpose = content_purpose;
CLUTTER_INPUT_METHOD_GET_CLASS (im)->update_content_purpose (im,
content_purpose);
}
static void
set_can_show_preedit (ClutterInputMethod *im,
gboolean can_show_preedit)
{
ClutterInputMethodPrivate *priv;
priv = clutter_input_method_get_instance_private (im);
priv->can_show_preedit = can_show_preedit;
}
static void
clutter_input_method_set_property (GObject *object,
guint prop_id,
const GValue *value,
GParamSpec *pspec)
{
switch (prop_id)
{
case PROP_CONTENT_HINTS:
set_content_hints (CLUTTER_INPUT_METHOD (object),
g_value_get_flags (value));
break;
case PROP_CONTENT_PURPOSE:
set_content_purpose (CLUTTER_INPUT_METHOD (object),
g_value_get_enum (value));
break;
case PROP_CAN_SHOW_PREEDIT:
set_can_show_preedit (CLUTTER_INPUT_METHOD (object),
g_value_get_boolean (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
static void
clutter_input_method_get_property (GObject *object,
guint prop_id,
GValue *value,
GParamSpec *pspec)
{
ClutterInputMethodPrivate *priv;
ClutterInputMethod *im;
im = CLUTTER_INPUT_METHOD (object);
priv = clutter_input_method_get_instance_private (im);
switch (prop_id)
{
case PROP_CONTENT_HINTS:
g_value_set_flags (value, priv->content_hints);
break;
case PROP_CONTENT_PURPOSE:
g_value_set_enum (value, priv->content_purpose);
break;
case PROP_CAN_SHOW_PREEDIT:
g_value_set_boolean (value, priv->can_show_preedit);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
static void
clutter_input_method_class_init (ClutterInputMethodClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->set_property = clutter_input_method_set_property;
object_class->get_property = clutter_input_method_get_property;
signals[COMMIT] =
g_signal_new ("commit",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
0, NULL, NULL, NULL,
G_TYPE_NONE, 1, G_TYPE_STRING);
signals[DELETE_SURROUNDING] =
g_signal_new ("delete-surrounding",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
0, NULL, NULL, NULL,
G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_UINT);
signals[REQUEST_SURROUNDING] =
g_signal_new ("request-surrounding",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
0, NULL, NULL, NULL,
G_TYPE_NONE, 0);
signals[INPUT_PANEL_STATE] =
g_signal_new ("input-panel-state",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
0, NULL, NULL, NULL,
G_TYPE_NONE, 1,
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] =
g_param_spec_flags ("content-hints",
P_("Content hints"),
P_("Content hints"),
CLUTTER_TYPE_INPUT_CONTENT_HINT_FLAGS, 0,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS);
pspecs[PROP_CONTENT_PURPOSE] =
g_param_spec_enum ("content-purpose",
P_("Content purpose"),
P_("Content purpose"),
CLUTTER_TYPE_INPUT_CONTENT_PURPOSE, 0,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS);
pspecs[PROP_CAN_SHOW_PREEDIT] =
g_param_spec_boolean ("can-show-preedit",
P_("Can show preedit"),
P_("Can show preedit"),
FALSE,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS);
g_object_class_install_properties (object_class, N_PROPS, pspecs);
}
static void
clutter_input_method_init (ClutterInputMethod *im)
{
}
void
clutter_input_method_focus_in (ClutterInputMethod *im,
ClutterInputFocus *focus)
{
ClutterInputMethodPrivate *priv;
ClutterInputMethodClass *klass;
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
priv = clutter_input_method_get_instance_private (im);
if (priv->focus == focus)
return;
if (priv->focus)
clutter_input_method_focus_out (im);
g_set_object (&priv->focus, focus);
if (focus)
{
klass = CLUTTER_INPUT_METHOD_GET_CLASS (im);
klass->focus_in (im, focus);
clutter_input_focus_focus_in (priv->focus, im);
}
}
void
clutter_input_method_focus_out (ClutterInputMethod *im)
{
ClutterInputMethodPrivate *priv;
ClutterInputMethodClass *klass;
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
priv = clutter_input_method_get_instance_private (im);
if (!priv->focus)
return;
clutter_input_focus_focus_out (priv->focus);
g_clear_object (&priv->focus);
klass = CLUTTER_INPUT_METHOD_GET_CLASS (im);
klass->focus_out (im);
g_signal_emit (im, signals[INPUT_PANEL_STATE],
0, CLUTTER_INPUT_PANEL_STATE_OFF);
}
ClutterInputFocus *
clutter_input_method_get_focus (ClutterInputMethod *im)
{
ClutterInputMethodPrivate *priv;
priv = clutter_input_method_get_instance_private (im);
return priv->focus;
}
void
clutter_input_method_commit (ClutterInputMethod *im,
const gchar *text)
{
ClutterInputMethodPrivate *priv;
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
priv = clutter_input_method_get_instance_private (im);
if (priv->focus)
clutter_input_focus_commit (priv->focus, text);
}
void
clutter_input_method_delete_surrounding (ClutterInputMethod *im,
guint offset,
guint len)
{
ClutterInputMethodPrivate *priv;
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
priv = clutter_input_method_get_instance_private (im);
if (priv->focus)
clutter_input_focus_delete_surrounding (priv->focus, offset, len);
}
void
clutter_input_method_request_surrounding (ClutterInputMethod *im)
{
ClutterInputMethodPrivate *priv;
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
priv = clutter_input_method_get_instance_private (im);
if (priv->focus)
clutter_input_focus_request_surrounding (priv->focus);
}
/**
* clutter_input_method_set_preedit_text:
* @im: a #ClutterInputMethod
* @preedit: (nullable): the preedit text, or %NULL
* @cursor: the cursor
*
* Sets the preedit text on the current input focus.
**/
void
clutter_input_method_set_preedit_text (ClutterInputMethod *im,
const gchar *preedit,
guint cursor)
{
ClutterInputMethodPrivate *priv;
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
priv = clutter_input_method_get_instance_private (im);
if (priv->focus)
clutter_input_focus_set_preedit_text (priv->focus, preedit, cursor);
}
void
clutter_input_method_notify_key_event (ClutterInputMethod *im,
const ClutterEvent *event,
gboolean filtered)
{
if (!filtered)
{
ClutterEvent *copy;
/* XXX: we rely on the IM implementation to notify back of
* key events in the exact same order they were given.
*/
copy = clutter_event_copy (event);
clutter_event_set_flags (copy, clutter_event_get_flags (event) |
CLUTTER_EVENT_FLAG_INPUT_METHOD);
clutter_event_set_source_device (copy, clutter_event_get_device (copy));
clutter_event_put (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

@@ -0,0 +1,88 @@
/*
* 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_H__
#define __CLUTTER_INPUT_METHOD_H__
#include <clutter/clutter.h>
#define CLUTTER_TYPE_INPUT_METHOD (clutter_input_method_get_type ())
CLUTTER_AVAILABLE_IN_MUTTER
G_DECLARE_DERIVABLE_TYPE (ClutterInputMethod, clutter_input_method,
CLUTTER, INPUT_METHOD, GObject)
typedef struct _ClutterInputMethodClass ClutterInputMethodClass;
struct _ClutterInputMethodClass
{
GObjectClass parent_class;
void (* focus_in) (ClutterInputMethod *im,
ClutterInputFocus *actor);
void (* focus_out) (ClutterInputMethod *im);
void (* reset) (ClutterInputMethod *im);
void (* set_cursor_location) (ClutterInputMethod *im,
const ClutterRect *rect);
void (* set_surrounding) (ClutterInputMethod *im,
const gchar *text,
guint cursor,
guint anchor);
void (* update_content_hints) (ClutterInputMethod *im,
ClutterInputContentHintFlags hint);
void (* update_content_purpose) (ClutterInputMethod *im,
ClutterInputContentPurpose purpose);
gboolean (* filter_key_event) (ClutterInputMethod *im,
const ClutterEvent *key);
};
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_method_focus_in (ClutterInputMethod *im,
ClutterInputFocus *focus);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_method_focus_out (ClutterInputMethod *im);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_method_commit (ClutterInputMethod *im,
const gchar *text);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_method_delete_surrounding (ClutterInputMethod *im,
guint offset,
guint len);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_method_request_surrounding (ClutterInputMethod *im);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_method_set_preedit_text (ClutterInputMethod *im,
const gchar *preedit,
guint cursor);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_method_notify_key_event (ClutterInputMethod *im,
const ClutterEvent *event,
gboolean filtered);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_input_method_request_toggle_input_panel (ClutterInputMethod *im);
#endif /* __CLUTTER_INPUT_METHOD_H__ */

View File

@@ -2089,6 +2089,21 @@ emit_keyboard_event (ClutterEvent *event,
} }
} }
static inline void
process_key_event (ClutterEvent *event,
ClutterInputDevice *device)
{
ClutterInputDeviceClass *device_class = CLUTTER_INPUT_DEVICE_GET_CLASS (device);
if (device_class->process_kbd_a11y_event)
{
device_class->process_kbd_a11y_event (event, device, emit_keyboard_event);
return;
}
emit_keyboard_event (event, device);
}
static gboolean static gboolean
is_off_stage (ClutterActor *stage, is_off_stage (ClutterActor *stage,
gfloat x, gfloat x,
@@ -2176,7 +2191,7 @@ _clutter_process_event_details (ClutterActor *stage,
} }
} }
emit_keyboard_event (event, device); process_key_event (event, device);
} }
break; break;

View File

@@ -40,6 +40,12 @@ gboolean _clutter_get_sync_to_vblank (void);
CLUTTER_AVAILABLE_IN_MUTTER CLUTTER_AVAILABLE_IN_MUTTER
int64_t clutter_stage_get_frame_counter (ClutterStage *stage); int64_t clutter_stage_get_frame_counter (ClutterStage *stage);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_stage_capture_into (ClutterStage *stage,
gboolean paint,
cairo_rectangle_int_t *rect,
uint8_t *data);
#undef __CLUTTER_H_INSIDE__ #undef __CLUTTER_H_INSIDE__
#endif /* __CLUTTER_MUTTER_H__ */ #endif /* __CLUTTER_MUTTER_H__ */

View File

@@ -267,7 +267,6 @@ clutter_stage_view_set_property (GObject *object,
priv->layout = *layout; priv->layout = *layout;
break; break;
case PROP_FRAMEBUFFER: case PROP_FRAMEBUFFER:
g_clear_pointer (&priv->framebuffer, cogl_object_unref);
priv->framebuffer = g_value_dup_boxed (value); priv->framebuffer = g_value_dup_boxed (value);
#ifndef G_DISABLE_CHECKS #ifndef G_DISABLE_CHECKS
if (priv->framebuffer) if (priv->framebuffer)
@@ -285,7 +284,6 @@ clutter_stage_view_set_property (GObject *object,
#endif #endif
break; break;
case PROP_OFFSCREEN: case PROP_OFFSCREEN:
g_clear_pointer (&priv->offscreen, cogl_object_unref);
priv->offscreen = g_value_dup_boxed (value); priv->offscreen = g_value_dup_boxed (value);
break; break;
case PROP_SCALE: case PROP_SCALE:
@@ -357,7 +355,7 @@ clutter_stage_view_class_init (ClutterStageViewClass *klass)
"Framebuffer used as intermediate buffer", "Framebuffer used as intermediate buffer",
COGL_TYPE_HANDLE, COGL_TYPE_HANDLE,
G_PARAM_READWRITE | G_PARAM_READWRITE |
G_PARAM_CONSTRUCT | G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_STRINGS); G_PARAM_STATIC_STRINGS);
obj_props[PROP_SCALE] = obj_props[PROP_SCALE] =

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);
} }
@@ -4726,8 +4729,8 @@ capture_view (ClutterStage *stage,
if (paint) if (paint)
{ {
_clutter_stage_maybe_setup_viewport (stage, view);
cogl_push_framebuffer (framebuffer); cogl_push_framebuffer (framebuffer);
_clutter_stage_maybe_setup_viewport (stage, view);
clutter_stage_do_paint_view (stage, view, rect); clutter_stage_do_paint_view (stage, view, rect);
} }
@@ -4810,3 +4813,93 @@ clutter_stage_capture (ClutterStage *stage,
return TRUE; return TRUE;
} }
static void
capture_view_into (ClutterStage *stage,
gboolean paint,
ClutterStageView *view,
cairo_rectangle_int_t *rect,
uint8_t *data,
int stride)
{
CoglFramebuffer *framebuffer;
ClutterBackend *backend;
CoglContext *context;
CoglBitmap *bitmap;
cairo_rectangle_int_t view_layout;
framebuffer = clutter_stage_view_get_framebuffer (view);
if (paint)
{
cogl_push_framebuffer (framebuffer);
_clutter_stage_maybe_setup_viewport (stage, view);
clutter_stage_do_paint_view (stage, view, rect);
}
backend = clutter_get_default_backend ();
context = clutter_backend_get_cogl_context (backend);
bitmap = cogl_bitmap_new_for_data (context,
rect->width, rect->height,
CLUTTER_CAIRO_FORMAT_ARGB32,
stride,
data);
clutter_stage_view_get_layout (view, &view_layout);
cogl_framebuffer_read_pixels_into_bitmap (framebuffer,
rect->x - view_layout.x,
rect->y - view_layout.y,
COGL_READ_PIXELS_COLOR_BUFFER,
bitmap);
if (paint)
cogl_pop_framebuffer ();
cogl_object_unref (bitmap);
}
static ClutterStageView *
get_view_at_rect (ClutterStage *stage,
cairo_rectangle_int_t *rect)
{
ClutterStagePrivate *priv = stage->priv;
GList *views = _clutter_stage_window_get_views (priv->impl);
GList *l;
for (l = views; l; l = l->next)
{
ClutterStageView *view = l->data;
cairo_rectangle_int_t view_layout;
cairo_region_t *region;
cairo_rectangle_int_t view_capture_rect;
clutter_stage_view_get_layout (view, &view_layout);
region = cairo_region_create_rectangle (&view_layout);
cairo_region_intersect_rectangle (region, rect);
cairo_region_get_extents (region, &view_capture_rect);
cairo_region_destroy (region);
if (view_capture_rect.width == 0 || view_capture_rect.height == 0)
continue;
g_assert (view_capture_rect.width == rect->width &&
view_capture_rect.height == rect->height);
return view;
}
return NULL;
}
void
clutter_stage_capture_into (ClutterStage *stage,
gboolean paint,
cairo_rectangle_int_t *rect,
uint8_t *data)
{
ClutterStageView *view;
int bpp = 4;
view = get_view_at_rect (stage, rect);
capture_view_into (stage, paint, view, rect, data, rect->width * bpp);
}

View File

@@ -63,6 +63,7 @@
#include "clutter-units.h" #include "clutter-units.h"
#include "clutter-paint-volume-private.h" #include "clutter-paint-volume-private.h"
#include "clutter-scriptable.h" #include "clutter-scriptable.h"
#include "clutter-input-focus.h"
/* cursor width in pixels */ /* cursor width in pixels */
#define DEFAULT_CURSOR_SIZE 2 #define DEFAULT_CURSOR_SIZE 2
@@ -98,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;
@@ -176,6 +183,10 @@ 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;
ClutterInputContentPurpose input_purpose;
/* bitfields */ /* bitfields */
guint alignment : 2; guint alignment : 2;
guint wrap : 1; guint wrap : 1;
@@ -236,6 +247,8 @@ enum
PROP_SINGLE_LINE_MODE, PROP_SINGLE_LINE_MODE,
PROP_SELECTED_TEXT_COLOR, PROP_SELECTED_TEXT_COLOR,
PROP_SELECTED_TEXT_COLOR_SET, PROP_SELECTED_TEXT_COLOR_SET,
PROP_INPUT_HINTS,
PROP_INPUT_PURPOSE,
PROP_LAST PROP_LAST
}; };
@@ -269,6 +282,112 @@ 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;
/* ClutterTextInputFocus */
#define CLUTTER_TYPE_TEXT_INPUT_FOCUS (clutter_text_input_focus_get_type ())
G_DECLARE_FINAL_TYPE (ClutterTextInputFocus, clutter_text_input_focus,
CLUTTER, TEXT_INPUT_FOCUS, ClutterInputFocus)
G_DEFINE_TYPE (ClutterTextInputFocus, clutter_text_input_focus,
CLUTTER_TYPE_INPUT_FOCUS)
static void
clutter_text_input_focus_request_surrounding (ClutterInputFocus *focus)
{
ClutterText *clutter_text = CLUTTER_TEXT_INPUT_FOCUS (focus)->text;
ClutterTextBuffer *buffer;
const gchar *text;
gint anchor_pos, cursor_pos;
buffer = clutter_text_get_buffer (clutter_text);
text = clutter_text_buffer_get_text (buffer);
cursor_pos = clutter_text_get_cursor_position (clutter_text);
if (cursor_pos < 0)
cursor_pos = clutter_text_buffer_get_length (buffer);
anchor_pos = clutter_text_get_selection_bound (clutter_text);
if (anchor_pos < 0)
anchor_pos = cursor_pos;
clutter_input_focus_set_surrounding (focus, text,
g_utf8_offset_to_pointer (text, cursor_pos) - text,
g_utf8_offset_to_pointer (text, anchor_pos) - text);
}
static void
clutter_text_input_focus_delete_surrounding (ClutterInputFocus *focus,
guint offset,
guint len)
{
ClutterText *clutter_text = CLUTTER_TEXT_INPUT_FOCUS (focus)->text;
if (clutter_text_get_editable (clutter_text))
clutter_text_delete_text (clutter_text, offset, len);
}
static void
clutter_text_input_focus_commit_text (ClutterInputFocus *focus,
const gchar *text)
{
ClutterText *clutter_text = CLUTTER_TEXT_INPUT_FOCUS (focus)->text;
if (clutter_text_get_editable (clutter_text))
{
clutter_text_delete_selection (clutter_text);
clutter_text_insert_text (clutter_text, text,
clutter_text_get_cursor_position (clutter_text));
clutter_text_set_preedit_string (clutter_text, NULL, NULL, 0);
}
}
static void
clutter_text_input_focus_set_preedit_text (ClutterInputFocus *focus,
const gchar *preedit_text,
guint cursor_pos)
{
ClutterText *clutter_text = CLUTTER_TEXT_INPUT_FOCUS (focus)->text;
if (clutter_text_get_editable (clutter_text))
{
PangoAttrList *list;
list = pango_attr_list_new ();
pango_attr_list_insert (list, pango_attr_underline_new (PANGO_UNDERLINE_SINGLE));
clutter_text_set_preedit_string (clutter_text,
preedit_text, list,
cursor_pos);
pango_attr_list_unref (list);
}
}
static void
clutter_text_input_focus_class_init (ClutterTextInputFocusClass *klass)
{
ClutterInputFocusClass *focus_class = CLUTTER_INPUT_FOCUS_CLASS (klass);
focus_class->request_surrounding = clutter_text_input_focus_request_surrounding;
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_scriptable_iface_init (ClutterScriptableIface *iface);
static void clutter_animatable_iface_init (ClutterAnimatableIface *iface); static void clutter_animatable_iface_init (ClutterAnimatableIface *iface);
@@ -1009,6 +1128,22 @@ clutter_text_position_to_coords (ClutterText *self,
return TRUE; return TRUE;
} }
static inline void
update_cursor_location (ClutterText *self)
{
ClutterTextPrivate *priv = self->priv;
ClutterRect rect;
float x, y;
if (!priv->editable)
return;
rect = priv->cursor_rect;
clutter_actor_get_transformed_position (CLUTTER_ACTOR (self), &x, &y);
clutter_rect_offset (&rect, x, y);
clutter_input_focus_set_cursor_location (priv->input_focus, &rect);
}
static inline void static inline void
clutter_text_ensure_cursor_position (ClutterText *self) clutter_text_ensure_cursor_position (ClutterText *self)
{ {
@@ -1057,6 +1192,8 @@ clutter_text_ensure_cursor_position (ClutterText *self)
g_signal_emit (self, text_signals[CURSOR_EVENT], 0, &cursor_pos); g_signal_emit (self, text_signals[CURSOR_EVENT], 0, &cursor_pos);
g_signal_emit (self, text_signals[CURSOR_CHANGED], 0); g_signal_emit (self, text_signals[CURSOR_CHANGED], 0);
update_cursor_location (self);
} }
} }
@@ -1503,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);
} }
@@ -1859,6 +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 (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
@@ -2084,10 +2224,17 @@ 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 * the Unicode value and not the key symbol, unless they
* contain the input method flag.
*/ */
if (event->keyval == 0 && (event->flags & CLUTTER_EVENT_FLAG_SYNTHETIC)) if (event->keyval == 0 && (event->flags & CLUTTER_EVENT_FLAG_SYNTHETIC) &&
!(event->flags & CLUTTER_EVENT_FLAG_INPUT_METHOD))
res = FALSE; res = FALSE;
else else
res = clutter_binding_pool_activate (pool, event->keyval, res = clutter_binding_pool_activate (pool, event->keyval,
@@ -2141,6 +2288,20 @@ clutter_text_key_press (ClutterActor *actor,
return CLUTTER_EVENT_PROPAGATE; return CLUTTER_EVENT_PROPAGATE;
} }
static gboolean
clutter_text_key_release (ClutterActor *actor,
ClutterKeyEvent *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_PROPAGATE;
}
static void static void
clutter_text_compute_layout_offsets (ClutterText *self, clutter_text_compute_layout_offsets (ClutterText *self,
PangoLayout *layout, PangoLayout *layout,
@@ -2663,6 +2824,18 @@ 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 (method && priv->editable)
{
clutter_input_method_focus_in (method, priv->input_focus);
clutter_input_focus_set_content_purpose (priv->input_focus,
priv->input_purpose);
clutter_input_focus_set_content_hints (priv->input_focus,
priv->input_hints);
update_cursor_location (CLUTTER_TEXT (actor));
}
priv->has_focus = TRUE; priv->has_focus = TRUE;
@@ -2673,9 +2846,17 @@ 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 && clutter_input_focus_is_focused (priv->input_focus))
{
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);
} }
@@ -3369,6 +3550,7 @@ clutter_text_class_init (ClutterTextClass *klass)
actor_class->get_preferred_height = clutter_text_get_preferred_height; actor_class->get_preferred_height = clutter_text_get_preferred_height;
actor_class->allocate = clutter_text_allocate; actor_class->allocate = clutter_text_allocate;
actor_class->key_press_event = clutter_text_key_press; actor_class->key_press_event = clutter_text_key_press;
actor_class->key_release_event = clutter_text_key_release;
actor_class->button_press_event = clutter_text_button_press; actor_class->button_press_event = clutter_text_button_press;
actor_class->button_release_event = clutter_text_button_release; actor_class->button_release_event = clutter_text_button_release;
actor_class->motion_event = clutter_text_motion; actor_class->motion_event = clutter_text_motion;
@@ -3869,6 +4051,22 @@ clutter_text_class_init (ClutterTextClass *klass)
obj_props[PROP_SELECTED_TEXT_COLOR_SET] = pspec; obj_props[PROP_SELECTED_TEXT_COLOR_SET] = pspec;
g_object_class_install_property (gobject_class, PROP_SELECTED_TEXT_COLOR_SET, pspec); g_object_class_install_property (gobject_class, PROP_SELECTED_TEXT_COLOR_SET, pspec);
pspec = g_param_spec_flags ("input-hints",
P_("Input hints"),
P_("Input hints"),
CLUTTER_TYPE_INPUT_CONTENT_HINT_FLAGS,
0, CLUTTER_PARAM_READWRITE);
obj_props[PROP_INPUT_HINTS] = pspec;
g_object_class_install_property (gobject_class, PROP_INPUT_HINTS, pspec);
pspec = g_param_spec_enum ("input-purpose",
P_("Input purpose"),
P_("Input purpose"),
CLUTTER_TYPE_INPUT_CONTENT_PURPOSE,
0, CLUTTER_PARAM_READWRITE);
obj_props[PROP_INPUT_PURPOSE] = pspec;
g_object_class_install_property (gobject_class, PROP_INPUT_PURPOSE, pspec);
/** /**
* ClutterText::text-changed: * ClutterText::text-changed:
* @self: the #ClutterText that emitted the signal * @self: the #ClutterText that emitted the signal
@@ -4169,6 +4367,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);
} }
/** /**
@@ -4315,6 +4515,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,
@@ -4322,9 +4543,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]);
@@ -4459,6 +4678,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));
@@ -4469,6 +4690,14 @@ clutter_text_set_editable (ClutterText *self,
{ {
priv->editable = editable; priv->editable = editable;
if (method)
{
if (!priv->editable && clutter_input_focus_is_focused (priv->input_focus))
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));
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_EDITABLE]); g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_EDITABLE]);
@@ -4666,8 +4895,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]);
} }
@@ -5568,9 +5796,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]);
} }
@@ -5625,9 +5851,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));
} }
/** /**
@@ -5674,9 +5898,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]);
} }
@@ -6243,8 +6465,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));
} }
@@ -6298,3 +6519,53 @@ clutter_text_get_cursor_rect (ClutterText *self,
*rect = self->priv->cursor_rect; *rect = self->priv->cursor_rect;
} }
void
clutter_text_set_input_hints (ClutterText *self,
ClutterInputContentHintFlags hints)
{
g_return_if_fail (CLUTTER_IS_TEXT (self));
self->priv->input_hints = hints;
if (clutter_input_focus_is_focused (self->priv->input_focus))
clutter_input_focus_set_content_hints (self->priv->input_focus, hints);
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_INPUT_HINTS]);
}
ClutterInputContentHintFlags
clutter_text_get_input_hints (ClutterText *self)
{
g_return_val_if_fail (CLUTTER_IS_TEXT (self), 0);
return self->priv->input_hints;
}
void
clutter_text_set_input_purpose (ClutterText *self,
ClutterInputContentPurpose purpose)
{
g_return_if_fail (CLUTTER_IS_TEXT (self));
self->priv->input_purpose = purpose;
if (clutter_input_focus_is_focused (self->priv->input_focus))
clutter_input_focus_set_content_purpose (self->priv->input_focus, purpose);
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_INPUT_PURPOSE]);
}
ClutterInputContentPurpose
clutter_text_get_input_purpose (ClutterText *self)
{
g_return_val_if_fail (CLUTTER_IS_TEXT (self), 0);
return self->priv->input_purpose;
}
gboolean
clutter_text_has_preedit (ClutterText *self)
{
g_return_val_if_fail (CLUTTER_IS_TEXT (self), FALSE);
return self->priv->preedit_set;
}

View File

@@ -302,6 +302,20 @@ void clutter_text_get_layout_offsets (ClutterText *
gint *x, gint *x,
gint *y); gint *y);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_text_set_input_hints (ClutterText *self,
ClutterInputContentHintFlags hints);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_text_set_input_purpose (ClutterText *self,
ClutterInputContentPurpose purpose);
CLUTTER_AVAILABLE_IN_MUTTER
ClutterInputContentHintFlags clutter_text_get_input_hints (ClutterText *self);
CLUTTER_AVAILABLE_IN_MUTTER
ClutterInputContentPurpose clutter_text_get_input_purpose (ClutterText *self);
CLUTTER_AVAILABLE_IN_MUTTER
gboolean clutter_text_has_preedit (ClutterText *self);
G_END_DECLS G_END_DECLS
#endif /* __CLUTTER_TEXT_H__ */ #endif /* __CLUTTER_TEXT_H__ */

View File

@@ -97,6 +97,9 @@ typedef struct _ClutterInputDeviceTool ClutterInputDeviceTool;
typedef struct _ClutterInputDevice ClutterInputDevice; typedef struct _ClutterInputDevice ClutterInputDevice;
typedef struct _ClutterVirtualInputDevice ClutterVirtualInputDevice; typedef struct _ClutterVirtualInputDevice ClutterVirtualInputDevice;
typedef struct _ClutterInputMethod ClutterInputMethod;
typedef struct _ClutterInputFocus ClutterInputFocus;
typedef CoglMatrix ClutterMatrix; typedef CoglMatrix ClutterMatrix;
typedef union _ClutterEvent ClutterEvent; typedef union _ClutterEvent ClutterEvent;

View File

@@ -115,6 +115,74 @@ clutter_virtual_input_device_notify_keyval (ClutterVirtualInputDevice *virtual_d
klass->notify_keyval (virtual_device, time_us, keyval, key_state); klass->notify_keyval (virtual_device, time_us, keyval, key_state);
} }
void
clutter_virtual_input_device_notify_discrete_scroll (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
ClutterScrollDirection direction,
ClutterScrollSource scroll_source)
{
ClutterVirtualInputDeviceClass *klass =
CLUTTER_VIRTUAL_INPUT_DEVICE_GET_CLASS (virtual_device);
klass->notify_discrete_scroll (virtual_device, time_us,
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

@@ -76,6 +76,34 @@ struct _ClutterVirtualInputDeviceClass
uint64_t time_us, uint64_t time_us,
uint32_t keyval, uint32_t keyval,
ClutterKeyState key_state); ClutterKeyState key_state);
void (*notify_discrete_scroll) (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
ClutterScrollDirection direction,
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
@@ -108,6 +136,39 @@ void clutter_virtual_input_device_notify_keyval (ClutterVirtualInputDevice *virt
uint32_t keyval, uint32_t keyval,
ClutterKeyState key_state); ClutterKeyState key_state);
CLUTTER_AVAILABLE_IN_ALL
void clutter_virtual_input_device_notify_discrete_scroll (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
ClutterScrollDirection direction,
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

@@ -72,6 +72,8 @@
#include "clutter-image.h" #include "clutter-image.h"
#include "clutter-input-device.h" #include "clutter-input-device.h"
#include "clutter-input-device-tool.h" #include "clutter-input-device-tool.h"
#include "clutter-input-method.h"
#include "clutter-input-focus.h"
#include "clutter-interval.h" #include "clutter-interval.h"
#include "clutter-keyframe-transition.h" #include "clutter-keyframe-transition.h"
#include "clutter-keysyms.h" #include "clutter-keysyms.h"

View File

@@ -48,6 +48,7 @@
#include "clutter-private.h" #include "clutter-private.h"
#include "clutter-main.h" #include "clutter-main.h"
#include "clutter-stage-private.h" #include "clutter-stage-private.h"
#include "clutter-settings-private.h"
#ifdef COGL_HAS_EGL_SUPPORT #ifdef COGL_HAS_EGL_SUPPORT
#include "clutter-egl.h" #include "clutter-egl.h"
@@ -60,6 +61,8 @@ clutter_backend_egl_native_dispose (GObject *gobject)
{ {
ClutterBackendEglNative *backend_egl_native = CLUTTER_BACKEND_EGL_NATIVE (gobject); ClutterBackendEglNative *backend_egl_native = CLUTTER_BACKEND_EGL_NATIVE (gobject);
g_clear_object (&backend_egl_native->xsettings);
if (backend_egl_native->event_timer != NULL) if (backend_egl_native->event_timer != NULL)
{ {
g_timer_destroy (backend_egl_native->event_timer); g_timer_destroy (backend_egl_native->event_timer);
@@ -77,9 +80,181 @@ clutter_backend_egl_native_class_init (ClutterBackendEglNativeClass *klass)
gobject_class->dispose = clutter_backend_egl_native_dispose; gobject_class->dispose = clutter_backend_egl_native_dispose;
} }
typedef struct
{
cairo_antialias_t cairo_antialias;
gint clutter_font_antialias;
cairo_hint_style_t cairo_hint_style;
const char *clutter_font_hint_style;
cairo_subpixel_order_t cairo_subpixel_order;
const char *clutter_font_subpixel_order;
} FontSettings;
static void
get_font_gsettings (GSettings *xsettings,
FontSettings *output)
{
/* org.gnome.settings-daemon.GsdFontAntialiasingMode */
static const struct
{
cairo_antialias_t cairo_antialias;
gint clutter_font_antialias;
}
antialiasings[] =
{
/* none=0 */ {CAIRO_ANTIALIAS_NONE, 0},
/* grayscale=1 */ {CAIRO_ANTIALIAS_GRAY, 1},
/* rgba=2 */ {CAIRO_ANTIALIAS_SUBPIXEL, 1},
};
/* org.gnome.settings-daemon.GsdFontHinting */
static const struct
{
cairo_hint_style_t cairo_hint_style;
const char *clutter_font_hint_style;
}
hintings[] =
{
/* none=0 */ {CAIRO_HINT_STYLE_NONE, "hintnone"},
/* slight=1 */ {CAIRO_HINT_STYLE_SLIGHT, "hintslight"},
/* medium=2 */ {CAIRO_HINT_STYLE_MEDIUM, "hintmedium"},
/* full=3 */ {CAIRO_HINT_STYLE_FULL, "hintfull"},
};
/* org.gnome.settings-daemon.GsdFontRgbaOrder */
static const struct
{
cairo_subpixel_order_t cairo_subpixel_order;
const char *clutter_font_subpixel_order;
}
rgba_orders[] =
{
/* rgba=0 */ {CAIRO_SUBPIXEL_ORDER_RGB, "rgb"}, /* XXX what is 'rgba'? */
/* rgb=1 */ {CAIRO_SUBPIXEL_ORDER_RGB, "rgb"},
/* bgr=2 */ {CAIRO_SUBPIXEL_ORDER_BGR, "bgr"},
/* vrgb=3 */ {CAIRO_SUBPIXEL_ORDER_VRGB, "vrgb"},
/* vbgr=4 */ {CAIRO_SUBPIXEL_ORDER_VBGR, "vbgr"},
};
guint i;
i = g_settings_get_enum (xsettings, "hinting");
if (i < G_N_ELEMENTS (hintings))
{
output->cairo_hint_style = hintings[i].cairo_hint_style;
output->clutter_font_hint_style = hintings[i].clutter_font_hint_style;
}
else
{
output->cairo_hint_style = CAIRO_HINT_STYLE_DEFAULT;
output->clutter_font_hint_style = NULL;
}
i = g_settings_get_enum (xsettings, "antialiasing");
if (i < G_N_ELEMENTS (antialiasings))
{
output->cairo_antialias = antialiasings[i].cairo_antialias;
output->clutter_font_antialias = antialiasings[i].clutter_font_antialias;
}
else
{
output->cairo_antialias = CAIRO_ANTIALIAS_DEFAULT;
output->clutter_font_antialias = -1;
}
i = g_settings_get_enum (xsettings, "rgba-order");
if (i < G_N_ELEMENTS (rgba_orders))
{
output->cairo_subpixel_order = rgba_orders[i].cairo_subpixel_order;
output->clutter_font_subpixel_order = rgba_orders[i].clutter_font_subpixel_order;
}
else
{
output->cairo_subpixel_order = CAIRO_SUBPIXEL_ORDER_DEFAULT;
output->clutter_font_subpixel_order = NULL;
}
if (output->cairo_antialias == CAIRO_ANTIALIAS_GRAY)
output->clutter_font_subpixel_order = "none";
}
static void
init_font_options (ClutterBackendEglNative *backend_egl_native)
{
GSettings *xsettings = backend_egl_native->xsettings;
cairo_font_options_t *options = cairo_font_options_create ();
FontSettings fs;
get_font_gsettings (xsettings, &fs);
cairo_font_options_set_hint_style (options, fs.cairo_hint_style);
cairo_font_options_set_antialias (options, fs.cairo_antialias);
cairo_font_options_set_subpixel_order (options, fs.cairo_subpixel_order);
clutter_backend_set_font_options (CLUTTER_BACKEND (backend_egl_native),
options);
cairo_font_options_destroy (options);
}
static gboolean
on_xsettings_change_event (GSettings *xsettings,
gpointer keys,
gint n_keys,
gpointer user_data)
{
/*
* A simpler alternative to this function that does not update the screen
* immediately (like macOS :P):
*
* init_font_options (CLUTTER_BACKEND_EGL_NATIVE (user_data));
*
* which has the added benefit of eliminating the need for all the
* FontSettings.clutter_ fields. However the below approach is better for
* testing settings and more consistent with the existing x11 backend...
*/
ClutterSettings *csettings = clutter_settings_get_default ();
FontSettings fs;
gint hinting;
get_font_gsettings (xsettings, &fs);
hinting = fs.cairo_hint_style == CAIRO_HINT_STYLE_NONE ? 0 : 1;
g_object_set (csettings,
"font-hinting", hinting,
"font-hint-style", fs.clutter_font_hint_style,
"font-antialias", fs.clutter_font_antialias,
"font-subpixel-order", fs.clutter_font_subpixel_order,
NULL);
return FALSE;
}
static void static void
clutter_backend_egl_native_init (ClutterBackendEglNative *backend_egl_native) clutter_backend_egl_native_init (ClutterBackendEglNative *backend_egl_native)
{ {
static const gchar xsettings_path[] = "org.gnome.settings-daemon.plugins.xsettings";
GSettingsSchemaSource *source = g_settings_schema_source_get_default ();
GSettingsSchema *schema = g_settings_schema_source_lookup (source,
xsettings_path,
FALSE);
if (!schema)
{
g_warning ("Failed to find schema: %s", xsettings_path);
}
else
{
backend_egl_native->xsettings = g_settings_new_full (schema, NULL, NULL);
if (backend_egl_native->xsettings)
{
init_font_options (backend_egl_native);
g_signal_connect (backend_egl_native->xsettings, "change-event",
G_CALLBACK (on_xsettings_change_event),
backend_egl_native);
}
}
backend_egl_native->event_timer = g_timer_new (); backend_egl_native->event_timer = g_timer_new ();
} }

View File

@@ -61,6 +61,9 @@ struct _ClutterBackendEglNative
/* event timer */ /* event timer */
GTimer *event_timer; GTimer *event_timer;
/* "xsettings" is still the defacto place for Xft settings, even in Wayland */
GSettings *xsettings;
}; };
struct _ClutterBackendEglNativeClass struct _ClutterBackendEglNativeClass

View File

@@ -59,9 +59,6 @@
#include "clutter-device-manager-evdev.h" #include "clutter-device-manager-evdev.h"
#define DISCRETE_SCROLL_STEP 10.0
/* /*
* Clutter makes the assumption that two core devices have ID's 2 and 3 (core * Clutter makes the assumption that two core devices have ID's 2 and 3 (core
* pointer and core keyboard). * pointer and core keyboard).
@@ -400,168 +397,6 @@ notify_relative_tool_motion (ClutterInputDevice *input_device,
queue_event (event); queue_event (event);
} }
static ClutterScrollDirection
discrete_to_direction (gdouble discrete_x,
gdouble discrete_y)
{
if (discrete_x > 0)
return CLUTTER_SCROLL_RIGHT;
else if (discrete_x < 0)
return CLUTTER_SCROLL_LEFT;
else if (discrete_y > 0)
return CLUTTER_SCROLL_DOWN;
else if (discrete_y < 0)
return CLUTTER_SCROLL_UP;
else
return CLUTTER_SCROLL_SMOOTH;
}
static void
notify_discrete_scroll (ClutterInputDevice *input_device,
guint64 time_us,
ClutterScrollDirection direction,
ClutterScrollSource scroll_source,
gboolean emulated)
{
ClutterInputDeviceEvdev *device_evdev;
ClutterSeatEvdev *seat;
ClutterStage *stage;
ClutterEvent *event = NULL;
if (direction == CLUTTER_SCROLL_SMOOTH)
return;
/* 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 (CLUTTER_SCROLL);
_clutter_evdev_event_set_time_usec (event, time_us);
event->scroll.time = us2ms (time_us);
event->scroll.stage = CLUTTER_STAGE (stage);
event->scroll.device = seat->core_pointer;
_clutter_xkb_translate_state (event, seat->xkb, seat->button_state);
event->scroll.direction = direction;
event->scroll.x = seat->pointer_x;
event->scroll.y = seat->pointer_y;
clutter_event_set_device (event, seat->core_pointer);
clutter_event_set_source_device (event, input_device);
event->scroll.scroll_source = scroll_source;
_clutter_event_set_pointer_emulated (event, emulated);
queue_event (event);
}
static void
notify_scroll (ClutterInputDevice *input_device,
guint64 time_us,
gdouble dx,
gdouble dy,
ClutterScrollSource source,
ClutterScrollFinishFlags flags,
gboolean emulated)
{
ClutterInputDeviceEvdev *device_evdev;
ClutterSeatEvdev *seat;
ClutterStage *stage;
ClutterEvent *event = NULL;
gdouble scroll_factor;
/* 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 (CLUTTER_SCROLL);
_clutter_evdev_event_set_time_usec (event, time_us);
event->scroll.time = us2ms (time_us);
event->scroll.stage = CLUTTER_STAGE (stage);
event->scroll.device = seat->core_pointer;
_clutter_xkb_translate_state (event, seat->xkb, seat->button_state);
/* libinput pointer axis events are in pointer motion coordinate space.
* To convert to Xi2 discrete step coordinate space, multiply the factor
* 1/10. */
event->scroll.direction = CLUTTER_SCROLL_SMOOTH;
scroll_factor = 1.0 / DISCRETE_SCROLL_STEP;
clutter_event_set_scroll_delta (event,
scroll_factor * dx,
scroll_factor * dy);
event->scroll.x = seat->pointer_x;
event->scroll.y = seat->pointer_y;
clutter_event_set_device (event, seat->core_pointer);
clutter_event_set_source_device (event, input_device);
event->scroll.scroll_source = source;
event->scroll.finish_flags = flags;
_clutter_event_set_pointer_emulated (event, emulated);
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,
@@ -958,10 +793,12 @@ evdev_add_device (ClutterDeviceManagerEvdev *manager_evdev,
if (priv->main_seat->libinput_seat == NULL) if (priv->main_seat->libinput_seat == NULL)
seat = priv->main_seat; seat = priv->main_seat;
else else
seat = clutter_seat_evdev_new (manager_evdev); {
seat = clutter_seat_evdev_new (manager_evdev);
priv->seats = g_slist_append (priv->seats, seat);
}
clutter_seat_evdev_set_libinput_seat (seat, libinput_seat); clutter_seat_evdev_set_libinput_seat (seat, libinput_seat);
priv->seats = g_slist_append (priv->seats, seat);
} }
device = _clutter_input_device_evdev_new (manager, seat, libinput_device); device = _clutter_input_device_evdev_new (manager, seat, libinput_device);
@@ -1084,7 +921,6 @@ clutter_device_manager_evdev_get_device (ClutterDeviceManager *manager,
ClutterDeviceManagerEvdev *manager_evdev; ClutterDeviceManagerEvdev *manager_evdev;
ClutterDeviceManagerEvdevPrivate *priv; ClutterDeviceManagerEvdevPrivate *priv;
GSList *l; GSList *l;
GSList *device_it;
manager_evdev = CLUTTER_DEVICE_MANAGER_EVDEV (manager); manager_evdev = CLUTTER_DEVICE_MANAGER_EVDEV (manager);
priv = manager_evdev->priv; priv = manager_evdev->priv;
@@ -1092,14 +928,10 @@ clutter_device_manager_evdev_get_device (ClutterDeviceManager *manager,
for (l = priv->seats; l; l = l->next) for (l = priv->seats; l; l = l->next)
{ {
ClutterSeatEvdev *seat = l->data; ClutterSeatEvdev *seat = l->data;
ClutterInputDevice *device = clutter_seat_evdev_get_device (seat, id);
for (device_it = seat->devices; device_it; device_it = device_it->next) if (device)
{ return device;
ClutterInputDevice *device = device_it->data;
if (clutter_input_device_get_device_id (device) == id)
return device;
}
} }
return NULL; return NULL;
@@ -1153,40 +985,6 @@ process_base_event (ClutterDeviceManagerEvdev *manager_evdev,
return handled; return handled;
} }
static void
check_notify_discrete_scroll (ClutterDeviceManagerEvdev *manager_evdev,
ClutterInputDevice *device,
guint64 time_us,
ClutterScrollSource scroll_source)
{
ClutterInputDeviceEvdev *device_evdev =
CLUTTER_INPUT_DEVICE_EVDEV (device);
ClutterSeatEvdev *seat = _clutter_input_device_evdev_get_seat (device_evdev);
int i, n_xscrolls, n_yscrolls;
n_xscrolls = floor (fabs (seat->accum_scroll_dx) / DISCRETE_SCROLL_STEP);
n_yscrolls = floor (fabs (seat->accum_scroll_dy) / DISCRETE_SCROLL_STEP);
for (i = 0; i < n_xscrolls; i++)
{
notify_discrete_scroll (device, time_us,
seat->accum_scroll_dx > 0 ?
CLUTTER_SCROLL_RIGHT : CLUTTER_SCROLL_LEFT,
scroll_source, TRUE);
}
for (i = 0; i < n_yscrolls; i++)
{
notify_discrete_scroll (device, time_us,
seat->accum_scroll_dy > 0 ?
CLUTTER_SCROLL_DOWN : CLUTTER_SCROLL_UP,
scroll_source, TRUE);
}
seat->accum_scroll_dx = fmodf (seat->accum_scroll_dx, DISCRETE_SCROLL_STEP);
seat->accum_scroll_dy = fmodf (seat->accum_scroll_dy, DISCRETE_SCROLL_STEP);
}
static ClutterScrollSource static ClutterScrollSource
translate_scroll_source (enum libinput_pointer_axis_source source) translate_scroll_source (enum libinput_pointer_axis_source source)
{ {
@@ -1334,6 +1132,68 @@ seat_from_device (ClutterInputDevice *device)
return _clutter_input_device_evdev_get_seat (device_evdev); return _clutter_input_device_evdev_get_seat (device_evdev);
} }
static void
notify_continuous_axis (ClutterSeatEvdev *seat,
ClutterInputDevice *device,
uint64_t time_us,
ClutterScrollSource scroll_source,
struct libinput_event_pointer *axis_event)
{
gdouble dx = 0.0, dy = 0.0;
ClutterScrollFinishFlags finish_flags = CLUTTER_SCROLL_FINISHED_NONE;
if (libinput_event_pointer_has_axis (axis_event,
LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL))
{
dx = libinput_event_pointer_get_axis_value (
axis_event, LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL);
if (fabs (dx) < DBL_EPSILON)
finish_flags |= CLUTTER_SCROLL_FINISHED_HORIZONTAL;
}
if (libinput_event_pointer_has_axis (axis_event,
LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL))
{
dy = libinput_event_pointer_get_axis_value (
axis_event, LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL);
if (fabs (dy) < DBL_EPSILON)
finish_flags |= CLUTTER_SCROLL_FINISHED_VERTICAL;
}
clutter_seat_evdev_notify_scroll_continuous (seat, device, time_us,
dx, dy,
scroll_source, finish_flags);
}
static void
notify_discrete_axis (ClutterSeatEvdev *seat,
ClutterInputDevice *device,
uint64_t time_us,
ClutterScrollSource scroll_source,
struct libinput_event_pointer *axis_event)
{
gdouble discrete_dx = 0.0, discrete_dy = 0.0;
if (libinput_event_pointer_has_axis (axis_event,
LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL))
{
discrete_dx = libinput_event_pointer_get_axis_value_discrete (
axis_event, LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL);
}
if (libinput_event_pointer_has_axis (axis_event,
LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL))
{
discrete_dy = libinput_event_pointer_get_axis_value_discrete (
axis_event, LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL);
}
clutter_seat_evdev_notify_discrete_scroll (seat, device,
time_us,
discrete_dx, discrete_dy,
scroll_source);
}
static gboolean static gboolean
process_device_event (ClutterDeviceManagerEvdev *manager_evdev, process_device_event (ClutterDeviceManagerEvdev *manager_evdev,
struct libinput_event *event) struct libinput_event *event)
@@ -1341,6 +1201,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))
{ {
@@ -1460,17 +1321,12 @@ process_device_event (ClutterDeviceManagerEvdev *manager_evdev,
case LIBINPUT_EVENT_POINTER_AXIS: case LIBINPUT_EVENT_POINTER_AXIS:
{ {
gdouble dx = 0.0, dy = 0.0;
gdouble discrete_x = 0.0, discrete_y = 0.0;
guint64 time_us; guint64 time_us;
gboolean wheel = FALSE;
enum libinput_pointer_axis axis;
enum libinput_pointer_axis_source source; enum libinput_pointer_axis_source source;
struct libinput_event_pointer *axis_event = struct libinput_event_pointer *axis_event =
libinput_event_get_pointer_event (event); libinput_event_get_pointer_event (event);
ClutterSeatEvdev *seat; ClutterSeatEvdev *seat;
ClutterScrollSource scroll_source; ClutterScrollSource scroll_source;
ClutterScrollFinishFlags finish_flags = 0;
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)); seat = _clutter_input_device_evdev_get_seat (CLUTTER_INPUT_DEVICE_EVDEV (device));
@@ -1484,68 +1340,25 @@ process_device_event (ClutterDeviceManagerEvdev *manager_evdev,
backwards-compat with existing clients, we just send multiples of backwards-compat with existing clients, we just send multiples of
the click count. */ the click count. */
if (source == LIBINPUT_POINTER_AXIS_SOURCE_WHEEL) switch (scroll_source)
wheel = TRUE;
axis = LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL;
if (libinput_event_pointer_has_axis (axis_event, axis))
{ {
discrete_y = libinput_event_pointer_get_axis_value_discrete (axis_event, axis); case CLUTTER_SCROLL_SOURCE_WHEEL:
dy = libinput_event_pointer_get_axis_value (axis_event, axis); notify_discrete_axis (seat, device, time_us, scroll_source,
axis_event);
if (wheel) break;
seat->accum_scroll_dy = 0; case CLUTTER_SCROLL_SOURCE_FINGER:
else if (fabs (dy) < DBL_EPSILON) case CLUTTER_SCROLL_SOURCE_CONTINUOUS:
{ case CLUTTER_SCROLL_SOURCE_UNKNOWN:
finish_flags |= CLUTTER_SCROLL_FINISHED_VERTICAL; notify_continuous_axis (seat, device, time_us, scroll_source,
seat->accum_scroll_dy = 0; axis_event);
} break;
else
seat->accum_scroll_dy += dy;
} }
axis = LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL;
if (libinput_event_pointer_has_axis (axis_event, axis))
{
discrete_x = libinput_event_pointer_get_axis_value_discrete (axis_event, axis);
dx = libinput_event_pointer_get_axis_value (axis_event, axis);
if (wheel)
seat->accum_scroll_dx = 0;
else if (fabs (dx) < DBL_EPSILON)
{
finish_flags |= CLUTTER_SCROLL_FINISHED_HORIZONTAL;
seat->accum_scroll_dx = 0;
}
else
seat->accum_scroll_dx += dx;
}
if (wheel)
{
notify_scroll (device, time_us,
discrete_x * DISCRETE_SCROLL_STEP,
discrete_y * DISCRETE_SCROLL_STEP,
scroll_source, finish_flags, TRUE);
notify_discrete_scroll (device, time_us,
discrete_to_direction (discrete_x, discrete_y),
scroll_source, FALSE);
}
else
{
notify_scroll (device, time_us, dx, dy,
scroll_source, finish_flags, FALSE);
check_notify_discrete_scroll (manager_evdev, device,
time_us, scroll_source);
}
break; break;
} }
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;
@@ -1556,7 +1369,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)
@@ -1565,25 +1379,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;
@@ -1591,22 +1411,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;
@@ -1617,7 +1445,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)
@@ -1626,42 +1455,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;
} }
@@ -2035,6 +1863,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,
@@ -2060,6 +1896,18 @@ clutter_device_manager_evdev_compress_motion (ClutterDeviceManager *device_mange
dy_unaccel + dst_dy_unaccel); dy_unaccel + dst_dy_unaccel);
} }
static void
clutter_device_manager_evdev_apply_kbd_a11y_settings (ClutterDeviceManager *device_manager,
ClutterKbdA11ySettings *settings)
{
ClutterInputDevice *device;
device = clutter_device_manager_evdev_get_core_device (device_manager, CLUTTER_KEYBOARD_DEVICE);
if (device)
clutter_input_device_evdev_apply_kbd_a11y_settings (CLUTTER_INPUT_DEVICE_EVDEV (device),
settings);
}
/* /*
* GObject implementation * GObject implementation
*/ */
@@ -2116,6 +1964,7 @@ clutter_device_manager_evdev_constructed (GObject *gobject)
xkb_context_unref (ctx); xkb_context_unref (ctx);
priv->main_seat = clutter_seat_evdev_new (manager_evdev); priv->main_seat = clutter_seat_evdev_new (manager_evdev);
priv->seats = g_slist_append (priv->seats, priv->main_seat);
dispatch_libinput (manager_evdev); dispatch_libinput (manager_evdev);
@@ -2201,7 +2050,9 @@ 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;
} }
static void static void
@@ -2322,7 +2173,7 @@ _clutter_device_manager_evdev_acquire_device_id (ClutterDeviceManagerEvdev *mana
first = g_list_first (priv->free_device_ids); first = g_list_first (priv->free_device_ids);
next_id = GPOINTER_TO_INT (first->data); next_id = GPOINTER_TO_INT (first->data);
priv->free_device_ids = g_list_remove_link (priv->free_device_ids, first); priv->free_device_ids = g_list_delete_link (priv->free_device_ids, first);
return next_id; return next_id;
} }
@@ -2441,7 +2292,7 @@ clutter_evdev_update_xkb_state (ClutterDeviceManagerEvdev *manager_evdev)
0, /* depressed */ 0, /* depressed */
latched_mods, latched_mods,
locked_mods, locked_mods,
0, 0, 0); 0, 0, seat->layout_idx);
seat->caps_lock_led = xkb_keymap_led_get_index (priv->keymap, XKB_LED_NAME_CAPS); seat->caps_lock_led = xkb_keymap_led_get_index (priv->keymap, XKB_LED_NAME_CAPS);
seat->num_lock_led = xkb_keymap_led_get_index (priv->keymap, XKB_LED_NAME_NUM); seat->num_lock_led = xkb_keymap_led_get_index (priv->keymap, XKB_LED_NAME_NUM);
@@ -2589,6 +2440,7 @@ clutter_evdev_set_keyboard_layout_index (ClutterDeviceManager *evdev,
xkb_mod_mask_t latched_mods; xkb_mod_mask_t latched_mods;
xkb_mod_mask_t locked_mods; xkb_mod_mask_t locked_mods;
struct xkb_state *state; struct xkb_state *state;
GSList *l;
g_return_if_fail (CLUTTER_IS_DEVICE_MANAGER_EVDEV (evdev)); g_return_if_fail (CLUTTER_IS_DEVICE_MANAGER_EVDEV (evdev));
@@ -2600,6 +2452,12 @@ clutter_evdev_set_keyboard_layout_index (ClutterDeviceManager *evdev,
locked_mods = xkb_state_serialize_mods (state, XKB_STATE_MODS_LOCKED); locked_mods = xkb_state_serialize_mods (state, XKB_STATE_MODS_LOCKED);
xkb_state_update_mask (state, depressed_mods, latched_mods, locked_mods, 0, 0, idx); xkb_state_update_mask (state, depressed_mods, latched_mods, locked_mods, 0, 0, idx);
for (l = manager_evdev->priv->seats; l; l = l->next)
{
ClutterSeatEvdev *seat = l->data;
seat->layout_idx = idx;
}
} }
/** /**
@@ -2609,12 +2467,9 @@ xkb_layout_index_t
clutter_evdev_get_keyboard_layout_index (ClutterDeviceManager *evdev) clutter_evdev_get_keyboard_layout_index (ClutterDeviceManager *evdev)
{ {
ClutterDeviceManagerEvdev *manager_evdev; ClutterDeviceManagerEvdev *manager_evdev;
struct xkb_state *state;
manager_evdev = CLUTTER_DEVICE_MANAGER_EVDEV (evdev); manager_evdev = CLUTTER_DEVICE_MANAGER_EVDEV (evdev);
state = manager_evdev->priv->main_seat->xkb; return manager_evdev->priv->main_seat->layout_idx;
return xkb_state_serialize_layout (state, XKB_STATE_LAYOUT_LOCKED);
} }
/** /**

File diff suppressed because it is too large Load Diff

View File

@@ -70,6 +70,31 @@ struct _ClutterInputDeviceEvdev
cairo_matrix_t device_matrix; cairo_matrix_t device_matrix;
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 */
ClutterKeyboardA11yFlags a11y_flags;
GList *slow_keys_list;
guint debounce_timer;
guint16 debounce_key;
xkb_mod_mask_t stickykeys_depressed_mask;
xkb_mod_mask_t stickykeys_latched_mask;
xkb_mod_mask_t stickykeys_locked_mask;
guint toggle_slowkeys_timer;
guint16 shift_count;
guint32 last_shift_time;
gint mousekeys_btn;
gboolean mousekeys_btn_states[3];
guint32 mousekeys_first_motion_time; /* ms */
guint32 mousekeys_last_motion_time; /* ms */
guint mousekeys_init_delay;
guint mousekeys_accel_time;
guint mousekeys_max_speed;
gdouble mousekeys_curve_factor;
guint move_mousekeys_timer;
guint16 last_mousekeys_key;
ClutterVirtualInputDevice *mousekeys_virtual_device;
}; };
GType _clutter_input_device_evdev_get_type (void) G_GNUC_CONST; GType _clutter_input_device_evdev_get_type (void) G_GNUC_CONST;
@@ -111,6 +136,22 @@ void clutter_input_device_evdev_translate_coordinates (Clut
gfloat *x, gfloat *x,
gfloat *y); gfloat *y);
void clutter_input_device_evdev_apply_kbd_a11y_settings (ClutterInputDeviceEvdev *device,
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

@@ -29,6 +29,7 @@
#include "clutter-seat-evdev.h" #include "clutter-seat-evdev.h"
#include <linux/input.h> #include <linux/input.h>
#include <math.h>
#include "clutter-event-private.h" #include "clutter-event-private.h"
#include "clutter-input-device-evdev.h" #include "clutter-input-device-evdev.h"
@@ -42,6 +43,12 @@
#define AUTOREPEAT_VALUE 2 #define AUTOREPEAT_VALUE 2
#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)
@@ -85,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 *
@@ -147,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 */
@@ -489,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)
@@ -569,6 +602,238 @@ clutter_seat_evdev_notify_button (ClutterSeatEvdev *seat,
queue_event (event); queue_event (event);
} }
static void
notify_scroll (ClutterInputDevice *input_device,
guint64 time_us,
gdouble dx,
gdouble dy,
ClutterScrollSource scroll_source,
ClutterScrollFinishFlags flags,
gboolean emulated)
{
ClutterInputDeviceEvdev *device_evdev;
ClutterSeatEvdev *seat;
ClutterStage *stage;
ClutterEvent *event = NULL;
gdouble scroll_factor;
/* 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 (CLUTTER_SCROLL);
_clutter_evdev_event_set_time_usec (event, time_us);
event->scroll.time = us2ms (time_us);
event->scroll.stage = CLUTTER_STAGE (stage);
event->scroll.device = seat->core_pointer;
_clutter_xkb_translate_state (event, seat->xkb, seat->button_state);
/* libinput pointer axis events are in pointer motion coordinate space.
* To convert to Xi2 discrete step coordinate space, multiply the factor
* 1/10. */
event->scroll.direction = CLUTTER_SCROLL_SMOOTH;
scroll_factor = 1.0 / DISCRETE_SCROLL_STEP;
clutter_event_set_scroll_delta (event,
scroll_factor * dx,
scroll_factor * dy);
event->scroll.x = seat->pointer_x;
event->scroll.y = seat->pointer_y;
clutter_event_set_device (event, seat->core_pointer);
clutter_event_set_source_device (event, input_device);
event->scroll.scroll_source = scroll_source;
event->scroll.finish_flags = flags;
_clutter_event_set_pointer_emulated (event, emulated);
queue_event (event);
}
static void
notify_discrete_scroll (ClutterInputDevice *input_device,
uint64_t time_us,
ClutterScrollDirection direction,
ClutterScrollSource scroll_source,
gboolean emulated)
{
ClutterInputDeviceEvdev *device_evdev;
ClutterSeatEvdev *seat;
ClutterStage *stage;
ClutterEvent *event = NULL;
if (direction == CLUTTER_SCROLL_SMOOTH)
return;
/* 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 (CLUTTER_SCROLL);
_clutter_evdev_event_set_time_usec (event, time_us);
event->scroll.time = us2ms (time_us);
event->scroll.stage = CLUTTER_STAGE (stage);
event->scroll.device = seat->core_pointer;
_clutter_xkb_translate_state (event, seat->xkb, seat->button_state);
event->scroll.direction = direction;
event->scroll.x = seat->pointer_x;
event->scroll.y = seat->pointer_y;
clutter_event_set_device (event, seat->core_pointer);
clutter_event_set_source_device (event, input_device);
event->scroll.scroll_source = scroll_source;
_clutter_event_set_pointer_emulated (event, emulated);
queue_event (event);
}
static void
check_notify_discrete_scroll (ClutterSeatEvdev *seat,
ClutterInputDevice *device,
uint64_t time_us,
ClutterScrollSource scroll_source)
{
int i, n_xscrolls, n_yscrolls;
n_xscrolls = floor (fabs (seat->accum_scroll_dx) / DISCRETE_SCROLL_STEP);
n_yscrolls = floor (fabs (seat->accum_scroll_dy) / DISCRETE_SCROLL_STEP);
for (i = 0; i < n_xscrolls; i++)
{
notify_discrete_scroll (device, time_us,
seat->accum_scroll_dx > 0 ?
CLUTTER_SCROLL_RIGHT : CLUTTER_SCROLL_LEFT,
scroll_source, TRUE);
}
for (i = 0; i < n_yscrolls; i++)
{
notify_discrete_scroll (device, time_us,
seat->accum_scroll_dy > 0 ?
CLUTTER_SCROLL_DOWN : CLUTTER_SCROLL_UP,
scroll_source, TRUE);
}
seat->accum_scroll_dx = fmodf (seat->accum_scroll_dx, DISCRETE_SCROLL_STEP);
seat->accum_scroll_dy = fmodf (seat->accum_scroll_dy, DISCRETE_SCROLL_STEP);
}
void
clutter_seat_evdev_notify_scroll_continuous (ClutterSeatEvdev *seat,
ClutterInputDevice *input_device,
uint64_t time_us,
double dx,
double dy,
ClutterScrollSource scroll_source,
ClutterScrollFinishFlags finish_flags)
{
if (finish_flags & CLUTTER_SCROLL_FINISHED_HORIZONTAL)
seat->accum_scroll_dx = 0;
else
seat->accum_scroll_dx += dx;
if (finish_flags & CLUTTER_SCROLL_FINISHED_VERTICAL)
seat->accum_scroll_dy = 0;
else
seat->accum_scroll_dy += dy;
notify_scroll (input_device, time_us, dx, dy, scroll_source,
finish_flags, FALSE);
check_notify_discrete_scroll (seat, input_device, time_us, scroll_source);
}
static ClutterScrollDirection
discrete_to_direction (double discrete_dx,
double discrete_dy)
{
if (discrete_dx > 0)
return CLUTTER_SCROLL_RIGHT;
else if (discrete_dx < 0)
return CLUTTER_SCROLL_LEFT;
else if (discrete_dy > 0)
return CLUTTER_SCROLL_DOWN;
else if (discrete_dy < 0)
return CLUTTER_SCROLL_UP;
else
g_assert_not_reached ();
}
void
clutter_seat_evdev_notify_discrete_scroll (ClutterSeatEvdev *seat,
ClutterInputDevice *input_device,
uint64_t time_us,
double discrete_dx,
double discrete_dy,
ClutterScrollSource scroll_source)
{
notify_scroll (input_device, time_us,
discrete_dx * DISCRETE_SCROLL_STEP,
discrete_dy * DISCRETE_SCROLL_STEP,
scroll_source, CLUTTER_SCROLL_FINISHED_NONE,
TRUE);
notify_discrete_scroll (input_device, time_us,
discrete_to_direction (discrete_dx, discrete_dy),
scroll_source, FALSE);
}
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)
{ {
@@ -581,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);
@@ -593,6 +858,24 @@ clutter_seat_evdev_free (ClutterSeatEvdev *seat)
g_free (seat); g_free (seat);
} }
ClutterInputDevice *
clutter_seat_evdev_get_device (ClutterSeatEvdev *seat,
gint id)
{
ClutterInputDevice *device;
GSList *l;
for (l = seat->devices; l; l = l->next)
{
device = l->data;
if (clutter_input_device_get_device_id (device) == id)
return device;
}
return NULL;
}
void void
clutter_seat_evdev_set_stage (ClutterSeatEvdev *seat, clutter_seat_evdev_set_stage (ClutterSeatEvdev *seat,
ClutterStage *stage) ClutterStage *stage)

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,12 +55,14 @@ 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;
xkb_led_index_t num_lock_led; xkb_led_index_t num_lock_led;
xkb_led_index_t scroll_lock_led; xkb_led_index_t scroll_lock_led;
xkb_layout_index_t layout_idx;
uint32_t button_state; uint32_t button_state;
int button_count[KEY_CNT]; int button_count[KEY_CNT];
@@ -106,16 +111,42 @@ void clutter_seat_evdev_notify_button (ClutterSeatEvdev *seat,
uint32_t button, uint32_t button,
uint32_t state); uint32_t state);
void clutter_seat_evdev_notify_scroll_continuous (ClutterSeatEvdev *seat,
ClutterInputDevice *input_device,
uint64_t time_us,
double dx,
double dy,
ClutterScrollSource source,
ClutterScrollFinishFlags flags);
void clutter_seat_evdev_notify_discrete_scroll (ClutterSeatEvdev *seat,
ClutterInputDevice *input_device,
uint64_t time_us,
double discrete_dx,
double discrete_dy,
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, ClutterInputDevice * clutter_seat_evdev_get_device (ClutterSeatEvdev *seat,
guint32 id); gint id);
void clutter_seat_evdev_remove_touch (ClutterSeatEvdev *seat, ClutterTouchState * clutter_seat_evdev_acquire_touch_state (ClutterSeatEvdev *seat,
guint32 id); int device_slot);
void clutter_seat_evdev_release_touch_state (ClutterSeatEvdev *seat,
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

@@ -156,6 +156,9 @@ clutter_virtual_input_device_evdev_notify_relative_motion (ClutterVirtualInputDe
ClutterVirtualInputDeviceEvdev *virtual_evdev = ClutterVirtualInputDeviceEvdev *virtual_evdev =
CLUTTER_VIRTUAL_INPUT_DEVICE_EVDEV (virtual_device); CLUTTER_VIRTUAL_INPUT_DEVICE_EVDEV (virtual_device);
if (time_us == CLUTTER_CURRENT_TIME)
time_us = g_get_monotonic_time ();
clutter_seat_evdev_notify_relative_motion (virtual_evdev->seat, clutter_seat_evdev_notify_relative_motion (virtual_evdev->seat,
virtual_evdev->device, virtual_evdev->device,
time_us, time_us,
@@ -172,6 +175,9 @@ clutter_virtual_input_device_evdev_notify_absolute_motion (ClutterVirtualInputDe
ClutterVirtualInputDeviceEvdev *virtual_evdev = ClutterVirtualInputDeviceEvdev *virtual_evdev =
CLUTTER_VIRTUAL_INPUT_DEVICE_EVDEV (virtual_device); CLUTTER_VIRTUAL_INPUT_DEVICE_EVDEV (virtual_device);
if (time_us == CLUTTER_CURRENT_TIME)
time_us = g_get_monotonic_time ();
clutter_seat_evdev_notify_absolute_motion (virtual_evdev->seat, clutter_seat_evdev_notify_absolute_motion (virtual_evdev->seat,
virtual_evdev->device, virtual_evdev->device,
time_us, time_us,
@@ -189,6 +195,9 @@ clutter_virtual_input_device_evdev_notify_button (ClutterVirtualInputDevice *vir
CLUTTER_VIRTUAL_INPUT_DEVICE_EVDEV (virtual_device); CLUTTER_VIRTUAL_INPUT_DEVICE_EVDEV (virtual_device);
int button_count; int button_count;
if (time_us == CLUTTER_CURRENT_TIME)
time_us = g_get_monotonic_time ();
if (get_button_type (button) != EVDEV_BUTTON_TYPE_BUTTON) if (get_button_type (button) != EVDEV_BUTTON_TYPE_BUTTON)
{ {
g_warning ("Unknown/invalid virtual device button 0x%x pressed", g_warning ("Unknown/invalid virtual device button 0x%x pressed",
@@ -222,6 +231,9 @@ clutter_virtual_input_device_evdev_notify_key (ClutterVirtualInputDevice *virtua
CLUTTER_VIRTUAL_INPUT_DEVICE_EVDEV (virtual_device); CLUTTER_VIRTUAL_INPUT_DEVICE_EVDEV (virtual_device);
int key_count; int key_count;
if (time_us == CLUTTER_CURRENT_TIME)
time_us = g_get_monotonic_time ();
if (get_button_type (key) != EVDEV_BUTTON_TYPE_KEY) if (get_button_type (key) != EVDEV_BUTTON_TYPE_KEY)
{ {
g_warning ("Unknown/invalid virtual device key 0x%x pressed\n", key); g_warning ("Unknown/invalid virtual device key 0x%x pressed\n", key);
@@ -343,6 +355,9 @@ clutter_virtual_input_device_evdev_notify_keyval (ClutterVirtualInputDevice *vir
int key_count; int key_count;
guint keycode = 0, level = 0, evcode = 0; guint keycode = 0, level = 0, evcode = 0;
if (time_us == CLUTTER_CURRENT_TIME)
time_us = g_get_monotonic_time ();
if (!pick_keycode_for_keyval_in_current_group (virtual_device, if (!pick_keycode_for_keyval_in_current_group (virtual_device,
keyval, &keycode, &level)) keyval, &keycode, &level))
{ {
@@ -382,6 +397,175 @@ clutter_virtual_input_device_evdev_notify_keyval (ClutterVirtualInputDevice *vir
apply_level_modifiers (virtual_device, time_us, level, key_state); apply_level_modifiers (virtual_device, time_us, level, key_state);
} }
static void
direction_to_discrete (ClutterScrollDirection direction,
double *discrete_dx,
double *discrete_dy)
{
switch (direction)
{
case CLUTTER_SCROLL_UP:
*discrete_dx = 0.0;
*discrete_dy = -1.0;
break;
case CLUTTER_SCROLL_DOWN:
*discrete_dx = 0.0;
*discrete_dy = 1.0;
break;
case CLUTTER_SCROLL_LEFT:
*discrete_dx = -1.0;
*discrete_dy = 0.0;
break;
case CLUTTER_SCROLL_RIGHT:
*discrete_dx = 1.0;
*discrete_dy = 0.0;
break;
case CLUTTER_SCROLL_SMOOTH:
g_assert_not_reached ();
break;
}
}
static void
clutter_virtual_input_device_evdev_notify_discrete_scroll (ClutterVirtualInputDevice *virtual_device,
uint64_t time_us,
ClutterScrollDirection direction,
ClutterScrollSource scroll_source)
{
ClutterVirtualInputDeviceEvdev *virtual_evdev =
CLUTTER_VIRTUAL_INPUT_DEVICE_EVDEV (virtual_device);
double discrete_dx = 0.0, discrete_dy = 0.0;
if (time_us == CLUTTER_CURRENT_TIME)
time_us = g_get_monotonic_time ();
direction_to_discrete (direction, &discrete_dx, &discrete_dy);
clutter_seat_evdev_notify_discrete_scroll (virtual_evdev->seat,
virtual_evdev->device,
time_us,
discrete_dx, discrete_dy,
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,
@@ -485,6 +669,11 @@ clutter_virtual_input_device_evdev_class_init (ClutterVirtualInputDeviceEvdevCla
virtual_input_device_class->notify_button = clutter_virtual_input_device_evdev_notify_button; virtual_input_device_class->notify_button = clutter_virtual_input_device_evdev_notify_button;
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_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

@@ -37,6 +37,7 @@
#include "clutter-event-translator.h" #include "clutter-event-translator.h"
#include "clutter-stage-private.h" #include "clutter-stage-private.h"
#include "clutter-private.h" #include "clutter-private.h"
#include "clutter-xkb-a11y-x11.h"
enum enum
{ {
@@ -352,9 +353,11 @@ static void
clutter_device_manager_x11_constructed (GObject *gobject) clutter_device_manager_x11_constructed (GObject *gobject)
{ {
ClutterDeviceManagerX11 *manager_x11; ClutterDeviceManagerX11 *manager_x11;
ClutterDeviceManager *manager;
ClutterBackendX11 *backend_x11; ClutterBackendX11 *backend_x11;
manager_x11 = CLUTTER_DEVICE_MANAGER_X11 (gobject); manager_x11 = CLUTTER_DEVICE_MANAGER_X11 (gobject);
manager = CLUTTER_DEVICE_MANAGER (gobject);
g_object_get (gobject, "backend", &backend_x11, NULL); g_object_get (gobject, "backend", &backend_x11, NULL);
g_assert (backend_x11 != NULL); g_assert (backend_x11 != NULL);
@@ -389,6 +392,8 @@ clutter_device_manager_x11_constructed (GObject *gobject)
_clutter_input_device_set_associated_device (manager_x11->core_keyboard, _clutter_input_device_set_associated_device (manager_x11->core_keyboard,
manager_x11->core_pointer); manager_x11->core_pointer);
clutter_device_manager_x11_a11y_init (manager);
if (G_OBJECT_CLASS (clutter_device_manager_x11_parent_class)->constructed) if (G_OBJECT_CLASS (clutter_device_manager_x11_parent_class)->constructed)
G_OBJECT_CLASS (clutter_device_manager_x11_parent_class)->constructed (gobject); G_OBJECT_CLASS (clutter_device_manager_x11_parent_class)->constructed (gobject);
} }
@@ -485,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,
@@ -532,6 +544,8 @@ 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;
} }
static void static void

View File

@@ -40,6 +40,7 @@
#include "clutter-event-translator.h" #include "clutter-event-translator.h"
#include "clutter-stage-private.h" #include "clutter-stage-private.h"
#include "clutter-private.h" #include "clutter-private.h"
#include "clutter-xkb-a11y-x11.h"
#include <X11/extensions/XInput2.h> #include <X11/extensions/XInput2.h>
@@ -494,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,
@@ -1125,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,
@@ -1139,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;
@@ -1374,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);
@@ -1987,6 +2009,8 @@ clutter_device_manager_xi2_constructed (GObject *gobject)
XSync (backend_x11->xdpy, False); XSync (backend_x11->xdpy, False);
clutter_device_manager_x11_a11y_init (manager);
if (G_OBJECT_CLASS (clutter_device_manager_xi2_parent_class)->constructed) if (G_OBJECT_CLASS (clutter_device_manager_xi2_parent_class)->constructed)
G_OBJECT_CLASS (clutter_device_manager_xi2_parent_class)->constructed (gobject); G_OBJECT_CLASS (clutter_device_manager_xi2_parent_class)->constructed (gobject);
} }
@@ -2021,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)
{ {
@@ -2049,6 +2080,8 @@ 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;
} }
static void static void
@@ -2059,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,85 @@ 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);
if (device_xi2->group_modes)
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 +187,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 +292,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

@@ -14,7 +14,6 @@ static const struct {
{ "Xft/HintStyle", "font-hint-style" }, { "Xft/HintStyle", "font-hint-style" },
{ "Xft/RGBA", "font-subpixel-order" }, { "Xft/RGBA", "font-subpixel-order" },
{ "Fontconfig/Timestamp", "fontconfig-timestamp" }, { "Fontconfig/Timestamp", "fontconfig-timestamp" },
{ "Gdk/UnscaledDPI", "unscaled-font-dpi" },
}; };
static const gint _n_clutter_settings_map = G_N_ELEMENTS (_clutter_settings_map); static const gint _n_clutter_settings_map = G_N_ELEMENTS (_clutter_settings_map);

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

@@ -0,0 +1,328 @@
/*
*
* Copyright © 2001 Ximian, Inc.
* Copyright (C) 2007 William Jon McCann <mccann@jhu.edu>
* Copyright (C) 2017 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.
*
*/
#include "clutter-device-manager-private.h"
#include "clutter-xkb-a11y-x11.h"
#include <X11/XKBlib.h>
#include <X11/extensions/XKBstr.h>
#define DEFAULT_XKB_SET_CONTROLS_MASK XkbSlowKeysMask | \
XkbBounceKeysMask | \
XkbStickyKeysMask | \
XkbMouseKeysMask | \
XkbMouseKeysAccelMask | \
XkbAccessXKeysMask | \
XkbAccessXTimeoutMask | \
XkbAccessXFeedbackMask | \
XkbControlsEnabledMask
static int _xkb_event_base;
static XkbDescRec *
get_xkb_desc_rec (ClutterBackendX11 *backend_x11)
{
XkbDescRec *desc;
Status status = Success;
clutter_x11_trap_x_errors ();
desc = XkbGetMap (backend_x11->xdpy, XkbAllMapComponentsMask, XkbUseCoreKbd);
if (desc != NULL)
{
desc->ctrls = NULL;
status = XkbGetControls (backend_x11->xdpy, XkbAllControlsMask, desc);
}
clutter_x11_untrap_x_errors ();
g_return_val_if_fail (desc != NULL, NULL);
g_return_val_if_fail (desc->ctrls != NULL, NULL);
g_return_val_if_fail (status == Success, NULL);
return desc;
}
static void
set_xkb_desc_rec (ClutterBackendX11 *backend_x11,
XkbDescRec *desc)
{
clutter_x11_trap_x_errors ();
XkbSetControls (backend_x11->xdpy, DEFAULT_XKB_SET_CONTROLS_MASK, desc);
XSync (backend_x11->xdpy, FALSE);
clutter_x11_untrap_x_errors ();
}
static void
check_settings_changed (ClutterDeviceManager *device_manager)
{
ClutterBackendX11 *backend_x11;
ClutterKbdA11ySettings kbd_a11y_settings;
ClutterKeyboardA11yFlags what_changed = 0;
XkbDescRec *desc;
backend_x11 = CLUTTER_BACKEND_X11 (clutter_get_default_backend ());
desc = get_xkb_desc_rec (backend_x11);
if (!desc)
return;
clutter_device_manager_get_kbd_a11y_settings (device_manager, &kbd_a11y_settings);
if (desc->ctrls->enabled_ctrls & XkbSlowKeysMask &&
!(kbd_a11y_settings.controls & CLUTTER_A11Y_SLOW_KEYS_ENABLED))
{
what_changed |= CLUTTER_A11Y_SLOW_KEYS_ENABLED;
kbd_a11y_settings.controls |= CLUTTER_A11Y_SLOW_KEYS_ENABLED;
}
else if (!(desc->ctrls->enabled_ctrls & XkbSlowKeysMask) &&
kbd_a11y_settings.controls & CLUTTER_A11Y_SLOW_KEYS_ENABLED)
{
what_changed |= CLUTTER_A11Y_SLOW_KEYS_ENABLED;
kbd_a11y_settings.controls &= ~CLUTTER_A11Y_SLOW_KEYS_ENABLED;
}
if (desc->ctrls->enabled_ctrls & XkbStickyKeysMask &&
!(kbd_a11y_settings.controls & CLUTTER_A11Y_STICKY_KEYS_ENABLED))
{
what_changed |= CLUTTER_A11Y_STICKY_KEYS_ENABLED;
kbd_a11y_settings.controls |= CLUTTER_A11Y_STICKY_KEYS_ENABLED;
}
else if (!(desc->ctrls->enabled_ctrls & XkbStickyKeysMask) &&
kbd_a11y_settings.controls & CLUTTER_A11Y_STICKY_KEYS_ENABLED)
{
what_changed |= CLUTTER_A11Y_STICKY_KEYS_ENABLED;
kbd_a11y_settings.controls &= ~CLUTTER_A11Y_STICKY_KEYS_ENABLED;
}
if (what_changed)
g_signal_emit_by_name (device_manager,
"kbd-a11y-flags-changed",
kbd_a11y_settings.controls,
what_changed);
XkbFreeKeyboard (desc, XkbAllComponentsMask, TRUE);
}
static ClutterX11FilterReturn
xkb_a11y_event_filter (XEvent *xevent,
ClutterEvent *clutter_event,
gpointer data)
{
ClutterDeviceManager *device_manager = CLUTTER_DEVICE_MANAGER (data);
XkbEvent *xkbev = (XkbEvent *) xevent;
/* 'event_type' is set to zero on notifying us of updates in
* response to client requests (including our own) and non-zero
* to notify us of key/mouse events causing changes (like
* pressing shift 5 times to enable sticky keys).
*
* We only want to update out settings when it's in response to an
* explicit user input event, so require a non-zero event_type.
*/
if (xevent->xany.type == (_xkb_event_base + XkbEventCode) &&
xkbev->any.xkb_type == XkbControlsNotify && xkbev->ctrls.event_type != 0)
check_settings_changed (device_manager);
return CLUTTER_X11_FILTER_CONTINUE;
}
static gboolean
is_xkb_available (ClutterBackendX11 *backend_x11)
{
gint opcode, error_base, event_base, major, minor;
if (_xkb_event_base)
return TRUE;
if (!XkbQueryExtension (backend_x11->xdpy,
&opcode,
&event_base,
&error_base,
&major,
&minor))
return FALSE;
if (!XkbUseExtension (backend_x11->xdpy, &major, &minor))
return FALSE;
_xkb_event_base = event_base;
return TRUE;
}
static unsigned long
set_value_mask (gboolean flag,
unsigned long value,
unsigned long mask)
{
if (flag)
return value | mask;
return value & ~mask;
}
static gboolean
set_xkb_ctrl (XkbDescRec *desc,
ClutterKeyboardA11yFlags settings,
ClutterKeyboardA11yFlags flag,
unsigned long mask)
{
gboolean result = (settings & flag) == flag;
desc->ctrls->enabled_ctrls = set_value_mask (result, desc->ctrls->enabled_ctrls, mask);
return result;
}
void
clutter_device_manager_x11_apply_kbd_a11y_settings (ClutterDeviceManager *device_manager,
ClutterKbdA11ySettings *kbd_a11y_settings)
{
ClutterBackendX11 *backend_x11;
XkbDescRec *desc;
gboolean enable_accessX;
backend_x11 = CLUTTER_BACKEND_X11 (clutter_get_default_backend ());
desc = get_xkb_desc_rec (backend_x11);
if (!desc)
return;
/* general */
enable_accessX = kbd_a11y_settings->controls & CLUTTER_A11Y_KEYBOARD_ENABLED;
desc->ctrls->enabled_ctrls = set_value_mask (enable_accessX,
desc->ctrls->enabled_ctrls,
XkbAccessXKeysMask);
if (set_xkb_ctrl (desc, kbd_a11y_settings->controls, CLUTTER_A11Y_TIMEOUT_ENABLED,
XkbAccessXTimeoutMask))
{
desc->ctrls->ax_timeout = kbd_a11y_settings->timeout_delay;
/* disable only the master flag via the server we will disable
* the rest on the rebound without affecting settings state
* don't change the option flags at all.
*/
desc->ctrls->axt_ctrls_mask = XkbAccessXKeysMask | XkbAccessXFeedbackMask;
desc->ctrls->axt_ctrls_values = 0;
desc->ctrls->axt_opts_mask = 0;
}
desc->ctrls->ax_options =
set_value_mask (kbd_a11y_settings->controls & CLUTTER_A11Y_FEATURE_STATE_CHANGE_BEEP,
desc->ctrls->ax_options,
XkbAccessXFeedbackMask | XkbAX_FeatureFBMask | XkbAX_SlowWarnFBMask);
/* bounce keys */
if (set_xkb_ctrl (desc, kbd_a11y_settings->controls,
CLUTTER_A11Y_BOUNCE_KEYS_ENABLED, XkbBounceKeysMask))
{
desc->ctrls->debounce_delay = kbd_a11y_settings->debounce_delay;
desc->ctrls->ax_options =
set_value_mask (kbd_a11y_settings->controls & CLUTTER_A11Y_BOUNCE_KEYS_BEEP_REJECT,
desc->ctrls->ax_options,
XkbAccessXFeedbackMask | XkbAX_BKRejectFBMask);
}
/* mouse keys */
if (set_xkb_ctrl (desc, kbd_a11y_settings->controls,
CLUTTER_A11Y_MOUSE_KEYS_ENABLED, XkbMouseKeysMask | XkbMouseKeysAccelMask))
{
gint mk_max_speed;
gint mk_accel_time;
desc->ctrls->mk_interval = 100; /* msec between mousekey events */
desc->ctrls->mk_curve = 50;
/* We store pixels / sec, XKB wants pixels / event */
mk_max_speed = kbd_a11y_settings->mousekeys_max_speed;
desc->ctrls->mk_max_speed = mk_max_speed / (1000 / desc->ctrls->mk_interval);
if (desc->ctrls->mk_max_speed <= 0)
desc->ctrls->mk_max_speed = 1;
mk_accel_time = kbd_a11y_settings->mousekeys_accel_time;
desc->ctrls->mk_time_to_max = mk_accel_time / desc->ctrls->mk_interval;
if (desc->ctrls->mk_time_to_max <= 0)
desc->ctrls->mk_time_to_max = 1;
desc->ctrls->mk_delay = kbd_a11y_settings->mousekeys_init_delay;
}
/* slow keys */
if (set_xkb_ctrl (desc, kbd_a11y_settings->controls,
CLUTTER_A11Y_SLOW_KEYS_ENABLED, XkbSlowKeysMask))
{
desc->ctrls->ax_options =
set_value_mask (kbd_a11y_settings->controls & CLUTTER_A11Y_SLOW_KEYS_BEEP_PRESS,
desc->ctrls->ax_options, XkbAccessXFeedbackMask | XkbAX_SKPressFBMask);
desc->ctrls->ax_options =
set_value_mask (kbd_a11y_settings->controls & CLUTTER_A11Y_SLOW_KEYS_BEEP_ACCEPT,
desc->ctrls->ax_options, XkbAccessXFeedbackMask | XkbAX_SKAcceptFBMask);
desc->ctrls->ax_options =
set_value_mask (kbd_a11y_settings->controls & CLUTTER_A11Y_SLOW_KEYS_BEEP_REJECT,
desc->ctrls->ax_options, XkbAccessXFeedbackMask | XkbAX_SKRejectFBMask);
desc->ctrls->slow_keys_delay = kbd_a11y_settings->slowkeys_delay;
/* anything larger than 500 seems to loose all keyboard input */
if (desc->ctrls->slow_keys_delay > 500)
desc->ctrls->slow_keys_delay = 500;
}
/* sticky keys */
if (set_xkb_ctrl (desc, kbd_a11y_settings->controls,
CLUTTER_A11Y_STICKY_KEYS_ENABLED, XkbStickyKeysMask))
{
desc->ctrls->ax_options |= XkbAX_LatchToLockMask;
desc->ctrls->ax_options =
set_value_mask (kbd_a11y_settings->controls & CLUTTER_A11Y_STICKY_KEYS_TWO_KEY_OFF,
desc->ctrls->ax_options, XkbAccessXFeedbackMask | XkbAX_TwoKeysMask);
desc->ctrls->ax_options =
set_value_mask (kbd_a11y_settings->controls & CLUTTER_A11Y_STICKY_KEYS_BEEP,
desc->ctrls->ax_options, XkbAccessXFeedbackMask | XkbAX_StickyKeysFBMask);
}
/* toggle keys */
desc->ctrls->ax_options =
set_value_mask (kbd_a11y_settings->controls & CLUTTER_A11Y_TOGGLE_KEYS_ENABLED,
desc->ctrls->ax_options, XkbAccessXFeedbackMask | XkbAX_IndicatorFBMask);
set_xkb_desc_rec (backend_x11, desc);
XkbFreeKeyboard (desc, XkbAllComponentsMask, TRUE);
}
gboolean
clutter_device_manager_x11_a11y_init (ClutterDeviceManager *device_manager)
{
ClutterBackendX11 *backend_x11;
guint event_mask;
backend_x11 =
CLUTTER_BACKEND_X11 (_clutter_device_manager_get_backend (device_manager));
if (!is_xkb_available (backend_x11))
return FALSE;
event_mask = XkbControlsNotifyMask | XkbAccessXNotifyMask;
XkbSelectEvents (backend_x11->xdpy, XkbUseCoreKbd, event_mask, event_mask);
clutter_x11_add_filter (xkb_a11y_event_filter, device_manager);
return TRUE;
}

View File

@@ -0,0 +1,39 @@
/*
*
* Copyright © 2001 Ximian, Inc.
* Copyright (C) 2007 William Jon McCann <mccann@jhu.edu>
* Copyright (C) 2017 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.
*
*/
#ifndef CLUTTER_XKB_A11Y_X11_H
#define CLUTTER_XKB_A11Y_X11_H
#include "clutter-device-manager-private.h"
#include "clutter-backend-x11.h"
#include <X11/Xlib.h>
void
clutter_device_manager_x11_apply_kbd_a11y_settings (ClutterDeviceManager *device_manager,
ClutterKbdA11ySettings *kbd_a11y_settings);
gboolean
clutter_device_manager_x11_a11y_init (ClutterDeviceManager *device_manager);
#endif /* CLUTTER_XKB_A11Y_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

@@ -407,7 +407,8 @@ test_scale_center (TestState *state)
g_assert (scale_x == 4.0); g_assert (scale_x == 4.0);
g_assert (scale_y == 2.0); g_assert (scale_y == 2.0);
g_assert (gravity == CLUTTER_GRAVITY_NONE); g_assert (gravity == CLUTTER_GRAVITY_NONE);
assert_notifications (NOTIFY_SCALE_CENTER_X | NOTIFY_SCALE_CENTER_Y assert_notifications (NOTIFY_SCALE_X | NOTIFY_SCALE_Y
| NOTIFY_SCALE_CENTER_X | NOTIFY_SCALE_CENTER_Y
| NOTIFY_SCALE_GRAVITY); | NOTIFY_SCALE_GRAVITY);
assert_coords (state, 100 + 10 - 10 * 4, 200 + 20 - 20 * 2, assert_coords (state, 100 + 10 - 10 * 4, 200 + 20 - 20 * 2,
100 + 10 + (RECT_WIDTH - 10) * 4, 100 + 10 + (RECT_WIDTH - 10) * 4,

View File

@@ -452,7 +452,7 @@ libmutter_cogl_@LIBMUTTER_API_VERSION@_la_LDFLAGS = \
-avoid-version \ -avoid-version \
-export-dynamic \ -export-dynamic \
-rpath $(mutterlibdir) \ -rpath $(mutterlibdir) \
-export-symbols-regex "^(cogl|_cogl_debug_flags|_cogl_atlas_new|_cogl_atlas_add_reorganize_callback|_cogl_atlas_reserve_space|_cogl_callback|_cogl_util_get_eye_planes_for_screen_poly|_cogl_atlas_texture_remove_reorganize_callback|_cogl_atlas_texture_add_reorganize_callback|_cogl_texture_get_format|_cogl_texture_foreach_sub_texture_in_region|_cogl_texture_set_region|_cogl_profile_trace_message|_cogl_context_get_default|_cogl_framebuffer_get_stencil_bits|_cogl_clip_stack_push_rectangle|_cogl_framebuffer_get_modelview_stack|_cogl_object_default_unref|_cogl_pipeline_foreach_layer_internal|_cogl_clip_stack_push_primitive|_cogl_buffer_unmap_for_fill_or_fallback|_cogl_framebuffer_draw_primitive|_cogl_debug_instances|_cogl_framebuffer_get_projection_stack|_cogl_pipeline_layer_get_texture|_cogl_buffer_map_for_fill_or_fallback|_cogl_texture_can_hardware_repeat|_cogl_pipeline_prune_to_n_layers|_cogl_primitive_draw|test_|unit_test_|_cogl_winsys_glx_get_vtable|_cogl_winsys_egl_xlib_get_vtable|_cogl_winsys_egl_get_vtable|_cogl_closure_disconnect|_cogl_onscreen_notify_complete|_cogl_onscreen_notify_frame_sync|_cogl_winsys_egl_renderer_connect_common|_cogl_winsys_error_quark|_cogl_set_error|_cogl_poll_renderer_add_fd|_cogl_poll_renderer_add_idle|_cogl_framebuffer_winsys_update_size|_cogl_winsys_egl_make_current|_cogl_pixel_format_get_bytes_per_pixel).*" -export-symbols-regex "^(cogl|_cogl_debug_flags|_cogl_atlas_new|_cogl_atlas_add_reorganize_callback|_cogl_atlas_reserve_space|_cogl_callback|_cogl_util_get_eye_planes_for_screen_poly|_cogl_atlas_texture_remove_reorganize_callback|_cogl_atlas_texture_add_reorganize_callback|_cogl_texture_get_format|_cogl_texture_foreach_sub_texture_in_region|_cogl_texture_set_region|_cogl_profile_trace_message|_cogl_context_get_default|_cogl_framebuffer_get_stencil_bits|_cogl_clip_stack_push_rectangle|_cogl_framebuffer_get_modelview_stack|_cogl_object_default_unref|_cogl_pipeline_foreach_layer_internal|_cogl_clip_stack_push_primitive|_cogl_buffer_unmap_for_fill_or_fallback|_cogl_framebuffer_draw_primitive|_cogl_debug_instances|_cogl_framebuffer_get_projection_stack|_cogl_pipeline_layer_get_texture|_cogl_buffer_map_for_fill_or_fallback|_cogl_texture_can_hardware_repeat|_cogl_pipeline_prune_to_n_layers|_cogl_primitive_draw|test_|unit_test_|_cogl_winsys_glx_get_vtable|_cogl_winsys_egl_xlib_get_vtable|_cogl_winsys_egl_get_vtable|_cogl_closure_disconnect|_cogl_onscreen_notify_complete|_cogl_onscreen_notify_frame_sync|_cogl_winsys_egl_renderer_connect_common|_cogl_winsys_error_quark|_cogl_set_error|_cogl_poll_renderer_add_fd|_cogl_poll_renderer_add_idle|_cogl_framebuffer_winsys_update_size|_cogl_winsys_egl_make_current|_cogl_winsys_egl_ensure_current|_cogl_pixel_format_get_bytes_per_pixel).*"
libmutter_cogl_@LIBMUTTER_API_VERSION@_la_SOURCES = $(cogl_sources_c) libmutter_cogl_@LIBMUTTER_API_VERSION@_la_SOURCES = $(cogl_sources_c)
nodist_libmutter_cogl_@LIBMUTTER_API_VERSION@_la_SOURCES = $(BUILT_SOURCES) nodist_libmutter_cogl_@LIBMUTTER_API_VERSION@_la_SOURCES = $(BUILT_SOURCES)

View File

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

View File

@@ -109,7 +109,11 @@ _cogl_object_default_unref (void *object)
void void
cogl_object_unref (void *obj) cogl_object_unref (void *obj)
{ {
void (* unref_func) (void *) = ((CoglObject *) obj)->klass->virt_unref; void (* unref_func) (void *);
_COGL_RETURN_IF_FAIL (obj != NULL);
unref_func = ((CoglObject *) obj)->klass->virt_unref;
unref_func (obj); unref_func (obj);
} }

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

@@ -54,6 +54,7 @@ struct _CoglRenderer
const CoglDriverVtable *driver_vtable; const CoglDriverVtable *driver_vtable;
const CoglTextureDriver *texture_driver; const CoglTextureDriver *texture_driver;
const CoglWinsysVtable *winsys_vtable; const CoglWinsysVtable *winsys_vtable;
void *custom_winsys_user_data;
CoglCustomWinsysVtableGetter custom_winsys_vtable_getter; CoglCustomWinsysVtableGetter custom_winsys_vtable_getter;
CoglWinsysID winsys_id_override; CoglWinsysID winsys_id_override;
GList *constraints; GList *constraints;

View File

@@ -566,8 +566,10 @@ _cogl_renderer_choose_driver (CoglRenderer *renderer,
void void
cogl_renderer_set_custom_winsys (CoglRenderer *renderer, cogl_renderer_set_custom_winsys (CoglRenderer *renderer,
CoglCustomWinsysVtableGetter winsys_vtable_getter) CoglCustomWinsysVtableGetter winsys_vtable_getter,
void *user_data)
{ {
renderer->custom_winsys_user_data = user_data;
renderer->custom_winsys_vtable_getter = winsys_vtable_getter; renderer->custom_winsys_vtable_getter = winsys_vtable_getter;
} }

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
@@ -176,6 +181,9 @@ _cogl_winsys_egl_make_current (CoglDisplay *display,
EGLSurface read, EGLSurface read,
EGLContext context); EGLContext context);
EGLBoolean
_cogl_winsys_egl_ensure_current (CoglDisplay *display);
#ifdef EGL_KHR_image_base #ifdef EGL_KHR_image_base
EGLImageKHR EGLImageKHR
_cogl_egl_create_image (CoglContext *ctx, _cogl_egl_create_image (CoglContext *ctx,

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

@@ -309,6 +309,18 @@ _cogl_winsys_egl_make_current (CoglDisplay *display,
return ret; return ret;
} }
EGLBoolean
_cogl_winsys_egl_ensure_current (CoglDisplay *display)
{
CoglDisplayEGL *egl_display = display->winsys;
CoglRendererEGL *egl_renderer = display->renderer->winsys;
return eglMakeCurrent (egl_renderer->edpy,
egl_display->current_draw_surface,
egl_display->current_read_surface,
egl_display->current_context);
}
static void static void
cleanup_context (CoglDisplay *display) cleanup_context (CoglDisplay *display)
{ {
@@ -338,10 +350,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 +367,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 +432,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], [25]) m4_define([mutter_minor_version], [29])
m4_define([mutter_micro_version], [91]) m4_define([mutter_micro_version], [2])
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])
@@ -80,6 +80,7 @@ CANBERRA_GTK_VERSION=0.26
LIBWACOM_VERSION=0.13 LIBWACOM_VERSION=0.13
MUTTER_PC_MODULES=" MUTTER_PC_MODULES="
gl
egl egl
gtk+-3.0 >= 3.19.8 gtk+-3.0 >= 3.19.8
gio-unix-2.0 >= 2.35.1 gio-unix-2.0 >= 2.35.1
@@ -104,6 +105,7 @@ MUTTER_PC_MODULES="
xcb-randr xcb-randr
xcb-res xcb-res
" "
XWAYLAND_GRAB_DEFAULT_ACCESS_RULES="gnome-boxes,remote-viewer,virt-viewer,virt-manager,vinagre,vncviewer,Xephyr"
GLIB_GSETTINGS GLIB_GSETTINGS
@@ -225,10 +227,10 @@ AC_MSG_CHECKING([gudev])
if test x$with_gudev = xno ; then if test x$with_gudev = xno ; then
AC_MSG_RESULT([disabled]) AC_MSG_RESULT([disabled])
else else
if $PKG_CONFIG --exists gudev-1.0; then if $PKG_CONFIG --exists "gudev-1.0 >= 232"; then
have_gudev=yes have_gudev=yes
AC_MSG_RESULT(yes) AC_MSG_RESULT(yes)
MUTTER_PC_MODULES="$MUTTER_PC_MODULES gudev-1.0" MUTTER_PC_MODULES="$MUTTER_PC_MODULES gudev-1.0 >= 232"
AC_DEFINE([HAVE_LIBGUDEV], 1, [Building with gudev for device type detection]) AC_DEFINE([HAVE_LIBGUDEV], 1, [Building with gudev for device type detection])
else else
AC_MSG_RESULT(no) AC_MSG_RESULT(no)
@@ -238,6 +240,16 @@ else
fi fi
fi fi
AC_ARG_ENABLE(remote-desktop,
AS_HELP_STRING([--enable-remote-desktop], [enable support for remote desktop and screen cast]),,
enable_remote_desktop=no
)
AS_IF([test "$enable_remote_desktop" = "yes"], [
MUTTER_PC_MODULES="$MUTTER_PC_MODULES libpipewire-0.1 >= 0.1.8"
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"])
INTROSPECTION_VERSION=0.9.5 INTROSPECTION_VERSION=0.9.5
GOBJECT_INTROSPECTION_CHECK([$INTROSPECTION_VERSION]) GOBJECT_INTROSPECTION_CHECK([$INTROSPECTION_VERSION])
@@ -250,7 +262,19 @@ 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 -o -z "$logind_provider"; then
logind_provider="libsystemd"
fi
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]),,
@@ -267,8 +291,7 @@ AS_IF([test "$have_native_backend" = "yes"], [
AM_CONDITIONAL([HAVE_NATIVE_BACKEND],[test "$have_native_backend" = "yes"]) AM_CONDITIONAL([HAVE_NATIVE_BACKEND],[test "$have_native_backend" = "yes"])
AC_ARG_ENABLE(egl-device, AC_ARG_ENABLE(egl-device,
AS_HELP_STRING([--enable-egl-device], [enable support for EGLDevice on top of KMS]), AS_HELP_STRING([--enable-egl-device], [enable support for EGLDevice on top of KMS]),,
enable_egl_device=yes,
enable_egl_device=no enable_egl_device=no
) )
AS_IF([test "$enable_egl_device" = "yes"], [ AS_IF([test "$enable_egl_device" = "yes"], [
@@ -292,12 +315,27 @@ 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.9], 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)
]) ])
AM_CONDITIONAL([HAVE_WAYLAND],[test "$have_wayland" = "yes"]) AM_CONDITIONAL([HAVE_WAYLAND],[test "$have_wayland" = "yes"])
AC_ARG_WITH([xwayland-grab-default-access-rules],
[AS_HELP_STRING([--with-xwayland-grab-default-access-rules="app-res1,app-res2,..."],
[comma delimited list of applications ressources or class allowed to issue X11 grabs in Xwayland"])],
[with_XWAYLAND_GRAB_DEFAULT_ACCESS_RULES="$withval"],
[with_XWAYLAND_GRAB_DEFAULT_ACCESS_RULES="$XWAYLAND_GRAB_DEFAULT_ACCESS_RULES"])
case "$with_XWAYLAND_GRAB_DEFAULT_ACCESS_RULES" in
yes) with_XWAYLAND_GRAB_DEFAULT_ACCESS_RULES="$XWAYLAND_GRAB_DEFAULT_ACCESS_RULES" ;;
no) with_XWAYLAND_GRAB_DEFAULT_ACCESS_RULES='' ;;
esac
AC_DEFINE_UNQUOTED([XWAYLAND_GRAB_DEFAULT_ACCESS_RULES],
"$with_XWAYLAND_GRAB_DEFAULT_ACCESS_RULES",
[Xwayland applications allowed to issue keyboard grabs])
AC_SUBST(XWAYLAND_GRAB_DEFAULT_ACCESS_RULES)
PKG_CHECK_EXISTS([xi >= 1.6.99.1], PKG_CHECK_EXISTS([xi >= 1.6.99.1],
AC_DEFINE([HAVE_XI23],[1],[Define if you have support for XInput 2.3 or greater])) AC_DEFINE([HAVE_XI23],[1],[Define if you have support for XInput 2.3 or greater]))
@@ -513,6 +551,7 @@ mutter-$VERSION
Wayland: ${have_wayland} Wayland: ${have_wayland}
Native (KMS) backend: ${have_native_backend} Native (KMS) backend: ${have_native_backend}
EGLDevice: ${enable_egl_device} EGLDevice: ${enable_egl_device}
Remote desktop: ${enable_remote_desktop}
" "

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

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<KeyListEntries schema="org.gnome.mutter.wayland.keybindings"
group="system"
name="System"
wm_name="Mutter"
package="mutter">
<KeyListEntry name="restore-shortcuts" description="Restore the keyboard shortcuts"/>
</KeyListEntries>

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

@@ -12,6 +12,11 @@ xml_DATA = \
50-mutter-system.xml \ 50-mutter-system.xml \
50-mutter-windows.xml 50-mutter-windows.xml
if HAVE_WAYLAND
xml_DATA += \
50-mutter-wayland.xml
endif
gschema_in_files = \ gschema_in_files = \
org.gnome.mutter.gschema.xml.in \ org.gnome.mutter.gschema.xml.in \
org.gnome.mutter.wayland.gschema.xml.in org.gnome.mutter.wayland.gschema.xml.in
@@ -19,6 +24,7 @@ gsettings_SCHEMAS = $(gschema_in_files:.xml.in=.xml)
%.gschema.xml: %.gschema.xml.in Makefile %.gschema.xml: %.gschema.xml.in Makefile
$(AM_V_GEN) sed -e 's|@GETTEXT_DOMAIN[@]|$(GETTEXT_PACKAGE)|g' \ $(AM_V_GEN) sed -e 's|@GETTEXT_DOMAIN[@]|$(GETTEXT_PACKAGE)|g' \
-e 's|@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES[@]|$(XWAYLAND_GRAB_DEFAULT_ACCESS_RULES)|g' \
$< > $@ || rm $@ $< > $@ || rm $@
@GSETTINGS_RULES@ @GSETTINGS_RULES@

View File

@@ -50,8 +50,52 @@
<summary>Switch to VT 12</summary> <summary>Switch to VT 12</summary>
</key> </key>
<key name="restore-shortcuts" type="as"> <key name="restore-shortcuts" type="as">
<default><![CDATA[['<Shift><Control>Escape']]]></default> <default><![CDATA[['<Super>Escape']]]></default>
<summary>Re-enable shortcuts</summary> <summary>Re-enable shortcuts</summary>
</key> </key>
</schema> </schema>
<schema id="org.gnome.mutter.wayland" path="/org/gnome/mutter/wayland/"
gettext-domain="@GETTEXT_DOMAIN@">
<key name="xwayland-allow-grabs" type="b">
<default>false</default>
<summary>Allow grabs with Xwayland</summary>
<description>
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”.
</description>
</key>
<key name="xwayland-grab-access-rules" type="as">
<default>[]</default>
<summary>Xwayland applications allowed to issue keyboard grabs</summary>
<description>
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”.
</description>
</key>
</schema>
</schemalist> </schemalist>

View File

@@ -2,6 +2,7 @@
# Please keep this file sorted alphabetically. # Please keep this file sorted alphabetically.
data/50-mutter-navigation.xml data/50-mutter-navigation.xml
data/50-mutter-system.xml data/50-mutter-system.xml
data/50-mutter-wayland.xml
data/50-mutter-windows.xml data/50-mutter-windows.xml
data/mutter.desktop.in data/mutter.desktop.in
data/org.gnome.mutter.gschema.xml.in data/org.gnome.mutter.gschema.xml.in

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

771
po/ar.po
View File

@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: metacity.HEAD\n" "Project-Id-Version: metacity.HEAD\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mutter&" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mutter&"
"keywords=I18N+L10N&component=general\n" "keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-06-18 21:26+0200\n" "POT-Creation-Date: 2017-11-03 10:20+0200\n"
"PO-Revision-Date: 2017-06-18 21:27+0200\n" "PO-Revision-Date: 2017-11-03 10:22+0200\n"
"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n" "Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
"Language-Team: Arabic <doc@arabeyes.org>\n" "Language-Team: Arabic <doc@arabeyes.org>\n"
"Language: ar\n" "Language: ar\n"
@@ -24,448 +24,10 @@ msgstr ""
"X-Generator: Virtaal 1.0.0-beta1\n" "X-Generator: Virtaal 1.0.0-beta1\n"
"X-Project-Style: gnome\n" "X-Project-Style: gnome\n"
#: data/50-mutter-navigation.xml:6
msgid "Navigation"
msgstr "الإبحار"
#: data/50-mutter-navigation.xml:9
msgid "Move window to workspace 1"
msgstr "انقل النافذة إلى مساحة العمل 1"
#: data/50-mutter-navigation.xml:12
msgid "Move window to workspace 2"
msgstr "انقل النافذة إلى مساحة العمل 2"
#: data/50-mutter-navigation.xml:15
msgid "Move window to workspace 3"
msgstr "انقل النافذة إلى مساحة العمل 3"
#: data/50-mutter-navigation.xml:18
msgid "Move window to workspace 4"
msgstr "انقل النافذة إلى مساحة العمل 4"
#: data/50-mutter-navigation.xml:21
msgid "Move window to last workspace"
msgstr "انقل النافذة إلى مساحة العمل الأخيرة"
#: 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"
msgstr "انقل النافذة مساحة عمل واحدة إلى الأعلى"
#: data/50-mutter-navigation.xml:33
msgid "Move window one workspace down"
msgstr "انقل النافذة مساحة عمل واحدة إلى الأسفل"
#: data/50-mutter-navigation.xml:36
msgid "Move window one monitor to the left"
msgstr "انقل النافذة شاشة واحدة إلى اليسار"
#: data/50-mutter-navigation.xml:39
msgid "Move window one monitor to the right"
msgstr "انقل النافذة شاشة واحدة إلى اليمين"
#: data/50-mutter-navigation.xml:42
msgid "Move window one monitor up"
msgstr "انقل النافذة شاشة واحدة إلى الأعلى"
#: data/50-mutter-navigation.xml:45
msgid "Move window one monitor down"
msgstr "انقل النافذة شاشة واحدة إلى الأسفل"
#: data/50-mutter-navigation.xml:49
msgid "Switch applications"
msgstr "تنقل بين التطبيقات"
#: data/50-mutter-navigation.xml:54
msgid "Switch to previous application"
msgstr "انتقل إلى التطبيق السابق"
#: data/50-mutter-navigation.xml:58
msgid "Switch windows"
msgstr "تنقل بين النوافذ"
#: data/50-mutter-navigation.xml:63
msgid "Switch to previous window"
msgstr "انتقل إلى النافذة السابقة"
#: data/50-mutter-navigation.xml:67
msgid "Switch windows of an application"
msgstr "تنقل بين نوافذ التطبيق"
#: data/50-mutter-navigation.xml:72
msgid "Switch to previous window of an application"
msgstr "انتقل إلى نافذة التطبيق السابقة"
#: data/50-mutter-navigation.xml:76
msgid "Switch system controls"
msgstr "تنقل بين تحكمات النظام"
#: data/50-mutter-navigation.xml:81
msgid "Switch to previous system control"
msgstr "انتقل إلى تحكم النظام السابق"
#: data/50-mutter-navigation.xml:85
msgid "Switch windows directly"
msgstr "تنقل مباشرة بين النوافذ"
#: data/50-mutter-navigation.xml:90
msgid "Switch directly to previous window"
msgstr "انتقل مباشرة إلى النافذة السابقة"
#: data/50-mutter-navigation.xml:94
msgid "Switch windows of an app directly"
msgstr "تنقل مباشرة بين نوافذ التطبيق"
#: data/50-mutter-navigation.xml:99
msgid "Switch directly to previous window of an app"
msgstr "انتقل مباشرة إلى نافذة التطبيق السابقة"
#: data/50-mutter-navigation.xml:103
msgid "Switch system controls directly"
msgstr "تنقل مباشرة بين تحكمات النظام"
#: data/50-mutter-navigation.xml:108
msgid "Switch directly to previous system control"
msgstr "انتقل مباشرة إلى تحكم النظام السابق"
#: data/50-mutter-navigation.xml:111
msgid "Hide all normal windows"
msgstr "أخفِ كل النوافذ العادية"
#: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 1"
msgstr "انتقل إلى مساحة العمل 1"
#: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 2"
msgstr "انتقل إلى مساحة العمل 2"
#: data/50-mutter-navigation.xml:120
msgid "Switch to workspace 3"
msgstr "انتقل إلى مساحة العمل 3"
#: data/50-mutter-navigation.xml:123
msgid "Switch to workspace 4"
msgstr "انتقل إلى مساحة العمل 4"
#: data/50-mutter-navigation.xml:126
msgid "Switch to last workspace"
msgstr "انتقل إلى مساحة العمل الأخيرة"
#: data/50-mutter-navigation.xml:129
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"
msgstr "انقل لمساحة العمل أعلى"
#: data/50-mutter-navigation.xml:138
msgid "Move to workspace below"
msgstr "انقل لمساحة العمل أسفل"
#: data/50-mutter-system.xml:6
msgid "System"
msgstr "النظام"
#: data/50-mutter-system.xml:8
msgid "Show the run command prompt"
msgstr "أظهر محث تشغيل أمر"
#: data/50-mutter-system.xml:10
msgid "Show the activities overview"
msgstr "أظهر نظرة عامة على الأنشطة"
#: data/50-mutter-windows.xml:6
msgid "Windows"
msgstr "النوافذ"
#: data/50-mutter-windows.xml:8
msgid "Activate the window menu"
msgstr "فعّل قائمة النافذة"
#: data/50-mutter-windows.xml:10
msgid "Toggle fullscreen mode"
msgstr "بدّل نمط ملء الشاشة"
#: data/50-mutter-windows.xml:12
msgid "Toggle maximization state"
msgstr "بدّل حالة التكبير"
#: data/50-mutter-windows.xml:14
msgid "Maximize window"
msgstr "كبّر النّافذة"
#: data/50-mutter-windows.xml:16
msgid "Restore window"
msgstr "استعد النّافذة"
#: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "بدّل حالة الإخفاء"
#: data/50-mutter-windows.xml:20
msgid "Close window"
msgstr "أغلق النّافذة"
#: data/50-mutter-windows.xml:22
msgid "Hide window"
msgstr "أخفِ النّافذة"
#: data/50-mutter-windows.xml:24
msgid "Move window"
msgstr "انقل النّافذة"
#: data/50-mutter-windows.xml:26
msgid "Resize window"
msgstr "حجّم النّافذة"
#: data/50-mutter-windows.xml:29
msgid "Toggle window on all workspaces or one"
msgstr "بدّل حالة ظهور النافذة على جميع مساحات العمل أو واحدة منها"
#: data/50-mutter-windows.xml:31
msgid "Raise window if covered, otherwise lower it"
msgstr "ارفع النافذة إذا كانت أخرى تغطيها، أو أخفضها في ما عدا ذلك"
#: data/50-mutter-windows.xml:33
msgid "Raise window above other windows"
msgstr "ارفع النافذة فوق النوافذ الأخرى"
#: data/50-mutter-windows.xml:35
msgid "Lower window below other windows"
msgstr "اخفض النافذة تحت النوافذ الأخرى"
#: data/50-mutter-windows.xml:37
msgid "Maximize window vertically"
msgstr "كبّر النافذة رأسيا"
#: data/50-mutter-windows.xml:39
msgid "Maximize window horizontally"
msgstr "كبّر النافذة أفقيا"
#: data/50-mutter-windows.xml:43
msgid "View split on left"
msgstr "المنظور مقسوم على اليمين"
#: data/50-mutter-windows.xml:47
msgid "View split on right"
msgstr "المنظور مقسوم على اليسار"
#: data/mutter.desktop.in:4
msgid "Mutter"
msgstr "مَتَر"
#: data/org.gnome.mutter.gschema.xml.in:7
msgid "Modifier to use for extended window management operations"
msgstr "المغير الذي سيُستعمل لتمديد عمليات إدارة النوافذ "
#: data/org.gnome.mutter.gschema.xml.in:8
msgid ""
"This key will initiate the “overlay”, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key” on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
msgstr ""
#: 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 theres 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 themes 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: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: • “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."
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:151
msgid "Select window from tab popup"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:156
msgid "Cancel tab popup"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:6
#, fuzzy
msgid "Switch to VT 1"
msgstr "انتقل إلى مساحة العمل 1"
#: data/org.gnome.mutter.wayland.gschema.xml.in:10
#, fuzzy
msgid "Switch to VT 2"
msgstr "انتقل إلى مساحة العمل 2"
#: data/org.gnome.mutter.wayland.gschema.xml.in:14
#, fuzzy
msgid "Switch to VT 3"
msgstr "انتقل إلى مساحة العمل 3"
#: data/org.gnome.mutter.wayland.gschema.xml.in:18
#, fuzzy
msgid "Switch to VT 4"
msgstr "انتقل إلى مساحة العمل 4"
#: data/org.gnome.mutter.wayland.gschema.xml.in:22
#, fuzzy
msgid "Switch to VT 5"
msgstr "انتقل إلى مساحة العمل 5"
#: data/org.gnome.mutter.wayland.gschema.xml.in:26
#, fuzzy
msgid "Switch to VT 6"
msgstr "انتقل إلى مساحة العمل 6"
#: data/org.gnome.mutter.wayland.gschema.xml.in:30
#, fuzzy
msgid "Switch to VT 7"
msgstr "انتقل إلى مساحة العمل 7"
#: data/org.gnome.mutter.wayland.gschema.xml.in:34
#, fuzzy
msgid "Switch to VT 8"
msgstr "انتقل إلى مساحة العمل 8"
#: data/org.gnome.mutter.wayland.gschema.xml.in:38
#, fuzzy
msgid "Switch to VT 9"
msgstr "انتقل إلى مساحة العمل 9"
#: data/org.gnome.mutter.wayland.gschema.xml.in:42
#, fuzzy
msgid "Switch to VT 10"
msgstr "انتقل إلى مساحة العمل 10"
#: data/org.gnome.mutter.wayland.gschema.xml.in:46
#, fuzzy
msgid "Switch to VT 11"
msgstr "انتقل إلى مساحة العمل 11"
#: data/org.gnome.mutter.wayland.gschema.xml.in:50
#, fuzzy
msgid "Switch to VT 12"
msgstr "انتقل إلى مساحة العمل 12"
#. 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:1866 #: ../src/backends/meta-input-settings.c:2167
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "" msgstr ""
@@ -473,113 +35,113 @@ 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:1888 #: ../src/backends/meta-input-settings.c:2190
msgid "Switch monitor" msgid "Switch monitor"
msgstr "غيّر الشاشة" msgstr "غيّر الشاشة"
#: src/backends/meta-input-settings.c:1890 #: ../src/backends/meta-input-settings.c:2192
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "" msgstr "اعرض المساعدة على الشاشة"
#: src/backends/meta-monitor-manager.c:879 #: ../src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "شاشة مدمجة" msgstr "شاشة مدمجة"
#: src/backends/meta-monitor-manager.c:902 #: ../src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "غير معروفة" msgstr "غير معروفة"
#: src/backends/meta-monitor-manager.c:904 #: ../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:912 #: ../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:476
#, fuzzy, 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 "يعمل مدير مزج آخر على الشاشة %i والعرض \"%s\"." msgstr "يعمل مدير مزج آخر على الشاشة %i و العرض ”%s“."
#: src/core/bell.c:194 #: ../src/core/bell.c:194
msgid "Bell event" msgid "Bell event"
msgstr "حدث جرس" msgstr "حدث جرس"
#: src/core/display.c:608 #: ../src/core/display.c:608
#, fuzzy, c-format #, c-format
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:189
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "عطّل الاتصال بمدير الجلسة" msgstr "عطّل الاتصال بمدير الجلسة"
#: src/core/main.c:195 #: ../src/core/main.c:195
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "استبدل بمدير النوافذ الذي يعمل" msgstr "استبدل بمدير النوافذ الذي يعمل"
#: src/core/main.c:201 #: ../src/core/main.c:201
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "حدّد رقم هويّة إدارة الجلسة" msgstr "حدّد رقم هويّة إدارة الجلسة"
#: src/core/main.c:206 #: ../src/core/main.c:206
msgid "X Display to use" msgid "X Display to use"
msgstr "معراض س الذي سيستعمل" msgstr "معراض س الذي سيستعمل"
#: src/core/main.c:212 #: ../src/core/main.c:212
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "ابدأ الجلسة من ملف محفوظ" msgstr "ابدأ الجلسة من ملف محفوظ"
#: src/core/main.c:218 #: ../src/core/main.c:218
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "اجعل نداءات س متزامنة" msgstr "اجعل نداءات س متزامنة"
#: src/core/main.c:225 #: ../src/core/main.c:225
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "" msgstr ""
#: src/core/main.c:231 #: ../src/core/main.c:231
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "" msgstr ""
#: src/core/main.c:239 #: ../src/core/main.c:239
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "" msgstr ""
#. 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
msgid "“%s” is not responding." msgid "“%s” is not responding."
msgstr "”‏%s“ لا يستجيب." msgstr "”‏%s“ لا يستجيب."
#: src/core/meta-close-dialog-default.c:149 #: ../src/core/meta-close-dialog-default.c:149
msgid "Application is not responding." msgid "Application is not responding."
msgstr "لا يستجيب التطبيق" msgstr "لا يستجيب التطبيق"
#: src/core/meta-close-dialog-default.c:154 #: ../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/meta-close-dialog-default.c:161 #: ../src/core/meta-close-dialog-default.c:161
msgid "_Force Quit" msgid "_Force Quit"
msgstr "أ_جبر الإنهاء" msgstr "أ_جبر الإنهاء"
#: src/core/meta-close-dialog-default.c:161 #: ../src/core/meta-close-dialog-default.c:161
msgid "_Wait" msgid "_Wait"
msgstr "ا_نتظر" msgstr "ا_نتظر"
#: src/core/mutter.c:39 #: ../src/core/mutter.c:39
#, fuzzy, c-format #, c-format
msgid "" msgid ""
"mutter %s\n" "mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n" "Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
@@ -592,56 +154,289 @@ msgstr ""
"هذا برنامج حر، راجع المصدر لشروط النسخ.\n" "هذا برنامج حر، راجع المصدر لشروط النسخ.\n"
"لا يوجد أي ضمان: و لا حتى ضمان قابلية التسويق أو المناسبة لأي هدف.\n" "لا يوجد أي ضمان: و لا حتى ضمان قابلية التسويق أو المناسبة لأي هدف.\n"
#: src/core/mutter.c:53 #: ../src/core/mutter.c:53
msgid "Print version" msgid "Print version"
msgstr "اطبع الإصدارة" msgstr "اطبع الإصدارة"
#: 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:1997 #: ../src/core/prefs.c:1997
#, c-format #, c-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "مساحة العمل %d" msgstr "مساحة العمل %d"
#: src/core/screen.c:580 #: ../src/core/screen.c:583
#, fuzzy, 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 "
"replace the current window manager." "replace the current window manager."
msgstr "" msgstr ""
"الشاشة \"%s\" لها مدير نوافذ بالفعل، حاول استعمال خيار التبديل --replace " "الشاشة ”%s“ لها مدير نوافذ بالفعل، حاول استعمال خيار التبديل --replace لتحُلّ"
"لتحُلّ محلّ مدير النوافذ الحالي." " محلّ مدير النوافذ الحالي."
#: src/core/screen.c:665 #: ../src/core/screen.c:668
#, fuzzy, 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"
#: 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 "جُمِّع مَتَر دون دعم للنمط المطنب\n" msgstr "جُمِّع مَتَر دون دعم للنمط المطنب\n"
#: src/wayland/meta-wayland-tablet-pad.c:563 #: ../src/wayland/meta-wayland-tablet-pad.c:563
#, c-format #, c-format
msgid "Mode Switch: Mode %d" msgid "Mode Switch: Mode %d"
msgstr "" msgstr ""
#: src/x11/session.c:1815 #: ../src/x11/session.c:1815
#, fuzzy
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."
msgstr "" msgstr ""
"هذه النوافذ لا تدعم &quot;احفظ الضبط الحالي&quot; يجب إعادة تشغيلها يدويا " "هذه النوافذ لا تدعم الضبط الحالي&quot; إعادة تشغيلها يدويا عند الولوج "
"عند الولوج المرة القادمة." "المرة القادمة."
#: src/x11/window-props.c:559 #: ../src/x11/window-props.c:559
#, c-format #, c-format
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (على %s)" msgstr "%s (على %s)"
#~ msgid "Navigation"
#~ msgstr "الإبحار"
#~ msgid "Move window to workspace 1"
#~ msgstr "انقل النافذة إلى مساحة العمل 1"
#~ msgid "Move window to workspace 2"
#~ msgstr "انقل النافذة إلى مساحة العمل 2"
#~ msgid "Move window to workspace 3"
#~ msgstr "انقل النافذة إلى مساحة العمل 3"
#~ msgid "Move window to workspace 4"
#~ msgstr "انقل النافذة إلى مساحة العمل 4"
#~ msgid "Move window to last workspace"
#~ msgstr "انقل النافذة إلى مساحة العمل الأخيرة"
#~ msgid "Move window one workspace to the left"
#~ msgstr "انقل النافذة مساحة عمل واحدة إلى اليسار"
#~ msgid "Move window one workspace to the right"
#~ msgstr "انقل النافذة مساحة عمل واحدة إلى اليمين"
#~ msgid "Move window one workspace up"
#~ msgstr "انقل النافذة مساحة عمل واحدة إلى الأعلى"
#~ msgid "Move window one workspace down"
#~ msgstr "انقل النافذة مساحة عمل واحدة إلى الأسفل"
#~ msgid "Move window one monitor to the left"
#~ msgstr "انقل النافذة شاشة واحدة إلى اليسار"
#~ msgid "Move window one monitor to the right"
#~ msgstr "انقل النافذة شاشة واحدة إلى اليمين"
#~ msgid "Move window one monitor up"
#~ msgstr "انقل النافذة شاشة واحدة إلى الأعلى"
#~ msgid "Move window one monitor down"
#~ msgstr "انقل النافذة شاشة واحدة إلى الأسفل"
#~ msgid "Switch applications"
#~ msgstr "تنقل بين التطبيقات"
#~ msgid "Switch to previous application"
#~ msgstr "انتقل إلى التطبيق السابق"
#~ msgid "Switch windows"
#~ msgstr "تنقل بين النوافذ"
#~ msgid "Switch to previous window"
#~ msgstr "انتقل إلى النافذة السابقة"
#~ msgid "Switch windows of an application"
#~ msgstr "تنقل بين نوافذ التطبيق"
#~ msgid "Switch to previous window of an application"
#~ msgstr "انتقل إلى نافذة التطبيق السابقة"
#~ msgid "Switch system controls"
#~ msgstr "تنقل بين تحكمات النظام"
#~ msgid "Switch to previous system control"
#~ msgstr "انتقل إلى تحكم النظام السابق"
#~ msgid "Switch windows directly"
#~ msgstr "تنقل مباشرة بين النوافذ"
#~ msgid "Switch directly to previous window"
#~ msgstr "انتقل مباشرة إلى النافذة السابقة"
#~ msgid "Switch windows of an app directly"
#~ msgstr "تنقل مباشرة بين نوافذ التطبيق"
#~ msgid "Switch directly to previous window of an app"
#~ msgstr "انتقل مباشرة إلى نافذة التطبيق السابقة"
#~ msgid "Switch system controls directly"
#~ msgstr "تنقل مباشرة بين تحكمات النظام"
#~ msgid "Switch directly to previous system control"
#~ msgstr "انتقل مباشرة إلى تحكم النظام السابق"
#~ msgid "Hide all normal windows"
#~ msgstr "أخفِ كل النوافذ العادية"
#~ msgid "Switch to workspace 1"
#~ msgstr "انتقل إلى مساحة العمل 1"
#~ msgid "Switch to workspace 2"
#~ msgstr "انتقل إلى مساحة العمل 2"
#~ msgid "Switch to workspace 3"
#~ msgstr "انتقل إلى مساحة العمل 3"
#~ msgid "Switch to workspace 4"
#~ msgstr "انتقل إلى مساحة العمل 4"
#~ msgid "Switch to last workspace"
#~ msgstr "انتقل إلى مساحة العمل الأخيرة"
#~ msgid "Move to workspace left"
#~ msgstr "انقل لمساحة العمل على اليسار"
#~ msgid "Move to workspace right"
#~ msgstr "انقل لمساحة العمل على اليمين"
#~ msgid "Move to workspace above"
#~ msgstr "انقل لمساحة العمل أعلى"
#~ msgid "Move to workspace below"
#~ msgstr "انقل لمساحة العمل أسفل"
#~ msgid "System"
#~ msgstr "النظام"
#~ msgid "Show the run command prompt"
#~ msgstr "أظهر محث تشغيل أمر"
#~ msgid "Show the activities overview"
#~ msgstr "أظهر نظرة عامة على الأنشطة"
#~ msgid "Windows"
#~ msgstr "النوافذ"
#~ msgid "Activate the window menu"
#~ msgstr "فعّل قائمة النافذة"
#~ msgid "Toggle fullscreen mode"
#~ msgstr "بدّل نمط ملء الشاشة"
#~ msgid "Toggle maximization state"
#~ msgstr "بدّل حالة التكبير"
#~ msgid "Maximize window"
#~ msgstr "كبّر النّافذة"
#~ msgid "Restore window"
#~ msgstr "استعد النّافذة"
#~ msgid "Toggle shaded state"
#~ msgstr "بدّل حالة الإخفاء"
#~ msgid "Close window"
#~ msgstr "أغلق النّافذة"
#~ msgid "Hide window"
#~ msgstr "أخفِ النّافذة"
#~ msgid "Move window"
#~ msgstr "انقل النّافذة"
#~ msgid "Resize window"
#~ msgstr "حجّم النّافذة"
#~ msgid "Toggle window on all workspaces or one"
#~ msgstr "بدّل حالة ظهور النافذة على جميع مساحات العمل أو واحدة منها"
#~ msgid "Raise window if covered, otherwise lower it"
#~ msgstr "ارفع النافذة إذا كانت أخرى تغطيها، أو أخفضها في ما عدا ذلك"
#~ msgid "Raise window above other windows"
#~ msgstr "ارفع النافذة فوق النوافذ الأخرى"
#~ msgid "Lower window below other windows"
#~ msgstr "اخفض النافذة تحت النوافذ الأخرى"
#~ msgid "Maximize window vertically"
#~ msgstr "كبّر النافذة رأسيا"
#~ msgid "Maximize window horizontally"
#~ msgstr "كبّر النافذة أفقيا"
#~ msgid "View split on left"
#~ msgstr "المنظور مقسوم على اليمين"
#~ msgid "View split on right"
#~ msgstr "المنظور مقسوم على اليسار"
#~ msgid "Mutter"
#~ msgstr "مَتَر"
#~ msgid "Modifier to use for extended window management operations"
#~ msgstr "المغير الذي سيُستعمل لتمديد عمليات إدارة النوافذ "
#, fuzzy
#~ msgid "Switch to VT 1"
#~ msgstr "انتقل إلى مساحة العمل 1"
#, fuzzy
#~ msgid "Switch to VT 2"
#~ msgstr "انتقل إلى مساحة العمل 2"
#, fuzzy
#~ msgid "Switch to VT 3"
#~ msgstr "انتقل إلى مساحة العمل 3"
#, fuzzy
#~ msgid "Switch to VT 4"
#~ msgstr "انتقل إلى مساحة العمل 4"
#, fuzzy
#~ msgid "Switch to VT 5"
#~ msgstr "انتقل إلى مساحة العمل 5"
#, fuzzy
#~ msgid "Switch to VT 6"
#~ msgstr "انتقل إلى مساحة العمل 6"
#, fuzzy
#~ msgid "Switch to VT 7"
#~ msgstr "انتقل إلى مساحة العمل 7"
#, fuzzy
#~ msgid "Switch to VT 8"
#~ msgstr "انتقل إلى مساحة العمل 8"
#, fuzzy
#~ msgid "Switch to VT 9"
#~ msgstr "انتقل إلى مساحة العمل 9"
#, fuzzy
#~ msgid "Switch to VT 10"
#~ msgstr "انتقل إلى مساحة العمل 10"
#, fuzzy
#~ msgid "Switch to VT 11"
#~ msgstr "انتقل إلى مساحة العمل 11"
#, fuzzy
#~ msgid "Switch to VT 12"
#~ msgstr "انتقل إلى مساحة العمل 12"
#~ msgid "Unknown window information request: %d" #~ msgid "Unknown window information request: %d"
#~ msgstr "طلب معلومات نافذة مجهول: %d" #~ msgstr "طلب معلومات نافذة مجهول: %d"

View File

@@ -5,8 +5,8 @@ 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://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n" "product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-04-21 21:33+0000\n" "POT-Creation-Date: 2017-08-29 16:09+0000\n"
"PO-Revision-Date: 2017-04-23 16:56+0300\n" "PO-Revision-Date: 2017-09-01 18:44+0300\n"
"Last-Translator: Yuras Shumovich <shumovichy@gmail.com>\n" "Last-Translator: Yuras Shumovich <shumovichy@gmail.com>\n"
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n" "Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
"Language: be\n" "Language: be\n"
@@ -409,7 +409,10 @@ 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 ""
"Каб уключыць эксперыментальныя функцыі, дадайце адпаведнае ключавое слова ў " "Каб уключыць эксперыментальныя функцыі, дадайце адпаведнае ключавое слова ў "
"гэты ліст. Некаторыя функцыі могуць патрабаваць перазапуску кампазітара. " "гэты ліст. Некаторыя функцыі могуць патрабаваць перазапуску кампазітара. "
@@ -418,16 +421,27 @@ msgstr ""
"\"scale-monitor-framebuffer\" - прымушае mutter прадвызначана размяшчаць " "\"scale-monitor-framebuffer\" - прымушае mutter прадвызначана размяшчаць "
"лагічныя маніторы ў лагічнай прасторы каардынат пікселаў, пры гэтым " "лагічныя маніторы ў лагічнай прасторы каардынат пікселаў, пры гэтым "
"маштабаваць кадравы буфер, а не змесціва акна, для падтрымкі HiDPI " "маштабаваць кадравы буфер, а не змесціва акна, для падтрымкі HiDPI "
"манітораў. Не патрабуе перазапуску." "манітораў. Не патрабуе перазапуску. • \"remote-desktop\" - уключае падтрымку "
"аддаленых манітораў. Для падтрымкі аддаленых манітораў з супольным доступам "
"да экрана трэба таксама ўключыць \"screen-cast\". • \"screen-cast\" - "
"уключае падтрымку скрынкасту."
#: 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 "Выбраць акно з выплыўнога акенца" msgstr "Выбраць акно з выплыўнога акенца"
#: 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 "Закрыць выплыўное акенца" msgstr "Закрыць выплыўное акенца"
#: data/org.gnome.mutter.gschema.xml.in:155
msgid "Switch monitor configurations"
msgstr "Пераключыць канфігурацыі манітора"
#: 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 #: data/org.gnome.mutter.wayland.gschema.xml.in:6
msgid "Switch to VT 1" msgid "Switch to VT 1"
msgstr "Перайсці ў віртуальны тэрмінал 1" msgstr "Перайсці ў віртуальны тэрмінал 1"
@@ -476,10 +490,14 @@ msgstr "Перайсці ў віртуальны тэрмінал 11"
msgid "Switch to VT 12" msgid "Switch to VT 12"
msgstr "Перайсці ў віртуальны тэрмінал 12" msgstr "Перайсці ў віртуальны тэрмінал 12"
#: data/org.gnome.mutter.wayland.gschema.xml.in:54
msgid "Re-enable 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:1848 #: src/backends/meta-input-settings.c:2151
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Пераключыць рэжым (група %d)" msgstr "Пераключыць рэжым (група %d)"
@@ -487,37 +505,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:1870 #: src/backends/meta-input-settings.c:2174
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Пераключыць манітор" msgstr "Пераключыць манітор"
#: src/backends/meta-input-settings.c:1872 #: src/backends/meta-input-settings.c:2176
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Паказаць экранную даведку" msgstr "Паказаць экранную даведку"
#: src/backends/meta-monitor-manager.c:783 #: src/backends/meta-monitor-manager.c:903
msgid "Built-in display" msgid "Built-in display"
msgstr "Убудаваны дысплей" msgstr "Убудаваны дысплей"
#: src/backends/meta-monitor-manager.c:806 #: src/backends/meta-monitor-manager.c:926
msgid "Unknown" msgid "Unknown"
msgstr "Невядомы" msgstr "Невядомы"
#: src/backends/meta-monitor-manager.c:808 #: src/backends/meta-monitor-manager.c:928
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:816 #: src/backends/meta-monitor-manager.c:936
#, 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:474 #: src/compositor/compositor.c:476
#, 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”."
@@ -528,31 +546,6 @@ msgstr ""
msgid "Bell event" msgid "Bell event"
msgstr "Падзея з сігналам" msgstr "Падзея з сігналам"
#. Translators: %s is a window title
#: src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "\"%s\" не адказвае на запыты."
#: src/core/delete.c:129
msgid "Application is not responding."
msgstr "Праграма не адказвае на запыты."
#: src/core/delete.c:134
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr ""
"Вы можаце альбо крыху пачакаць адказу, альбо змусіць праграму да выхаду."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Змусіць да выхаду"
#: src/core/delete.c:141
msgid "_Wait"
msgstr "_Пачакаць"
#: src/core/display.c:608 #: src/core/display.c:608
#, c-format #, c-format
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
@@ -594,6 +587,31 @@ msgstr "Запусціць у якасці ўложанага кампазіта
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Запусціць у якасці паўнавартаснага сервера дысплея, я не як уложаны " msgstr "Запусціць у якасці паўнавартаснага сервера дысплея, я не як уложаны "
#. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147
#, c-format
msgid "“%s” is not responding."
msgstr "\"%s\" не адказвае на запыты."
#: src/core/meta-close-dialog-default.c:149
msgid "Application is not responding."
msgstr "Праграма не адказвае на запыты."
#: src/core/meta-close-dialog-default.c:154
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr ""
"Вы можаце альбо крыху пачакаць адказу, альбо змусіць праграму да выхаду."
#: src/core/meta-close-dialog-default.c:161
msgid "_Force Quit"
msgstr "_Змусіць да выхаду"
#: src/core/meta-close-dialog-default.c:161
msgid "_Wait"
msgstr "_Пачакаць"
#: src/core/mutter.c:39 #: src/core/mutter.c:39
#, c-format #, c-format
msgid "" msgid ""

988
po/bg.po

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,7 @@
# Jesús Moreno <jmmolas@wanadoo.es>, 2002. # Jesús Moreno <jmmolas@wanadoo.es>, 2002.
# Jordi Mallach <jordi@sindominio.net>, 2003, 2004, 2005, 2006, 2007, 2008. # Jordi Mallach <jordi@sindominio.net>, 2003, 2004, 2005, 2006, 2007, 2008.
# David Planella <david.planella@gmail.com>, 2008, 2009, 2011, 2012. # David Planella <david.planella@gmail.com>, 2008, 2009, 2011, 2012.
# Jordi Serratosa <jordis@softcatala.cat>, 2012. # Jordi Serratosa <jordis@softcatala.cat>, 2012, 2017.
# Gil Forcada <gilforcada@guifi.net>, 2012, 2013, 2014, 2016. # Gil Forcada <gilforcada@guifi.net>, 2012, 2013, 2014, 2016.
# #
msgid "" msgid ""
@@ -13,16 +13,16 @@ msgstr ""
"Project-Id-Version: metacity 2.24\n" "Project-Id-Version: metacity 2.24\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n" "product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-07-26 13:44+0000\n" "POT-Creation-Date: 2017-08-29 16:09+0000\n"
"PO-Revision-Date: 2017-07-2614:45+0100\n" "PO-Revision-Date: 2017-08-25 13:23+0200\n"
"Last-Translator: Jordi Mas <jmas@softcatala.org>\n" "Last-Translator: Jordi Mas <jmas@softcatala.org>\n"
"Language-Team: Catalan <tradgnome@softcatala.org>\n" "Language-Team: Catalan <tradgnome@softcatala.org>\n"
"Language: ca\n" "Language: ca\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: 8bits\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.6\n" "X-Generator: Poedit 2.0.1\n"
#: data/50-mutter-navigation.xml:6 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
@@ -240,7 +240,7 @@ msgstr ""
#: data/50-mutter-windows.xml:31 #: data/50-mutter-windows.xml:31
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Alça la finestra si està coberta per una altra, o sinó baixa-la" msgstr "Alça la finestra si està coberta per una altra; altrament, baixa-la"
#: data/50-mutter-windows.xml:33 #: data/50-mutter-windows.xml:33
msgid "Raise window above other windows" msgid "Raise window above other windows"
@@ -306,7 +306,7 @@ msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:30 #: 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 ""
"Habilita la tesselització a les vores en deixar anar les finestres a les " "Habilita la tessel·lització a les vores en deixar anar les finestres a les "
"vores de la pantalla" "vores de la pantalla"
#: data/org.gnome.mutter.gschema.xml.in:31 #: data/org.gnome.mutter.gschema.xml.in:31
@@ -421,29 +421,28 @@ 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 ""
#: 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 "Selecció de finestra entre les emergents d'una pestanya" msgstr "Selecció de finestra entre les emergents d'una pestanya"
#: 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 "Cancel·lació de les finestres emergents a les pestanyes" msgstr "Cancel·lació de les finestres emergents a les pestanyes"
#: 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 "Canvia configuracions de monitor" msgstr "Canvia configuracions de monitor"
#: 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 "Gira la configuració del monitor integrada" msgstr "Gira la configuració del monitor integrada"
@@ -495,10 +494,14 @@ msgstr "Canvia al terminal virtual 11"
msgid "Switch to VT 12" msgid "Switch to VT 12"
msgstr "Canvia al terminal virtual 12" msgstr "Canvia al terminal virtual 12"
#: data/org.gnome.mutter.wayland.gschema.xml.in:54
msgid "Re-enable shortcuts"
msgstr "Torna a habilitar les dreceres"
#. 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:2151
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Mode de commutació (grup %d)" msgstr "Mode de commutació (grup %d)"
@@ -506,30 +509,30 @@ msgstr "Mode de commutació (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:2174
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Commuta el monitor" msgstr "Commuta el monitor"
#: src/backends/meta-input-settings.c:2143 #: src/backends/meta-input-settings.c:2176
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Mostra l'ajuda en pantalla" msgstr "Mostra l'ajuda en pantalla"
#: src/backends/meta-monitor-manager.c:925 #: src/backends/meta-monitor-manager.c:903
msgid "Built-in display" msgid "Built-in display"
msgstr "Pantalla integrada" msgstr "Pantalla integrada"
#: src/backends/meta-monitor-manager.c:948 #: src/backends/meta-monitor-manager.c:926
msgid "Unknown" msgid "Unknown"
msgstr "Desconeguda" msgstr "Desconeguda"
#: src/backends/meta-monitor-manager.c:950 #: src/backends/meta-monitor-manager.c:928
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Pantalla desconeguda" msgstr "Pantalla desconeguda"
#. 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:936
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"

File diff suppressed because it is too large Load Diff

260
po/cs.po
View File

@@ -6,17 +6,16 @@
# 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-08-02 10:05+0000\n" "PO-Revision-Date: 2018-03-07 19:28+0100\n"
"PO-Revision-Date: 2017-08-03 08:15+0200\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"
"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"
@@ -50,134 +49,118 @@ 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"
#: 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"
@@ -189,6 +172,10 @@ msgstr "Zobrazit řádek ke spuštění příkazu"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Zobrazit přehled činností" msgstr "Zobrazit přehled činností"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Obnovit klávesové zkratky"
#: 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 "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"
@@ -410,43 +393,40 @@ 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 ""
"Chcete-li povolit experimentální funkce, přidejte klíčové slovo funkce do " "Chcete-li povolit experimentální funkce, přidejte klíčové slovo funkce do "
"seznamu. Zda funkce vyžaduje restartování kompozitoru, závisí na dané " "seznamu. Zda funkce vyžaduje restartování kompozitoru, závisí na dané "
"funkci. Ne u každé experimentální funkce je vyžadováno, aby byla stále " "funkci. Ne u každé experimentální funkce je vyžadováno, aby byla stále "
"dostupná nebo konfigurovatelná. Neočekávejte, že by bylo v tomto nastavení " "dostupná nebo konfigurovatelná. Neočekávejte, že by bylo v tomto nastavení "
"přidáno něco, co by do budoucna přineslo vylepšení. V současné době jsou " "přidáno něco, co by do budoucna přineslo vylepšení. V současné době jsou "
"možná tato klíčová slova: • „monitor-config-manager“ použijte se nový " "možná tato klíčová slova: • „scale-monitor-framebuffer“ zajistí, aby byl "
"systém nastavení monitoru, jehož cílem je nahradit starý. Poskytuje " "mutter výchozí pro logické uspořádání monitorů v logickém souřadnicovém "
"aplikacím pro nastavování API vyšší úrovně, stejně jako možnost nastavení " "prostoru pixelů, zatímco škáluje přímo v grafické vyrovnávací paměti, "
"podle logického škálování monitorů. • „scale-monitor-framebuffer“ zajistí, " "namísto v obsahu oken, aby se postaral o správu montorů s HiDPI. Nevyžaduje "
"aby byl mutter výchozí pro logické uspořádání monitorů v logickém " "restart. • „remote-desktop“ zapne podporu pro vzdálenou pracovní plochu. "
"souřadnicovém prostoru pixelů, zatímco škáluje přímo v grafické vyrovnávací " "Pro podporu vzdálené plochy se sdílením obrazovky musít být zapnuto také "
"paměti, namísto v obsahu oken, aby se postaral o správu montorů s HiDPI. " "„screen-cast“. • „screen-cast“ zapne podporu pro vysílání obsahu obrazovky."
"Nevyžaduje restart. Aby tato funkce fungovala, je zapotřebí povolit rovněž "
"„monitor-config-manager“."
#: 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 "Vybrat okno z překryvné nabídky tabulátoru" msgstr "Vybrat okno z překryvné nabídky tabulátoru"
#: 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 "Zrušit překryvné okno tabulátoru" msgstr "Zrušit překryvné okno tabulátoru"
#: 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 "Přepnout nastavení monitoru" msgstr "Přepnout nastavení monitoru"
#: 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 "Postupně mění vestavěná nastavení monitoru" msgstr "Postupně mění vestavěná nastavení monitoru"
@@ -502,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:2118 #: 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)"
@@ -513,37 +540,37 @@ 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:2141 #: 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:2143 #: 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"
#: src/backends/meta-monitor-manager.c:927 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Vestavěný displej" msgstr "Vestavěný displej"
#: src/backends/meta-monitor-manager.c:950 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Neznámý" msgstr "Neznámý"
#: src/backends/meta-monitor-manager.c:952 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Neznámý displej" msgstr "Neznámý 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:960 #: 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”."
@@ -558,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
@@ -649,7 +680,7 @@ msgstr "Zásuvný modul Mutter, který se má použít"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Plocha %d" msgstr "Plocha %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 "
@@ -658,7 +689,7 @@ msgstr ""
"Displej „%s“ již správce oken má; zkuste prosím nahradit aktuálního správce " "Displej „%s“ již správce oken má; zkuste prosím nahradit aktuálního správce "
"oken pomocí přepínače --replace." "oken pomocí přepínače --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 "Obrazovka %d na displeji „%s“ je neplatná\n" msgstr "Obrazovka %d na displeji „%s“ je neplatná\n"
@@ -667,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."
@@ -684,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í"

767
po/da.po

File diff suppressed because it is too large Load Diff

332
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. # 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-05-10 19:07+0000\n" "PO-Revision-Date: 2018-02-26 21:26+0100\n"
"PO-Revision-Date: 2017-05-12 17:35+0200\n" "Last-Translator: Tim Sabsch <tim@sabsch.com>\n"
"Last-Translator: Mario Blättermann <mario.blaettermann@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.1\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 +49,118 @@ 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 wechselen" 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"
#: 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"
@@ -188,6 +172,10 @@ msgstr "Den »Befehl ausführen«-Dialog anzeigen"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Aktivitäten-Übersicht anzeigen" msgstr "Aktivitäten-Übersicht anzeigen"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Die Tastenkombinationen wiederherstellen"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Fenster" msgstr "Fenster"
@@ -213,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"
@@ -319,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 ""
@@ -405,14 +389,13 @@ 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"
msgstr "Experimentelle Funktionsmerkmale aktivieren" msgstr "Experimentelle Funktionsmerkmale aktivieren"
#: data/org.gnome.mutter.gschema.xml.in:108 #: data/org.gnome.mutter.gschema.xml.in:108
#, fuzzy
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 "
@@ -421,23 +404,43 @@ 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 ""
"Um experimentelle Funktionsmerkmale zu aktivieren, fügen Sie das " "Um experimentelle Funktionsmerkmale zu aktivieren, fügen Sie das "
"entsprechende Schlüsselwort zur Liste hinzu. Möglicherweise muss der " "entsprechende Schlüsselwort zur Liste hinzu. Möglicherweise muss der "
"Compositor neu gestartet werden, um es zu aktivieren. Für diese " "Compositor neu gestartet werden, um es zu aktivieren, dies ist vom "
"experimentellen Funktionsmerkmale gilt, dass sie nicht unbedingt dauerhaft " "Funktionsmerkmal abhängig. Für diese experimentellen Funktionsmerkmale gilt, "
"verfügbar sein werden, oder Einstellungen möglich sind. Derzeit mögliche " "dass sie nicht unbedingt dauerhaft verfügbar sein werden, oder Einstellungen "
"Schlüsselwörter: • scale-monitor-framebuffer” — " "möglich sind. Derzeit mögliche Schlüsselwörter: • »scale-monitor-"
"framebuffer« weist Mutter an, in der Voreinstellung logische Bildschirme "
"in einem logischen Pixel-Koordinatensystem anzuordnen, wobei die Bildschirm-"
"Framebuffer anstelle der Fensterinhalte skaliert werden, um HiDPI-"
"Bildschirme besser versorgen zu können. Dafür ist kein Neustart "
"erforderlich. • »remote-desktop« aktiviert Remotedesktop-Unterstützung. Um "
"das Teilen von Bildschirmen mittels Remotedesktop zu unterstützen, muss "
"»screen-cast« ebenfalls aktiviert sein. • »screen-cast« aktiviert »screen "
"cast«-Unterstützung."
#: 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 "Fenster aus Tab-Anzeige auswählen" msgstr "Fenster aus Tab-Anzeige auswählen"
#: 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 "Tab-Anzeige abbrechen" msgstr "Tab-Anzeige abbrechen"
#: data/org.gnome.mutter.gschema.xml.in:155
msgid "Switch monitor configurations"
msgstr "Bildschirmkonfigurationen wechseln"
# Ich denke nicht, dass »rotate« hier die Bildschirmdrehung meint, sondern eher eine Liste aus Konfigurationen rotiert (d.h. umgewälzt) wird.
#: data/org.gnome.mutter.gschema.xml.in:160
msgid "Rotates the built-in monitor configuration"
msgstr "Wechselt die Konfiguration des eingebauten Bildschirms"
#: data/org.gnome.mutter.wayland.gschema.xml.in:6 #: data/org.gnome.mutter.wayland.gschema.xml.in:6
msgid "Switch to VT 1" msgid "Switch to VT 1"
msgstr "Zum virtuellen Terminal 1 wechseln" msgstr "Zum virtuellen Terminal 1 wechseln"
@@ -486,10 +489,63 @@ msgstr "Zum virtuellen Terminal 11 wechseln"
msgid "Switch to VT 12" msgid "Switch to VT 12"
msgstr "Zum virtuellen Terminal 12 wechseln" msgstr "Zum virtuellen Terminal 12 wechseln"
#: data/org.gnome.mutter.wayland.gschema.xml.in:54
msgid "Re-enable shortcuts"
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:1848 #: 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)"
@@ -497,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:1870 #: 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:1872 #: 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:783 #: 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:806 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Unbekannt" msgstr "Unbekannt"
#: src/backends/meta-monitor-manager.c:808 #: 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:816 #: 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:474 #: 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”."
@@ -539,17 +595,62 @@ msgstr ""
msgid "Bell event" msgid "Bell event"
msgstr "Klangereignis" msgstr "Klangereignis"
#: src/core/display.c:608
#, c-format
msgid "Failed to open X Window System display “%s”\n"
msgstr "X-Window-Systemanzeige »%s« konnte nicht geöffnet werden\n"
#: src/core/main.c:190
msgid "Disable connection to session manager"
msgstr "Verbindung zur Sitzungsverwaltung deaktivieren"
#: src/core/main.c:196
msgid "Replace the running window manager"
msgstr "Den aktuellen Fensterverwalter ersetzen"
#: src/core/main.c:202
msgid "Specify session management ID"
msgstr "Kennung der Sitzungsverwaltung angeben"
#: src/core/main.c:207
msgid "X Display to use"
msgstr "Zu verwendende X-Anzeige"
#: src/core/main.c:213
msgid "Initialize session from savefile"
msgstr "Sitzung anhand gespeicherter Datei starten"
#: src/core/main.c:219
msgid "Make X calls synchronous"
msgstr "X-Aufrufe abgleichen"
#: src/core/main.c:226
msgid "Run as a wayland compositor"
msgstr "Als Wayland-Compositor ausführen"
#: src/core/main.c:232
msgid "Run as a nested compositor"
msgstr "Als eingebetteten Compositor ausführen"
#: src/core/main.c:240
msgid "Run as a full display server, rather than nested"
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/delete.c:127 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
msgid "“%s” is not responding." msgid "“%s” is not responding."
msgstr "»%s« antwortet nicht." msgstr "»%s« antwortet nicht."
#: src/core/delete.c:129 #: src/core/meta-close-dialog-default.c:149
msgid "Application is not responding." msgid "Application is not responding."
msgstr "Die Anwendung antwortet nicht." msgstr "Die Anwendung antwortet nicht."
#: 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."
@@ -557,55 +658,14 @@ msgstr ""
"Sie können der Anwendung noch etwas Zeit geben oder ein sofortiges Beenden " "Sie können der Anwendung noch etwas Zeit geben oder ein sofortiges Beenden "
"erzwingen." "erzwingen."
#: src/core/delete.c:141 #: src/core/meta-close-dialog-default.c:161
msgid "_Force Quit" msgid "_Force Quit"
msgstr "_Beenden erzwingen" msgstr "_Beenden erzwingen"
#: src/core/delete.c:141 #: src/core/meta-close-dialog-default.c:161
msgid "_Wait" msgid "_Wait"
msgstr "_Warten" msgstr "_Warten"
#: src/core/display.c:608
#, c-format
msgid "Failed to open X Window System display “%s”\n"
msgstr "X-Window-Systemanzeige »%s« konnte nicht geöffnet werden\n"
#: src/core/main.c:189
msgid "Disable connection to session manager"
msgstr "Verbindung zur Sitzungsverwaltung deaktivieren"
#: src/core/main.c:195
msgid "Replace the running window manager"
msgstr "Den aktuellen Fensterverwalter ersetzen"
#: src/core/main.c:201
msgid "Specify session management ID"
msgstr "Kennung der Sitzungsverwaltung angeben"
#: src/core/main.c:206
msgid "X Display to use"
msgstr "Zu verwendende X-Anzeige"
#: src/core/main.c:212
msgid "Initialize session from savefile"
msgstr "Sitzung anhand gespeicherter Datei starten"
#: src/core/main.c:218
msgid "Make X calls synchronous"
msgstr "X-Aufrufe abgleichen"
#: src/core/main.c:225
msgid "Run as a wayland compositor"
msgstr "Als Wayland-Compositor ausführen"
#: src/core/main.c:231
msgid "Run as a nested compositor"
msgstr "Als eingebetteten Compositor ausführen"
#: src/core/main.c:239
msgid "Run as a full display server, rather than nested"
msgstr "Als vollwertigen Display-Server verwenden (nicht eingebettet)"
# CHECK # CHECK
# c-format # c-format
#: src/core/mutter.c:39 #: src/core/mutter.c:39
@@ -637,7 +697,7 @@ msgstr "Zu benutzendes Mutter-Plugin"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Arbeitsfläche %d" msgstr "Arbeitsfläche %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 "
@@ -646,7 +706,7 @@ msgstr ""
"Bildschirm »%s« hat bereits einen Fensterverwalter. Versuchen Sie die Option " "Bildschirm »%s« hat bereits einen Fensterverwalter. Versuchen Sie die Option "
"»--replace«, um den aktuellen Fensterverwalter zu ersetzen." "»--replace«, um den aktuellen Fensterverwalter zu ersetzen."
#: 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 "Bildschirm %d auf Anzeige »%s« ist ungültig\n" msgstr "Bildschirm %d auf Anzeige »%s« ist ungültig\n"
@@ -655,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)"

237
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-08-02 10:05+0000\n" "PO-Revision-Date: 2018-02-22 12:34+0100\n"
"PO-Revision-Date: 2017-08-03 09:59+0200\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,134 +49,118 @@ 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"
#: 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 "Mostrar el elemento «ejecutar comando»"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Mostrar la vista de actividades" msgstr "Mostrar la vista de actividades"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Restaurar los atajos de teclado"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Ventanas" msgstr "Ventanas"
@@ -214,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"
@@ -419,44 +402,40 @@ 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 ""
"Para activar las características experimentales, añada la palabra clave de " "Para activar las características experimentales, añada la palabra clave de "
"la característica a la lista. Depende de la característica que se deba " "la característica a la lista. Depende de la característica que se deba "
"reiniciar o no el compositor. Cualquier característica experimental puede no " "reiniciar o no el compositor. Cualquier característica experimental puede no "
"estar disponible o ser configurable. No espere que lo que se añada en este " "estar disponible o ser configurable. No espere que lo que se añada en este "
"escenario sirva como prueba futura. Las palabras clave actualmente " "escenario sirva como prueba futura. Las palabras clave actualmente "
"disponibles son: • \"monitor-config-manager\" - utiliza el nuevo sistema de " "disponibles son: • \"scale-monitor-framebuffer\" - convierte a mutter en la "
"configuración del monitor, destinado a sustituir el antiguo. Esto permite " "manera predeterminada de disponer monitores lógicos en un espacio lógico de "
"que las aplicaciones de configuración usen una API de configuración de nivel "
"superior, así como la capacidad de configurar el escalado de monitores "
"lógicos. • \"scale-monitor-framebuffer\" - convierte a mutter en ña manera "
"predeterminada de disponer monitores lógicos en un espacio lógico de "
"coordenadas de píxeles, al escalar framebuffers de monitores framebuffers en " "coordenadas de píxeles, al escalar framebuffers de monitores framebuffers en "
"lugar del contenido de ventana, para administrar monitores HiDPI. No " "lugar del contenido de ventana, para administrar monitores HiDPI. No "
"requiere un reinicio. También es necesario activar \"monitor-config-manager" "requiere un reinicio. • \"remote-desktop\" — activa el escritorio remoto. "
"\" para activar esta función." "Para soportarlo con compartición de pantalla es necesario activar \"screen-"
"cast\" • \"screen-cast\" — activa el soporte de compartición de pantalla."
#: 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 "Seleccionar ventana de la pestaña emergente" msgstr "Seleccionar ventana de la pestaña emergente"
#: 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 "Cancelar pestaña emergente" msgstr "Cancelar pestaña emergente"
#: 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 "Cambiar la configuración del monitor" msgstr "Cambiar la configuración del monitor"
#: 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 "Rota la configuración del monitor empotrado" msgstr "Rota la configuración del monitor empotrado"
@@ -512,10 +491,41 @@ 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.
#. #.
#: 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 "Cambiar modo (grupo %d)" msgstr "Cambiar modo (grupo %d)"
@@ -523,37 +533,37 @@ msgstr "Cambiar 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:2141 #: src/backends/meta-input-settings.c:2283
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Cambiar monitor" msgstr "Cambiar monitor"
#: 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 "Mostrar la ayuda en pantalla" msgstr "Mostrar la ayuda en pantalla"
#: src/backends/meta-monitor-manager.c:927 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Pantalla integrada" msgstr "Pantalla integrada"
#: src/backends/meta-monitor-manager.c:950 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Desconocida" msgstr "Desconocida"
#: src/backends/meta-monitor-manager.c:952 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Pantalla desconocida" msgstr "Pantalla desconocida"
#. 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:960 #: 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”."
@@ -570,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
@@ -661,7 +675,7 @@ msgstr "Complemento de mutter que usar"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Área de trabajo %d" msgstr "Área de trabajo %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 "
@@ -670,7 +684,7 @@ msgstr ""
"La pantalla «%s» ya tiene un gestor de ventanas; pruebe a usar la opción «--" "La pantalla «%s» ya tiene un gestor de ventanas; pruebe a usar la opción «--"
"replace» para reemplazar el gestor de ventanas activo." "replace» para reemplazar el gestor de ventanas activo."
#: 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 "La ventana %d en la pantalla «%s» no es válida\n" msgstr "La ventana %d en la pantalla «%s» no es válida\n"
@@ -684,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."
@@ -697,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

156
po/eu.po
View File

@@ -8,10 +8,10 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter master\n" "Project-Id-Version: mutter master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n" "product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-16 01:44+0000\n" "POT-Creation-Date: 2017-08-21 04:46+0000\n"
"PO-Revision-Date: 2017-02-16 22:07+0100\n" "PO-Revision-Date: 2017-08-27 16:47+0200\n"
"Last-Translator: Iñaki Larrañaga Murgoitio <dooteo@zundan.com>\n" "Last-Translator: Iñaki Larrañaga Murgoitio <dooteo@zundan.com>\n"
"Language-Team: Basque <librezale@librezale.eus>\n" "Language-Team: Basque <librezale@librezale.eus>\n"
"Language: eu\n" "Language: eu\n"
@@ -270,11 +270,6 @@ msgid "Modifier to use for extended window management operations"
msgstr "Aldatzailea leihoak kudeatzeko eragiketa hedatuetan erabiltzeko" msgstr "Aldatzailea leihoak kudeatzeko eragiketa hedatuetan erabiltzeko"
#: data/org.gnome.mutter.gschema.xml.in:8 #: data/org.gnome.mutter.gschema.xml.in:8
#| msgid ""
#| "This key will initiate the \"overlay\", which is a combination window "
#| "overview and application launching system. The default is intended to be "
#| "the \"Windows key\" on PC hardware. It's expected that this binding "
#| "either the default or set to the empty string."
msgid "" msgid ""
"This key will initiate the “overlay”, which is a combination window overview " "This key will initiate the “overlay”, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows " "and application launching system. The default is intended to be the “Windows "
@@ -320,10 +315,6 @@ msgid "Workspaces are managed dynamically"
msgstr "Laneko areak dinamikoki kudeatzen dira" msgstr "Laneko areak dinamikoki kudeatzen dira"
#: data/org.gnome.mutter.gschema.xml.in:41 #: data/org.gnome.mutter.gschema.xml.in:41
#| msgid ""
#| "Determines whether workspaces are managed dynamically or whether there's "
#| "a static number of workspaces (determined by the num-workspaces key in "
#| "org.gnome.desktop.wm.preferences)."
msgid "" msgid ""
"Determines whether workspaces are managed dynamically or whether theres 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."
@@ -362,10 +353,6 @@ msgid "Delay focus changes until the pointer stops moving"
msgstr "Atzeratu fokuaren aldaketa erakuslea mugitzeari utzi arte" msgstr "Atzeratu fokuaren aldaketa erakuslea mugitzeari utzi arte"
#: data/org.gnome.mutter.gschema.xml.in:69 #: data/org.gnome.mutter.gschema.xml.in:69
#| msgid ""
#| "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
#| "the focus will not be changed immediately when entering a window, but "
#| "only after the pointer stops moving."
msgid "" msgid ""
"If set to true, and the focus mode is either “sloppy” or “mouse” then the " "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 " "focus will not be changed immediately when entering a window, but only after "
@@ -380,9 +367,6 @@ msgid "Draggable border width"
msgstr "Ertz arrastragarriaren zabalera" msgstr "Ertz arrastragarriaren zabalera"
#: data/org.gnome.mutter.gschema.xml.in:80 #: data/org.gnome.mutter.gschema.xml.in:80
#| msgid ""
#| "The amount of total draggable borders. If the theme's visible borders are "
#| "not enough, invisible borders will be added to meet this value."
msgid "" msgid ""
"The amount of total draggable borders. If the themes 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."
@@ -414,14 +398,50 @@ msgstr ""
"TRUE (egia) denean, leiho berriak beti jarriko dira monitorearen pantaila " "TRUE (egia) denean, leiho berriak beti jarriko dira monitorearen pantaila "
"aktiboaren zentroan." "aktiboaren zentroan."
#: data/org.gnome.mutter.gschema.xml.in:120 #: data/org.gnome.mutter.gschema.xml.in:107
msgid "Enable experimental features"
msgstr "Gaitu eginbide esperimentalak"
#: data/org.gnome.mutter.gschema.xml.in:108
msgid ""
"To enable experimental features, add the feature keyword to the list. "
"Whether the feature requires restarting the compositor depends on the given "
"feature. Any experimental feature is not required to still be available, or "
"configurable. Dont expect adding anything in this setting to be future "
"proof. Currently possible keywords: • “scale-monitor-framebuffer” — makes "
"mutter default to layout logical monitors in a logical pixel coordinate "
"space, while scaling monitor framebuffers instead of window content, to "
"manage HiDPI monitors. Does not require a restart."
msgstr ""
"Eginbide esperimentalak gaitzeko, gehitu eginbidearen gakoa zerrendari. "
"Eginbideak osatzailea berrabiaraztea behar duen edo ez emandako eginbidearen "
"arabera dago. Ez da derrigorrezkoa edozer eginbide esperimental eskuragarri "
"edo konfiguragarria egotea. Ez uste ezarpen honetan edozer gehitzeak "
"etorkizuneko "
"proba izango denik. Gako erabilgarriak: "
"• “scale-monitor-framebuffer” — honek mutter monitoreen diseinu logikoetara "
"lehenesten du espazioaren koordenatuko pixel logikoetan (leihoaren edukiaren "
"ordez "
"monitorearen framebufferra eskalatzean) HiDPI monitoreak kudeatzeko. Ez du "
"berrabiaraztea eskatzen."
#: data/org.gnome.mutter.gschema.xml.in:141
msgid "Select window from tab popup" msgid "Select window from tab popup"
msgstr "Hautatu leihoa laster-fitxatik" msgstr "Hautatu leihoa laster-fitxatik"
#: data/org.gnome.mutter.gschema.xml.in:125 #: data/org.gnome.mutter.gschema.xml.in:146
msgid "Cancel tab popup" msgid "Cancel tab popup"
msgstr "Utzi laster-fitxa" msgstr "Utzi laster-fitxa"
#: data/org.gnome.mutter.gschema.xml.in:151
#| msgid "Switch monitor"
msgid "Switch monitor configurations"
msgstr "Aldatu monitorearen konfigurazioak"
#: data/org.gnome.mutter.gschema.xml.in:156
msgid "Rotates the built-in monitor configuration"
msgstr "Biratu barneko monitorearen konfigurazioa"
#: data/org.gnome.mutter.wayland.gschema.xml.in:6 #: data/org.gnome.mutter.wayland.gschema.xml.in:6
msgid "Switch to VT 1" msgid "Switch to VT 1"
msgstr "Aldatu 1. TBra" msgstr "Aldatu 1. TBra"
@@ -470,92 +490,65 @@ msgstr "Aldatu 11. TBra"
msgid "Switch to VT 12" msgid "Switch to VT 12"
msgstr "Aldatu 12. TBra" msgstr "Aldatu 12. TBra"
#: data/org.gnome.mutter.wayland.gschema.xml.in:54
msgid "Re-enable shortcuts"
msgstr "Gaitu berriro laster-teklak"
#. 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:1759 #: src/backends/meta-input-settings.c:2151
#, c-format #, c-format
#| msgid "Mode Switch: Mode %d"
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Modu aldaketa (%d taldea)" msgstr "Modu aldaketa (%d taldea)"
#. 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:1781 #: src/backends/meta-input-settings.c:2174
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Aldatu monitorea" msgstr "Aldatu monitorea"
#: src/backends/meta-input-settings.c:1783 #: src/backends/meta-input-settings.c:2176
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Erakutsi pantailako laguntza" msgstr "Erakutsi pantailako laguntza"
#: src/backends/meta-monitor-manager.c:675 #: src/backends/meta-monitor-manager.c:903
msgid "Built-in display" msgid "Built-in display"
msgstr "Bertako pantaila" msgstr "Bertako pantaila"
#: src/backends/meta-monitor-manager.c:698 #: src/backends/meta-monitor-manager.c:926
msgid "Unknown" msgid "Unknown"
msgstr "Ezezaguna" msgstr "Ezezaguna"
#: src/backends/meta-monitor-manager.c:700 #: src/backends/meta-monitor-manager.c:928
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Pantaila ezezaguna" msgstr "Pantaila ezezaguna"
#. 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:708 #: src/backends/meta-monitor-manager.c:936
#, 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:476
#, c-format #, 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 "" msgstr ""
"Dagoeneko beste konposatze-kudeatzailea ari da exekutatzen “%2$s“ " "Dagoeneko beste konposatze-kudeatzailea ari da exekutatzen “%2$s“ pantailako "
"pantailako %1$i. monitorean." "%1$i. monitorean."
#: src/core/bell.c:194 #: src/core/bell.c:194
msgid "Bell event" msgid "Bell event"
msgstr "Soinuaren gertaera" msgstr "Soinuaren gertaera"
#. Translators: %s is a window title
#: src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "'%s'(e)k ez du erantzuten."
#: src/core/delete.c:129
msgid "Application is not responding."
msgstr "Aplikazioak ez du erantzuten."
#: src/core/delete.c:134
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr ""
"Aukeratu piskatean zai egotea aplikazioak jarraitzeko edo derrigortu "
"aplikazioa erabat ixtea."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Behartu ixtera"
#: src/core/delete.c:141
msgid "_Wait"
msgstr "_Itxaron"
#: src/core/display.c:608 #: src/core/display.c:608
#, c-format #, c-format
#| msgid "Failed to open X Window System display '%s'\n"
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Huts egin du X Window sistemaren “%s“ pantaila irekitzean\n" msgstr "Huts egin du X Window sistemaren “%s“ pantaila irekitzean\n"
@@ -595,14 +588,34 @@ msgstr "Exekutatu habiaratutako konposatzaile gisa"
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Exekutatu pantaila-zerbitzari oso bezala, habiaratuta baino" msgstr "Exekutatu pantaila-zerbitzari oso bezala, habiaratuta baino"
#. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147
#, c-format
msgid "“%s” is not responding."
msgstr "'%s'(e)k ez du erantzuten."
#: src/core/meta-close-dialog-default.c:149
msgid "Application is not responding."
msgstr "Aplikazioak ez du erantzuten."
#: src/core/meta-close-dialog-default.c:154
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr ""
"Aukeratu piskatean zai egotea aplikazioak jarraitzeko edo derrigortu "
"aplikazioa erabat ixtea."
#: src/core/meta-close-dialog-default.c:161
msgid "_Force Quit"
msgstr "_Behartu ixtera"
#: src/core/meta-close-dialog-default.c:161
msgid "_Wait"
msgstr "_Itxaron"
#: src/core/mutter.c:39 #: 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 © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n" "Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
@@ -631,9 +644,6 @@ msgstr "%d. laneko area"
#: src/core/screen.c:580 #: src/core/screen.c:580
#, c-format #, c-format
#| msgid ""
#| "Display \"%s\" already has a window manager; try using the --replace "
#| "option to replace the current window manager."
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 "
"replace the current window manager." "replace the current window manager."
@@ -643,7 +653,6 @@ msgstr ""
#: src/core/screen.c:665 #: src/core/screen.c:665
#, c-format #, c-format
#| msgid "Screen %d on display '%s' is invalid\n"
msgid "Screen %d on display “%s” is invalid\n" msgid "Screen %d on display “%s” is invalid\n"
msgstr "“%2$s“ bistaratzeko %1$d pantaila ez da baliozkoa\n" msgstr "“%2$s“ bistaratzeko %1$d pantaila ez da baliozkoa\n"
@@ -657,9 +666,6 @@ msgid "Mode Switch: Mode %d"
msgstr "Modu aldaketa: %d modua" msgstr "Modu aldaketa: %d modua"
#: src/x11/session.c:1815 #: src/x11/session.c:1815
#| msgid ""
#| "These windows do not support &quot;save current setup&quot; and will have "
#| "to be restarted manually next time you log in."
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."

455
po/fi.po
View File

@@ -12,10 +12,10 @@
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?" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n" "product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-03-13 11:15+0000\n" "POT-Creation-Date: 2017-08-29 16:09+0000\n"
"PO-Revision-Date: 2015-03-13 17:52+0200\n" "PO-Revision-Date: 2017-08-30 19:16+0300\n"
"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n" "Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
"Language-Team: suomi <gnome-fi-laatu@lists.sourceforge.net>\n" "Language-Team: suomi <gnome-fi-laatu@lists.sourceforge.net>\n"
"Language: fi\n" "Language: fi\n"
@@ -24,282 +24,288 @@ 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-POT-Import-Date: 2012-02-19 15:25:23+0000\n" "X-POT-Import-Date: 2012-02-19 15:25:23+0000\n"
"X-Generator: Gtranslator 2.91.6\n" "X-Generator: Poedit 1.8.7.1\n"
#: ../data/50-mutter-navigation.xml.in.h:1 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
msgstr "Navigointi" msgstr "Navigointi"
#: ../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 "Siirrä ikkuna työtilaan 1" msgstr "Siirrä ikkuna työtilaan 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 "Siirrä ikkuna työtilaan 2" msgstr "Siirrä ikkuna työtilaan 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 "Siirrä ikkuna työtilaan 3" msgstr "Siirrä ikkuna työtilaan 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 "Siirrä ikkuna työtilaan 4" msgstr "Siirrä ikkuna työtilaan 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 "Siirrä ikkuna viimeiseen työtilaan" msgstr "Siirrä ikkuna viimeiseen työtilaan"
#: ../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 "Siirrä ikkunaa yksi työtila vasemmalle" msgstr "Siirrä ikkunaa yksi työtila vasemmalle"
#: ../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 "Siirrä ikkunaa yksi työtila oikealle" msgstr "Siirrä ikkunaa yksi työtila oikealle"
#: ../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 "Siirrä ikkunaa yksi työtila ylös" msgstr "Siirrä ikkunaa yksi työtila ylös"
#: ../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 "Siirrä ikkunaa yksi työtila alas" msgstr "Siirrä ikkunaa yksi työtila alas"
#: ../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 "Siirrä ikkuna yhden näytön verran vasemmalle" msgstr "Siirrä ikkuna yhden näytön verran vasemmalle"
#: ../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 "Siirrä ikkuna yhden näytön verran oikealle" msgstr "Siirrä ikkuna yhden näytön verran oikealle"
#: ../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 "Siirrä ikkuna yhden näytön verran ylös" msgstr "Siirrä ikkuna yhden näytön verran ylös"
#: ../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 "Siirrä ikkuna yhden näytön verran alas" msgstr "Siirrä ikkuna yhden näytön verran alas"
#: ../data/50-mutter-navigation.xml.in.h:15 #: data/50-mutter-navigation.xml:49
msgid "Switch applications" msgid "Switch applications"
msgstr "Vaihda sovelluksia" msgstr "Vaihda sovelluksia"
#: ../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 "Vaihda edelliseen sovellukseen" msgstr "Vaihda edelliseen sovellukseen"
#: ../data/50-mutter-navigation.xml.in.h:17 #: data/50-mutter-navigation.xml:58
msgid "Switch windows" msgid "Switch windows"
msgstr "Vaihda ikkunoita" msgstr "Vaihda ikkunoita"
#: ../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 "Vaihda edelliseen ikkunaan" msgstr "Vaihda edelliseen ikkunaan"
#: ../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 "Vaihda sovelluksen ikkunoiden välillä" msgstr "Vaihda sovelluksen ikkunoiden välillä"
#: ../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 "Vaihda sovelluksen edelliseen ikkunaan" msgstr "Vaihda sovelluksen edelliseen ikkunaan"
#: ../data/50-mutter-navigation.xml.in.h:21 #: data/50-mutter-navigation.xml:76
#, fuzzy #, fuzzy
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Vaihda järjestelmän kontrolleja" msgstr "Vaihda järjestelmän kontrolleja"
#: ../data/50-mutter-navigation.xml.in.h:22 #: data/50-mutter-navigation.xml:81
#, fuzzy #, fuzzy
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Vaihda järjestelmän kontrolleja" msgstr "Vaihda järjestelmän kontrolleja"
#: ../data/50-mutter-navigation.xml.in.h:23 #: data/50-mutter-navigation.xml:85
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Vaihda ikkunoita suoraan" msgstr "Vaihda ikkunoita suoraan"
#: ../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 "Vaihda suoraan edelliseen ikkunaan" msgstr "Vaihda suoraan edelliseen ikkunaan"
#: ../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 "Vaihda sovelluksen ikkunoiden välillä suoraan" msgstr "Vaihda sovelluksen ikkunoiden välillä suoraan"
#: ../data/50-mutter-navigation.xml.in.h:26 #: data/50-mutter-navigation.xml:99
#, fuzzy #, fuzzy
#| msgid "Switch windows of an application" #| msgid "Switch windows of an application"
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Vaihda sovelluksen ikkunoiden välillä" msgstr "Vaihda sovelluksen ikkunoiden välillä"
#: ../data/50-mutter-navigation.xml.in.h:27 #: data/50-mutter-navigation.xml:103
#, fuzzy #, fuzzy
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Vaihda järjestelmän kontrolleja suoraan" msgstr "Vaihda järjestelmän kontrolleja suoraan"
#: ../data/50-mutter-navigation.xml.in.h:28 #: data/50-mutter-navigation.xml:108
#, fuzzy #, fuzzy
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Vaihda järjestelmän kontrolleja" msgstr "Vaihda järjestelmän kontrolleja"
#: ../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 "Piilota kaikki tavalliset ikkunat" msgstr "Piilota kaikki tavalliset ikkunat"
#: ../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 "Siirry työtilaan 1" msgstr "Siirry työtilaan 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 "Siirry työtilaan 2" msgstr "Siirry työtilaan 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 "Siirry työtilaan 3" msgstr "Siirry työtilaan 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 "Siirry työtilaan 4" msgstr "Siirry työtilaan 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 "Siirry viimeiseen työtilaan" msgstr "Siirry viimeiseen työtilaan"
#: ../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 "Siirrä vasemmalla olevaan työtilaan" msgstr "Siirrä vasemmalla olevaan työtilaan"
#: ../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 "Siirrä oikealla olevaan työtilaan" msgstr "Siirrä oikealla olevaan työtilaan"
#: ../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 "Siirrä yllä olevaan työtilaan" msgstr "Siirrä yllä olevaan työtilaan"
#: ../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 "Siirrä alla olevaan työtilaan" msgstr "Siirrä alla olevaan työtilaan"
#: ../data/50-mutter-system.xml.in.h:1 #: data/50-mutter-system.xml:6
msgid "System" msgid "System"
msgstr "Järjestelmä" msgstr "Järjestelmä"
#: ../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 "Näytä komennonsuorituskehote" msgstr "Näytä komennonsuorituskehote"
#: ../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 "Näytä toimintojen yleisnäkymä" msgstr "Näytä toimintojen yleisnäkymä"
#: ../data/50-mutter-windows.xml.in.h:1 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Ikkunat" msgstr "Ikkunat"
#: ../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 "Aktivoi ikkunavalikko" msgstr "Aktivoi ikkunavalikko"
#: ../data/50-mutter-windows.xml.in.h:3 #: data/50-mutter-windows.xml:10
msgid "Toggle fullscreen mode" msgid "Toggle fullscreen mode"
msgstr "Vaihda koko näytön tilaan tai pois" msgstr "Vaihda koko näytön tilaan tai pois"
#: ../data/50-mutter-windows.xml.in.h:4 #: data/50-mutter-windows.xml:12
#, fuzzy #, fuzzy
msgid "Toggle maximization state" msgid "Toggle maximization state"
msgstr "Vaihda suurennustilaa" msgstr "Vaihda suurennustilaa"
#: ../data/50-mutter-windows.xml.in.h:5 #: data/50-mutter-windows.xml:14
msgid "Maximize window" msgid "Maximize window"
msgstr "Suurenna ikkuna" msgstr "Suurenna ikkuna"
#: ../data/50-mutter-windows.xml.in.h:6 #: data/50-mutter-windows.xml:16
msgid "Restore window" msgid "Restore window"
msgstr "Palauta ikkunan koko" msgstr "Palauta ikkunan koko"
#: ../data/50-mutter-windows.xml.in.h:7 #: data/50-mutter-windows.xml:18
#, fuzzy #, fuzzy
msgid "Toggle shaded state" msgid "Toggle shaded state"
msgstr "Vaihda rullaustilaa" msgstr "Vaihda rullaustilaa"
#: ../data/50-mutter-windows.xml.in.h:8 #: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Sulje ikkuna" msgstr "Sulje ikkuna"
#: ../data/50-mutter-windows.xml.in.h:9 #: data/50-mutter-windows.xml:22
msgid "Hide window" msgid "Hide window"
msgstr "Piilota ikkuna" msgstr "Piilota ikkuna"
#: ../data/50-mutter-windows.xml.in.h:10 #: data/50-mutter-windows.xml:24
msgid "Move window" msgid "Move window"
msgstr "Siirrä ikkunaa" msgstr "Siirrä ikkunaa"
#: ../data/50-mutter-windows.xml.in.h:11 #: data/50-mutter-windows.xml:26
msgid "Resize window" msgid "Resize window"
msgstr "Muuta ikkunan kokoa" msgstr "Muuta ikkunan kokoa"
#: ../data/50-mutter-windows.xml.in.h:12 #: data/50-mutter-windows.xml:29
#, fuzzy #, fuzzy
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Valitse onko ikkuna yhdessä vai kaikissa työtiloissa" msgstr "Valitse onko ikkuna yhdessä vai kaikissa työtiloissa"
#: ../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 "Nosta ikkuna, jos se on peittynyt, muuten laske se" msgstr "Nosta ikkuna, jos se on peittynyt, muuten laske se"
#: ../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 "Nosta ikkuna muiden päälle" msgstr "Nosta ikkuna muiden päälle"
#: ../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 "Laske ikkuna muiden alle" msgstr "Laske ikkuna muiden alle"
#: ../data/50-mutter-windows.xml.in.h:16 #: data/50-mutter-windows.xml:37
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Suurenna ikkuna pystysuunnassa" msgstr "Suurenna ikkuna pystysuunnassa"
#: ../data/50-mutter-windows.xml.in.h:17 #: data/50-mutter-windows.xml:39
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Suurenna ikkuna vaakasuunnassa" msgstr "Suurenna ikkuna vaakasuunnassa"
#: ../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 "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 "Muunnosnäppäin laajennettuja ikkunoidenhallintatoimintoja varten" msgstr "Muunnosnäppäin laajennettuja ikkunoidenhallintatoimintoja varten"
#: ../data/org.gnome.mutter.gschema.xml.in.h:2 #: data/org.gnome.mutter.gschema.xml.in:8
#, fuzzy
#| msgid ""
#| "This key will initiate the \"overlay\", which is a combination window "
#| "overview and application launching system. The default is intended to be "
#| "the \"Windows key\" on PC hardware. It's expected that this binding "
#| "either the default or set to the empty string."
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 ""
"Tämä avain asettaa ”overlay”-tilan (peite), joka on yhdistelmä " "Tämä avain asettaa ”overlay”-tilan (peite), joka on yhdistelmä "
"ikkunoidenhallintaa ja sovellusten käynnistämisjärjestelmää. Oletuksena " "ikkunoidenhallintaa ja sovellusten käynnistämisjärjestelmää. Oletuksena "
"käytetään ”Windows”-näppäintä PC-tietokoneissa. Odotuksena on, että tämä " "käytetään ”Windows”-näppäintä PC-tietokoneissa. Odotuksena on, että tämä "
"näppäinsidos on joko oletus tai sen arvona on tyhjä." "näppäinsidos on joko oletus tai sen arvona on tyhjä."
#: ../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 "Liitä modaalisia valintaikkunoita" msgstr "Liitä modaalisia valintaikkunoita"
#: ../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 "
@@ -309,33 +315,33 @@ msgstr ""
"liitetään pääikkunan otsikkopalkkiin ja niitä siirretään yhdessä pääikkunan " "liitetään pääikkunan otsikkopalkkiin ja niitä siirretään yhdessä pääikkunan "
"kanssa." "kanssa."
#: ../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 "Työtilat hallitaan dynaamisesti" msgstr "Työtilat hallitaan dynaamisesti"
#: ../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 "Työtilat vain ensisijaisella" msgstr "Työtilat vain ensisijaisella"
#: ../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."
@@ -343,222 +349,289 @@ msgstr ""
"Määrittää tapahtuuko työtilan vaihto ikkunoille kaikilla näytöillä vaiko " "Määrittää tapahtuuko työtilan vaihto ikkunoille kaikilla näytöillä vaiko "
"vain ikkunoille ensisijaisella näytöllä." "vain ikkunoille ensisijaisella näytöllä."
#: ../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 ""
"Viivästytä kohdistuksen vaihtumista, kunnes osoitin lopettaa liikkumisen" "Viivästytä kohdistuksen vaihtumista, kunnes osoitin lopettaa liikkumisen"
#: ../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 "Raahattava reunaleveys" msgstr "Raahattava reunaleveys"
#: ../data/org.gnome.mutter.gschema.xml.in.h:16 #: data/org.gnome.mutter.gschema.xml.in:80
#, fuzzy
#| msgid ""
#| "The amount of total draggable borders. If the theme's visible borders are "
#| "not enough, invisible borders will be added to meet this value."
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 ""
"Raahattavien reunojen määrä yhteensä. Mikäli teeman näkyvät reunat eivät " "Raahattavien reunojen määrä yhteensä. Mikäli teeman näkyvät reunat eivät "
"riitä, näkymätöntä reunaa lisätään täyttämään tämä arvo." "riitä, näkymätöntä reunaa lisätään täyttämään tämä arvo."
#: ../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 "Aseta uudet ikkunat keskelle näyttöä" msgstr "Aseta uudet ikkunat keskelle näyttöä"
#: ../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 "Ota käyttöön kokeelliset ominaisuudet"
#: 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
#, fuzzy #, fuzzy
msgid "Select window from tab popup" msgid "Select window from tab popup"
msgstr "Poista ikkuna päältä" msgstr "Poista ikkuna päältä"
#: ../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
#| msgid "Switch applications"
msgid "Switch monitor configurations"
msgstr "Vaihda sovelluksia"
#: 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 "Siirry virtuaalikonsoliin 1" msgstr "Siirry virtuaalikonsoliin 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 "Siirry virtuaalikonsoliin 2" msgstr "Siirry virtuaalikonsoliin 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 "Siirry virtuaalikonsoliin 3" msgstr "Siirry virtuaalikonsoliin 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 "Siirry virtuaalikonsoliin 4" msgstr "Siirry virtuaalikonsoliin 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 "Siirry virtuaalikonsoliin 5" msgstr "Siirry virtuaalikonsoliin 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 "Siirry virtuaalikonsoliin 6" msgstr "Siirry virtuaalikonsoliin 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 "Siirry virtuaalikonsoliin 7" msgstr "Siirry virtuaalikonsoliin 7"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:8 #: data/org.gnome.mutter.wayland.gschema.xml.in:34
#| msgid "Switch to VT 1"
msgid "Switch to VT 8" msgid "Switch to VT 8"
msgstr "Siirry virtuaalikonsoliin 8" msgstr "Siirry virtuaalikonsoliin 8"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:9 #: data/org.gnome.mutter.wayland.gschema.xml.in:38
#| msgid "Switch to VT 1"
msgid "Switch to VT 9" msgid "Switch to VT 9"
msgstr "Siirry virtuaalikonsoliin 9" msgstr "Siirry virtuaalikonsoliin 9"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:10 #: data/org.gnome.mutter.wayland.gschema.xml.in:42
#| msgid "Switch to VT 1"
msgid "Switch to VT 10" msgid "Switch to VT 10"
msgstr "Siirry virtuaalikonsoliin 10" msgstr "Siirry virtuaalikonsoliin 10"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:11 #: data/org.gnome.mutter.wayland.gschema.xml.in:46
#| msgid "Switch to VT 1"
msgid "Switch to VT 11" msgid "Switch to VT 11"
msgstr "Siirry virtuaalikonsoliin 11" msgstr "Siirry virtuaalikonsoliin 11"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:12 #: data/org.gnome.mutter.wayland.gschema.xml.in:50
#| msgid "Switch to VT 1"
msgid "Switch to VT 12" msgid "Switch to VT 12"
msgstr "Siirry virtuaalikonsoliin 12" msgstr "Siirry virtuaalikonsoliin 12"
#: ../src/backends/meta-monitor-manager.c:364 #: data/org.gnome.mutter.wayland.gschema.xml.in:54
msgid "Re-enable shortcuts"
msgstr ""
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:2151
#, 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:2174
#, fuzzy
msgid "Switch monitor"
msgstr "Vaihda järjestelmän kontrolleja"
#: src/backends/meta-input-settings.c:2176
msgid "Show on-screen help"
msgstr ""
#: src/backends/meta-monitor-manager.c:903
msgid "Built-in display" msgid "Built-in display"
msgstr "Sisäänrakennettu näyttö" msgstr "Sisäänrakennettu näyttö"
#: ../src/backends/meta-monitor-manager.c:391 #: src/backends/meta-monitor-manager.c:926
msgid "Unknown" msgid "Unknown"
msgstr "Tuntematon" msgstr "Tuntematon"
#: ../src/backends/meta-monitor-manager.c:393 #: src/backends/meta-monitor-manager.c:928
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Tuntematon näyttö" msgstr "Tuntematon näyttö"
#. 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:936
#, 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:476
#, 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 "" msgstr ""
"Näytön ”%2$s” ruudullä %1$d on jo käynnissä toinen ikkunoidenladontaohjelman." "Näytön ”%2$s” ruudullä %1$d on jo käynnissä toinen ikkunoidenladontaohjelman."
#: ../src/core/bell.c:185 #: src/core/bell.c:194
msgid "Bell event" msgid "Bell event"
msgstr "Äänimerkki" msgstr "Äänimerkki"
#: ../src/core/delete.c:127 #: src/core/display.c:608
#, c-format
msgid "Failed to open X Window System display “%s”\n"
msgstr "X-ikkunointijärjestelmän näytön “%s” avaaminen epäonnistui\n"
#: src/core/main.c:189
msgid "Disable connection to session manager"
msgstr "Estä yhteys sessionhallintaan"
#: src/core/main.c:195
msgid "Replace the running window manager"
msgstr "Vaihda käytössä oleva ikkunanhallinta"
#: src/core/main.c:201
msgid "Specify session management ID"
msgstr "Anna sessionhallinnan ID"
#: src/core/main.c:206
msgid "X Display to use"
msgstr "Käytettävä X-näyttö"
#: src/core/main.c:212
msgid "Initialize session from savefile"
msgstr "Alusta sessio tiedostosta"
#: src/core/main.c:218
msgid "Make X calls synchronous"
msgstr "Käytä synkronisia X-kutsuja"
#: src/core/main.c:225
msgid "Run as a wayland compositor"
msgstr "Suorita wayland-koostajana"
#: src/core/main.c:231
#, fuzzy
#| msgid "Run as a wayland compositor"
msgid "Run as a nested compositor"
msgstr "Suorita wayland-koostajana"
#: 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 "\"%s\" ei vastaa." msgstr "\"%s\" ei vastaa."
#: ../src/core/delete.c:129 #: src/core/meta-close-dialog-default.c:149
msgid "Application is not responding." msgid "Application is not responding."
msgstr "Sovellus ei vastaa." msgstr "Sovellus ei vastaa."
#: ../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 ""
"Voit odottaa sovellusta vielä hetken tai sulkea sovelluksen väkisin heti." "Voit odottaa sovellusta vielä hetken tai sulkea sovelluksen väkisin heti."
#: ../src/core/delete.c:141 #: src/core/meta-close-dialog-default.c:161
msgid "_Wait"
msgstr "_Odota"
#: ../src/core/delete.c:141
msgid "_Force Quit" msgid "_Force Quit"
msgstr "Sulje _väkisin" msgstr "Sulje _väkisin"
#: ../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 "_Odota"
msgstr "X-ikkunointijärjestelmän näytön ”%s” avaaminen epäonnistui\n"
#: ../src/core/main.c:176 #: src/core/mutter.c:39
msgid "Disable connection to session manager" #, fuzzy, c-format
msgstr "Estä yhteys sessionhallintaan" #| msgid ""
#| "mutter %s\n"
#: ../src/core/main.c:182 #| "Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
msgid "Replace the running window manager" #| "This is free software; see the source for copying conditions.\n"
msgstr "Vaihda käytössä oleva ikkunanhallinta" #| "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
#| "PARTICULAR PURPOSE.\n"
#: ../src/core/main.c:188
msgid "Specify session management ID"
msgstr "Anna sessionhallinnan ID"
#: ../src/core/main.c:193
msgid "X Display to use"
msgstr "Käytettävä X-näyttö"
#: ../src/core/main.c:199
msgid "Initialize session from savefile"
msgstr "Alusta sessio tiedostosta"
#: ../src/core/main.c:205
msgid "Make X calls synchronous"
msgstr "Käytä synkronisia X-kutsuja"
#: ../src/core/main.c:212
msgid "Run as a wayland compositor"
msgstr "Suorita wayland-koostajana"
#: ../src/core/main.c:220
msgid "Run as a full display server, rather than nested"
msgstr ""
#: ../src/core/mutter.c:39
#, 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"
@@ -569,49 +642,59 @@ msgstr ""
"Ei MINKÄÄNLAISTA takuuta: ei edes takuuta MYYNTIKELPOISUUDESTA tai\n" "Ei MINKÄÄNLAISTA takuuta: ei edes takuuta MYYNTIKELPOISUUDESTA tai\n"
"SOPIVUUDESTA JOHONKIN KÄYTTÖÖN.\n" "SOPIVUUDESTA JOHONKIN KÄYTTÖÖN.\n"
#: ../src/core/mutter.c:53 #: src/core/mutter.c:53
msgid "Print version" msgid "Print version"
msgstr "Näytä versio" msgstr "Näytä versio"
#: ../src/core/mutter.c:59 #: src/core/mutter.c:59
msgid "Mutter plugin to use" msgid "Mutter plugin to use"
msgstr "Käytettävä Mutter-liitännäinen" msgstr "Käytettävä Mutter-liitännäinen"
#: ../src/core/prefs.c:2004 #: src/core/prefs.c:1997
#, c-format #, c-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Työtila %d" msgstr "Työtila %d"
#: ../src/core/screen.c:525 #: src/core/screen.c:580
#, c-format #, fuzzy, 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 ""
"Näytöllä ”%s” on jo ikkunointiohjelma: kokeile valitsinta --replace, jos " "Näytöllä ”%s” on jo ikkunointiohjelma: kokeile valitsinta --replace, jos "
"haluat korvata nykyisen ikkunointiohjelman." "haluat korvata nykyisen ikkunointiohjelman."
#: ../src/core/screen.c:607 #: src/core/screen.c:665
#, c-format #, fuzzy, c-format
msgid "Screen %d on display '%s' is invalid\n" #| msgid "Screen %d on display '%s' is invalid\n"
msgid "Screen %d on display “%s” is invalid\n"
msgstr "Näytön ”%2$s” ruutu %1$d ei ole kelvollinen\n" msgstr "Näytön ”%2$s” ruutu %1$d ei ole kelvollinen\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 "Mutter on käännetty ilman tukea monisanaisille ilmoituksille\n" msgstr "Mutter on käännetty ilman tukea monisanaisille ilmoituksille\n"
#: ../src/x11/session.c:1815 #: src/wayland/meta-wayland-tablet-pad.c:563
#, c-format
msgid "Mode Switch: Mode %d"
msgstr ""
#: src/x11/session.c:1815
#, fuzzy
#| msgid ""
#| "These windows do not support &quot;save current setup&quot; and will have "
#| "to be restarted manually next time you log in."
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 ""
"Nämä ikkunat eivät ymmärrä ”tallenna nykyinen tila”-komentoa, ja ne täytyy " "Nämä ikkunat eivät ymmärrä ”tallenna nykyinen tila”-komentoa, ja ne täytyy "
"käynnistää käsin uudelleen kun kirjaudut seuraavan kerran sisään." "käynnistää käsin uudelleen kun kirjaudut seuraavan kerran sisään."
#: ../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 @ %s" msgstr "%s @ %s"

418
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,22 +11,24 @@
# 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.
# Charles Monzat <superboa@hotmail.fr>, 2016. # Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2017.
# Charles Monzat <superboa@hotmail.fr>, 2016, 2017.
#
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-08-13 15:47+0000\n" "PO-Revision-Date: 2018-03-03 11:18+0100\n"
"PO-Revision-Date: 2017-08-15 09:16+0200\n"
"Last-Translator: Claude Paroz <claude@2xlibre.net>\n" "Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
"Language-Team: GNOME French Team <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"
#: data/50-mutter-navigation.xml:6 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
@@ -34,153 +36,137 @@ msgstr "Navigation"
#: data/50-mutter-navigation.xml:9 #: data/50-mutter-navigation.xml:9
msgid "Move window to workspace 1" msgid "Move window to workspace 1"
msgstr "Déplacer la fenêtre vers l'espace de travail 1" msgstr "Déplacer la fenêtre vers lespace de travail 1"
#: data/50-mutter-navigation.xml:12 #: data/50-mutter-navigation.xml:12
msgid "Move window to workspace 2" msgid "Move window to workspace 2"
msgstr "Déplacer la fenêtre vers l'espace de travail 2" msgstr "Déplacer la fenêtre vers lespace de travail 2"
#: data/50-mutter-navigation.xml:15 #: data/50-mutter-navigation.xml:15
msgid "Move window to workspace 3" msgid "Move window to workspace 3"
msgstr "Déplacer la fenêtre vers l'espace de travail 3" msgstr "Déplacer la fenêtre vers lespace de travail 3"
#: data/50-mutter-navigation.xml:18 #: data/50-mutter-navigation.xml:18
msgid "Move window to workspace 4" msgid "Move window to workspace 4"
msgstr "Déplacer la fenêtre vers l'espace de travail 4" msgstr "Déplacer la fenêtre vers lespace de travail 4"
#: data/50-mutter-navigation.xml:21 #: data/50-mutter-navigation.xml:21
msgid "Move window to last workspace" 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" msgid "Move window one workspace up"
msgstr "Déplacer la fenêtre d'un espace de travail vers la gauche" msgstr "Déplacer la fenêtre dun espace de travail vers le haut"
#: data/50-mutter-navigation.xml:27 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right" msgid "Move window one workspace down"
msgstr "Déplacer la fenêtre d'un espace de travail vers la droite" msgstr "Déplacer la fenêtre dun espace de travail vers le bas"
#: data/50-mutter-navigation.xml:30 #: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one monitor to the left"
msgstr "Déplacer la fenêtre d'un espace de travail vers le haut" msgstr "Déplacer la fenêtre dun écran vers la gauche"
#: data/50-mutter-navigation.xml:33 #: data/50-mutter-navigation.xml:33
msgid "Move window one workspace down" msgid "Move window one monitor to the right"
msgstr "Déplacer la fenêtre d'un espace de travail vers le bas" msgstr "Déplacer la fenêtre dun écran vers la droite"
#: data/50-mutter-navigation.xml:36 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor to the left" msgid "Move window one monitor up"
msgstr "Déplacer la fenêtre d'un écran vers la gauche" msgstr "Déplacer la fenêtre dun écran vers le haut"
#: data/50-mutter-navigation.xml:39 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor to the right"
msgstr "Déplacer la fenêtre d'un écran vers la droite"
#: data/50-mutter-navigation.xml:42
msgid "Move window one monitor up"
msgstr "Déplacer la fenêtre d'un écran vers le haut"
#: data/50-mutter-navigation.xml:45
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Déplacer la fenêtre d'un é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 d'application" 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 à l'application 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 d'une 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 d'une 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 d'une 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 d'une 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 à l'espace de travail 1" msgstr "Passer à lespace de travail 1"
#: data/50-mutter-navigation.xml:111
msgid "Switch to workspace 2"
msgstr "Passer à lespace de travail 2"
#: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 3"
msgstr "Passer à lespace de travail 3"
#: data/50-mutter-navigation.xml:117 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 2" msgid "Switch to workspace 4"
msgstr "Passer à l'espace de travail 2" msgstr "Passer à lespace de travail 4"
#: data/50-mutter-navigation.xml:120 #: data/50-mutter-navigation.xml:120
msgid "Switch to workspace 3"
msgstr "Passer à l'espace de travail 3"
#: data/50-mutter-navigation.xml:123
msgid "Switch to workspace 4"
msgstr "Passer à l'espace de travail 4"
#: data/50-mutter-navigation.xml:126
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 l'espace de travail de gauche"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Déplacer vers l'espace de travail de droite"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Déplacer vers l'espace 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 l'espace de travail du dessous" msgstr "Déplacer vers lespace de travail du dessous"
#: data/50-mutter-system.xml:6 #: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
msgid "System" msgid "System"
msgstr "Système" msgstr "Système"
@@ -190,7 +176,11 @@ msgstr "Afficher la fenêtre pour lancer une commande"
#: data/50-mutter-system.xml:10 #: data/50-mutter-system.xml:10
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Afficher l'aperçu des activités" msgstr "Afficher laperçu des activités"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Restaurer les raccourcis clavier"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
@@ -206,7 +196,7 @@ msgstr "Basculer le mode plein écran"
#: data/50-mutter-windows.xml:12 #: data/50-mutter-windows.xml:12
msgid "Toggle maximization state" msgid "Toggle maximization state"
msgstr "Basculer l'état d'agrandissement" msgstr "Basculer létat dagrandissement"
#: data/50-mutter-windows.xml:14 #: data/50-mutter-windows.xml:14
msgid "Maximize window" msgid "Maximize window"
@@ -217,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 à l'arriè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"
@@ -284,8 +270,8 @@ msgid ""
"key” on PC hardware. Its expected that this binding either the default or " "key” on PC hardware. Its expected that this binding either the default or "
"set to the empty string." "set to the empty string."
msgstr "" msgstr ""
"Cette touche initie l'« overlay », une combinaison d'aperçu des fenêtres et " "Cette touche initie l« overlay », une combinaison daperçu des fenêtres et "
"d'un système de lancement d'applications. La touche par défaut sur le " "dun système de lancement dapplications. La touche par défaut sur le "
"matériel PC est la touche Windows. En principe, ce raccourci est configuré " "matériel PC est la touche Windows. En principe, ce raccourci est configuré "
"sur le réglage par défaut ou sur la chaîne vide." "sur le réglage par défaut ou sur la chaîne vide."
@@ -299,13 +285,13 @@ msgid ""
"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 ""
"Si vrai, au lieu d'avoir des barres de titre indépendantes, les boîtes de " "Si vrai, au lieu davoir des barres de titre indépendantes, les boîtes de "
"dialogue apparaissent attachées à la barre de titre de la fenêtre parente et " "dialogue apparaissent attachées à la barre de titre de la fenêtre parente et "
"sont déplacées ensembles avec elle." "sont déplacées ensembles avec elle."
#: data/org.gnome.mutter.gschema.xml.in:30 #: 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 "Activer l'empilage des fenêtres déposées sur les bords de l'écran" msgstr "Activer lempilage des fenêtres déposées sur les bords de lécran"
#: data/org.gnome.mutter.gschema.xml.in:31 #: data/org.gnome.mutter.gschema.xml.in:31
msgid "" msgid ""
@@ -313,10 +299,10 @@ msgid ""
"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 ""
"Si activé, le dépôt des fenêtres sur les bords verticaux de l'écran les " "Si activé, le dépôt des fenêtres sur les bords verticaux de lécran les "
"maximise verticalement et les redimensionne horizontalement pour recouvrir " "maximise verticalement et les redimensionne horizontalement pour recouvrir "
"la moitié de la zone disponible. Le dépôt des fenêtres sur le bord supérieur " "la moitié de la zone disponible. Le dépôt des fenêtres sur le bord supérieur "
"de l'écran les maximise complètement." "de lécran les maximise complètement."
#: 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"
@@ -329,20 +315,20 @@ msgid ""
"gnome.desktop.wm.preferences)." "gnome.desktop.wm.preferences)."
msgstr "" msgstr ""
"Détermine si les espaces de travail sont gérés de manière dynamique ou si le " "Détermine si les espaces de travail sont gérés de manière dynamique ou si le "
"nombre d'espaces de travail est fixe (déterminé par la clé num-workspaces " "nombre despaces de travail est fixe (déterminé par la clé num-workspaces "
"dans org.gnome.desktop.wm.preferences)." "dans org.gnome.desktop.wm.preferences)."
#: data/org.gnome.mutter.gschema.xml.in:50 #: data/org.gnome.mutter.gschema.xml.in:50
msgid "Workspaces only on primary" msgid "Workspaces only on primary"
msgstr "Espaces de travail seulement sur l'écran principal" msgstr "Espaces de travail seulement sur lécran principal"
#: data/org.gnome.mutter.gschema.xml.in:51 #: 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 ""
"Détermine si le changement d'espace de travail doit se produire pour les " "Détermine si le changement despace de travail doit se produire pour les "
"fenêtres de tous les écrans ou seulement pour les fenêtres de l'écran " "fenêtres de tous les écrans ou seulement pour les fenêtres de lécran "
"principal." "principal."
#: data/org.gnome.mutter.gschema.xml.in:59 #: data/org.gnome.mutter.gschema.xml.in:59
@@ -354,12 +340,12 @@ 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 ""
"Détermine si l'utilisation de fenêtres surgissantes et de mise en valeur " "Détermine si lutilisation de fenêtres surgissantes et de mise en valeur "
"doit être désactivée pour la consultation des fenêtres." "doit être désactivée pour la consultation des fenêtres."
#: data/org.gnome.mutter.gschema.xml.in:68 #: 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 "Attend l'arrêt du pointeur avant le changement de focus" msgstr "Attend larrêt du pointeur avant le changement de focus"
#: data/org.gnome.mutter.gschema.xml.in:69 #: data/org.gnome.mutter.gschema.xml.in:69
msgid "" msgid ""
@@ -369,7 +355,7 @@ msgid ""
msgstr "" msgstr ""
"Si défini à true et que le mode de focus est soit « sloppy » ou « souris », " "Si défini à true et que le mode de focus est soit « sloppy » ou « souris », "
"alors le focus ne sera pas changé immédiatement en passant sur une fenêtre, " "alors le focus ne sera pas changé immédiatement en passant sur une fenêtre, "
"mais seulement après que le pointeur s'arrête." "mais seulement après que le pointeur sarrête."
#: data/org.gnome.mutter.gschema.xml.in:79 #: data/org.gnome.mutter.gschema.xml.in:79
msgid "Draggable border width" msgid "Draggable border width"
@@ -380,7 +366,7 @@ msgid ""
"The amount of total draggable borders. If the themes 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 ""
"La taille totale des bordures que l'on peut déplacer. Si les bordures " "La taille totale des bordures que lon peut déplacer. Si les bordures "
"visibles du thème ne sont pas suffisantes, des bordures invisibles sont " "visibles du thème ne sont pas suffisantes, des bordures invisibles sont "
"ajoutées pour arriver à cette valeur." "ajoutées pour arriver à cette valeur."
@@ -388,15 +374,15 @@ msgstr ""
msgid "Auto maximize nearly monitor sized windows" msgid "Auto maximize nearly monitor sized windows"
msgstr "" msgstr ""
"Maximiser automatiquement les fenêtres dont la taille est proche de celle de " "Maximiser automatiquement les fenêtres dont la taille est proche de celle de "
"l'écran" "lécran"
#: data/org.gnome.mutter.gschema.xml.in:90 #: 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 ""
"Si activé, les nouvelles fenêtres qui ont presque la taille de l'écran à " "Si activé, les nouvelles fenêtres qui ont presque la taille de lécran à "
"l'ouverture seront maximisées automatiquement." "louverture seront maximisées automatiquement."
#: data/org.gnome.mutter.gschema.xml.in:98 #: data/org.gnome.mutter.gschema.xml.in:98
msgid "Place new windows in the center" msgid "Place new windows in the center"
@@ -408,7 +394,7 @@ msgid ""
"screen of the monitor." "screen of the monitor."
msgstr "" msgstr ""
"Si true (vrai), les nouvelles fenêtres seront toujours placées au centre de " "Si true (vrai), les nouvelles fenêtres seront toujours placées au centre de "
"l'écran actif du moniteur." "lécran actif du moniteur."
#: data/org.gnome.mutter.gschema.xml.in:107 #: data/org.gnome.mutter.gschema.xml.in:107
msgid "Enable experimental features" msgid "Enable experimental features"
@@ -420,105 +406,148 @@ 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 ""
"Pour activer les fonctionnalités expérimentales, ajoutez le mot-clé de la " "Pour activer les fonctionnalités expérimentales, ajoutez le mot-clé de la "
"fonctionnalité dans la liste. Selon la fonctionnalité, il peut être nécessaire " "fonctionnalité dans la liste. Selon la fonctionnalité, il peut être "
"de redémarrer le compositeur. Chaque fonctionnalité expérimentale peut " "nécessaire de redémarrer le compositeur. Chaque fonctionnalité expérimentale "
"disparaître ou ne plus être configurable. N'attendez pas à ce que le contenu de " "peut disparaître ou ne plus être configurable. Ne vous attendez pas à ce que "
"ce réglage soit stable dans le temps. Les mots-clés actuellement possibles " "le contenu de ce réglage soit stable dans le temps. Les mots-clés "
"sont : • « monitor-config-manager » — utiliser le nouveau système de " "actuellement possibles sont : • « scale-monitor-framebuffer » — demande à "
"configuration de moniteur qui remplacera l'ancien à terme. Cela active une " "mutter dutiliser par défaut une disposition par moniteur logique dans un "
"API de configuration de plus haut niveau exploitable par les applications de " "espace de coordonnées de pixels logique, tout en mettant à léchelle les "
"configuration. Il permet aussi de configurer par échelle de moniteur logique. " "« framebuffers » de moniteur au lieu des contenus de fenêtre pour pouvoir "
"• « scale-monitor-framebuffer » — demande à mutter d'utiliser par défaut une " "gérer les moniteurs à haute densité. Cela ne nécessite pas de redémarrage. • "
"disposition par moniteur logique dans un espace de coordonnées de pixels logique, " "« remote-desktop » — active la prise en charge du bureau à distance. Pour la "
"tout en mettant à l'échelle les « framebuffers » de moniteur au lieu des contenus " "prise en charge du bureau distant avec partage de lécran, « screen-cast » "
"de fenêtre pour pouvoir gérer les moniteurs à haute densité. Cela ne nécessite " "doit aussi être activé. • « screen-cast » — active la diffusion de lécran. "
"pas de redémarrage. L'activation de « monitor-config-manager » est requis pour "
"que cette fonctionnalité soit activée."
#: 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 "" msgstr ""
"Sélectionner la fenêtre dans la vue qui apparaît suite à un appui sur la " "Sélectionner la fenêtre dans la vue qui apparaît suite à un appui sur la "
"touche tab" "touche tab"
#: 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 "Fermer la vue qui apparaît suite à un appui sur la touche tab" msgstr "Fermer la vue qui apparaît suite à un appui sur la touche tab"
#: 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 "Changer de configuration de moniteur" msgstr "Changer de configuration de moniteur"
#: 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 "Passe à la prochaine configuration intégrée de moniteur" msgstr "Passe à la prochaine configuration intégrée de moniteur"
#: data/org.gnome.mutter.wayland.gschema.xml.in:6 #: data/org.gnome.mutter.wayland.gschema.xml.in:6
msgid "Switch to VT 1" msgid "Switch to VT 1"
msgstr "Passer à l'émulateur de terminal 1" msgstr "Passer à lémulateur de terminal 1"
#: data/org.gnome.mutter.wayland.gschema.xml.in:10 #: data/org.gnome.mutter.wayland.gschema.xml.in:10
msgid "Switch to VT 2" msgid "Switch to VT 2"
msgstr "Passer à l'émulateur de terminal 2" msgstr "Passer à lémulateur de terminal 2"
#: data/org.gnome.mutter.wayland.gschema.xml.in:14 #: data/org.gnome.mutter.wayland.gschema.xml.in:14
msgid "Switch to VT 3" msgid "Switch to VT 3"
msgstr "Passer à l'émulateur de terminal 3" msgstr "Passer à lémulateur de terminal 3"
#: data/org.gnome.mutter.wayland.gschema.xml.in:18 #: data/org.gnome.mutter.wayland.gschema.xml.in:18
msgid "Switch to VT 4" msgid "Switch to VT 4"
msgstr "Passer à l'émulateur de terminal 4" msgstr "Passer à lémulateur de terminal 4"
#: data/org.gnome.mutter.wayland.gschema.xml.in:22 #: data/org.gnome.mutter.wayland.gschema.xml.in:22
msgid "Switch to VT 5" msgid "Switch to VT 5"
msgstr "Passer à l'émulateur de terminal 5" msgstr "Passer à lémulateur de terminal 5"
#: data/org.gnome.mutter.wayland.gschema.xml.in:26 #: data/org.gnome.mutter.wayland.gschema.xml.in:26
msgid "Switch to VT 6" msgid "Switch to VT 6"
msgstr "Passer à l'émulateur de terminal 6" msgstr "Passer à lémulateur de terminal 6"
#: data/org.gnome.mutter.wayland.gschema.xml.in:30 #: data/org.gnome.mutter.wayland.gschema.xml.in:30
msgid "Switch to VT 7" msgid "Switch to VT 7"
msgstr "Passer à l'émulateur de terminal 7" msgstr "Passer à lémulateur de terminal 7"
#: data/org.gnome.mutter.wayland.gschema.xml.in:34 #: data/org.gnome.mutter.wayland.gschema.xml.in:34
msgid "Switch to VT 8" msgid "Switch to VT 8"
msgstr "Passer à l'émulateur de terminal 8" msgstr "Passer à lémulateur de terminal 8"
#: data/org.gnome.mutter.wayland.gschema.xml.in:38 #: data/org.gnome.mutter.wayland.gschema.xml.in:38
msgid "Switch to VT 9" msgid "Switch to VT 9"
msgstr "Passer à l'émulateur de terminal 9" msgstr "Passer à lémulateur de terminal 9"
#: data/org.gnome.mutter.wayland.gschema.xml.in:42 #: data/org.gnome.mutter.wayland.gschema.xml.in:42
msgid "Switch to VT 10" msgid "Switch to VT 10"
msgstr "Passer à l'émulateur de terminal 10" msgstr "Passer à lémulateur de terminal 10"
#: data/org.gnome.mutter.wayland.gschema.xml.in:46 #: data/org.gnome.mutter.wayland.gschema.xml.in:46
msgid "Switch to VT 11" msgid "Switch to VT 11"
msgstr "Passer à l'émulateur de terminal 11" msgstr "Passer à lémulateur de terminal 11"
#: data/org.gnome.mutter.wayland.gschema.xml.in:50 #: data/org.gnome.mutter.wayland.gschema.xml.in:50
msgid "Switch to VT 12" msgid "Switch to VT 12"
msgstr "Passer à l'émulateur de terminal 12" msgstr "Passer à lémulateur de terminal 12"
#: data/org.gnome.mutter.wayland.gschema.xml.in:54 #: data/org.gnome.mutter.wayland.gschema.xml.in:54
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:2118 #: 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)"
@@ -526,43 +555,43 @@ 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:2141 #: 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:2143 #: src/backends/meta-input-settings.c:2285
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Afficher l'aide à l'écran" msgstr "Afficher laide à lécran"
#: src/backends/meta-monitor-manager.c:927 #: 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:950 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Inconnu" msgstr "Inconnu"
#: src/backends/meta-monitor-manager.c:952 #: 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:960 #: 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”."
msgstr "" msgstr ""
"Un autre gestionnaire de composition est déjà lancé sur l'écran %i de " "Un autre gestionnaire de composition est déjà lancé sur lécran %i de "
"l'affichage « %s »." "laffichage « %s »."
#: src/core/bell.c:194 #: src/core/bell.c:194
msgid "Bell event" msgid "Bell event"
@@ -571,43 +600,47 @@ msgstr "Évènement sonore"
#: src/core/display.c:608 #: src/core/display.c:608
#, c-format #, c-format
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
msgstr "Impossible d'ouvrir l'affichage « %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 l'ID 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 d'affichage complet, plutôt qu'imbriqué" 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
@@ -617,14 +650,14 @@ msgstr "« %s » ne répond pas."
#: src/core/meta-close-dialog-default.c:149 #: src/core/meta-close-dialog-default.c:149
msgid "Application is not responding." msgid "Application is not responding."
msgstr "L'application ne répond pas." msgstr "Lapplication ne répond pas."
#: src/core/meta-close-dialog-default.c:154 #: 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 ""
"Vous pouvez patienter un instant pour continuer ou forcer l'application à " "Vous pouvez patienter un instant pour continuer ou forcer lapplication à "
"quitter définitivement." "quitter définitivement."
#: src/core/meta-close-dialog-default.c:161 #: src/core/meta-close-dialog-default.c:161
@@ -648,8 +681,8 @@ msgstr ""
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., et autres.\n" "Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., et autres.\n"
"Ceci est un logiciel libre ; consultez le code source pour les\n" "Ceci est un logiciel libre ; consultez le code source pour les\n"
"conditions de copie.\n" "conditions de copie.\n"
"Il n'y a AUCUNE garantie ; même pas de VALEUR MARCHANDE ou\n" "Il ny a AUCUNE garantie ; même pas de VALEUR MARCHANDE ou\n"
"d'ADÉQUATION À UN USAGE PARTICULIER.\n" "dADÉQUATION À UN USAGE PARTICULIER.\n"
#: src/core/mutter.c:53 #: src/core/mutter.c:53
msgid "Print version" msgid "Print version"
@@ -664,19 +697,19 @@ msgstr "Greffon de Mutter à utiliser"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Espace de travail %d" msgstr "Espace de travail %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 "
"replace the current window manager." "replace the current window manager."
msgstr "" msgstr ""
"L'affichage « %s » a déjà un gestionnaire de fenêtres ; essayez d'utiliser " "Laffichage « %s » a déjà un gestionnaire de fenêtres ; essayez dutiliser "
"l'option --replace pour remplacer le gestionnaire de fenêtres actuel." "loption --replace pour remplacer le gestionnaire de fenêtres actuel."
#: 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 "L'écran %d sur l'affichage « %s » n'est pas valide\n" msgstr "Lécran %d sur laffichage « %s » nest pas valide\n"
#: 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"
@@ -687,12 +720,12 @@ 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."
msgstr "" msgstr ""
"Ces fenêtres ne prennent pas en charge « l'enregistrement de la " "Ces fenêtres ne prennent pas en charge « lenregistrement de la "
"configuration actuelle » et devront être redémarrées manuellement à la " "configuration actuelle » et devront être redémarrées manuellement à la "
"prochaine connexion." "prochaine connexion."
@@ -700,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)"

267
po/gl.po
View File

@@ -9,22 +9,21 @@
# 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-03 13:19+0000\n"
"POT-Creation-Date: 2017-08-02 10:05+0000\n" "PO-Revision-Date: 2018-05-07 19:37+0200\n"
"PO-Revision-Date: 2017-08-09 17:55+0200\n" "Last-Translator: marcos <marcoslansgarza@gmail.com>\n"
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
"Language-Team: Galician\n" "Language-Team: Galician\n"
"Language: gl\n" "Language: gl\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: Virtaal 0.7.1\n" "X-Generator: Poedit 2.0.6\n"
"X-Project-Style: gnome\n" "X-Project-Style: gnome\n"
#: data/50-mutter-navigation.xml:6 #: data/50-mutter-navigation.xml:6
@@ -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 controis 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 controis 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"
@@ -416,44 +399,41 @@ 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 ""
"Para activar as características experimentais, engada a palabra chave da " "Para activar as características experimentais, engada a palabra chave da "
"característica á lista. Depende da característica que se deba reiniciar ou " "característica á lista. Depende da característica que se deba reiniciar ou "
"non o compositor. Calquera característica experimental pode non estar " "non o compositor. Calquera característica experimental pode non estar "
"dispoñíbel ou ser configurábel. Non agarde que o que se engada neste " "dispoñíbel ou ser configurábel. Non agarde que o que se engada neste "
"escenario sirva como proba futura. As palabras chave actualmente dispoñíbeis " "escenario sirva como proba futura. As palabras chave actualmente dispoñíbeis "
"son: monitor-config-managerusa o novo sistema de configuración do " "son: «scale-monitor-framebuffer»fai que mutter de maneira predeterminada "
"monitor, destinado a substituír o antigo. Isto permite que os aplicativos de " "dispoña os monitores lóxicos nun espacio lóxico de coordenadas de píxeles, "
"configuración usen unha API de configuración de nivel superior, así como a " "mentres escala framebuffers de monitores no lugar do contido de xanela, para "
"capacidade de configurar o escalado de monitores lóxicos. • “scale-monitor-" "administrar monitores HiDPI. Non require un reinicio. «remote-desktop» — "
"framebuffer” — convirte a mutter na maneira predeterminada de dispor " "permite a compatibilidade con compartición de pantalla. Para admitir o "
"monitores lóxicos nun espacio lóxico de coordenadas de íxeles, a escalar " "escritorio remoto con compartición de pantalla tamén debe activar «screen-"
"framebuffers de monitores framebuffers no lugar do contido de xnalea, para " "cast». • «screen-cast» — permite a compatibilidade coa retransmisión de "
"administrar monitores HiDPI. Non require un reinicio. Tamén é preciso " "pantalla."
"activar «monitor-config-manager» para activar esta función."
#: 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 "Seleccionar xanela da lapela emerxente" msgstr "Seleccionar xanela da lapela emerxente"
#: 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 "Cancelar lapela emerxente" msgstr "Cancelar lapela emerxente"
#: data/org.gnome.mutter.gschema.xml.in:161 #: data/org.gnome.mutter.gschema.xml.in:155
#| msgid "Switch monitor"
msgid "Switch monitor configurations" msgid "Switch monitor configurations"
msgstr "Cambiar preferencias do monitor" msgstr "Cambiar preferencias do monitor"
#: 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 "Rota a configuración do monitor embebido" msgstr "Rota a configuración do monitor embebido"
@@ -509,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:2118 #: 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)"
@@ -520,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:2141 #: 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:2143 #: 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:927 #: 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:950 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Descoñecido" msgstr "Descoñecido"
#: src/backends/meta-monitor-manager.c:952 #: 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:960 #: 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”."
@@ -567,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
@@ -657,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 "
@@ -666,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"
@@ -675,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."
@@ -693,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"

133
po/he.po
View File

@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: metacity.HEAD.he\n" "Project-Id-Version: metacity.HEAD.he\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n" "product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-03-30 18:41+0300\n" "POT-Creation-Date: 2017-11-26 17:12+0200\n"
"PO-Revision-Date: 2017-03-30 18:46+0300\n" "PO-Revision-Date: 2017-11-26 17:14+0200\n"
"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n" "Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n"
"Language-Team: עברית <>\n" "Language-Team: עברית <>\n"
"Language: he\n" "Language: he\n"
@@ -174,7 +174,7 @@ msgstr "העברה למרחב העבודה שמלמעלה"
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 "מערכת"
@@ -186,6 +186,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 "חלונות"
@@ -271,7 +275,6 @@ msgid "Modifier to use for extended window management operations"
msgstr "Modifier to use for extended window management operations" msgstr "Modifier to use for extended window management operations"
#: data/org.gnome.mutter.gschema.xml.in:8 #: data/org.gnome.mutter.gschema.xml.in:8
#,
msgid "" msgid ""
"This key will initiate the “overlay”, which is a combination window overview " "This key will initiate the “overlay”, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows " "and application launching system. The default is intended to be the “Windows "
@@ -316,7 +319,6 @@ msgid "Workspaces are managed dynamically"
msgstr "Workspaces are managed dynamically" msgstr "Workspaces are managed dynamically"
#: data/org.gnome.mutter.gschema.xml.in:41 #: data/org.gnome.mutter.gschema.xml.in:41
#,
msgid "" msgid ""
"Determines whether workspaces are managed dynamically or whether theres 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."
@@ -355,7 +357,6 @@ msgid "Delay focus changes until the pointer stops moving"
msgstr "Delay focus changes until the pointer stops moving" msgstr "Delay focus changes until the pointer stops moving"
#: data/org.gnome.mutter.gschema.xml.in:69 #: data/org.gnome.mutter.gschema.xml.in:69
#,
msgid "" msgid ""
"If set to true, and the focus mode is either “sloppy” or “mouse” then the " "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 " "focus will not be changed immediately when entering a window, but only after "
@@ -401,14 +402,52 @@ msgstr ""
"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."
#: data/org.gnome.mutter.gschema.xml.in:120 #: data/org.gnome.mutter.gschema.xml.in:107
msgid "Enable experimental features"
msgstr "Enable experimental features"
#: 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 ""
"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."
#: data/org.gnome.mutter.gschema.xml.in:145
msgid "Select window from tab popup" msgid "Select window from tab popup"
msgstr "Select window from tab popup" msgstr "Select window from tab popup"
#: data/org.gnome.mutter.gschema.xml.in:125 #: data/org.gnome.mutter.gschema.xml.in:150
msgid "Cancel tab popup" msgid "Cancel tab popup"
msgstr "Cancel tab popup" msgstr "Cancel tab popup"
#: data/org.gnome.mutter.gschema.xml.in:155
msgid "Switch monitor configurations"
msgstr "החלפה בין תצורות צגים"
#: data/org.gnome.mutter.gschema.xml.in:160
msgid "Rotates the built-in monitor configuration"
msgstr "Rotates the built-in monitor configuration"
#: data/org.gnome.mutter.wayland.gschema.xml.in:6 #: data/org.gnome.mutter.wayland.gschema.xml.in:6
msgid "Switch to VT 1" msgid "Switch to VT 1"
msgstr "מעבר ל־VT 1" msgstr "מעבר ל־VT 1"
@@ -457,10 +496,14 @@ msgstr "מעבר ל־VT 11"
msgid "Switch to VT 12" msgid "Switch to VT 12"
msgstr "מעבר ל־VT 12" msgstr "מעבר ל־VT 12"
#: data/org.gnome.mutter.wayland.gschema.xml.in:54
msgid "Re-enable 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:1848 #: 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)"
@@ -468,37 +511,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:1870 #: src/backends/meta-input-settings.c:2283
msgid "Switch monitor" msgid "Switch monitor"
msgstr "החלפה בין צגים" msgstr "החלפה בין צגים"
#: src/backends/meta-input-settings.c:1872 #: 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:630 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "תצוגה מובנית" msgstr "תצוגה מובנית"
#: src/backends/meta-monitor-manager.c:653 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "לא ידוע" msgstr "לא ידוע"
#: src/backends/meta-monitor-manager.c:655 #: 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:663 #: 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:474 #: 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”."
@@ -508,31 +551,6 @@ msgstr "מנהל תצוגת חלונות אחר כבר פועל במסך %i בת
msgid "Bell event" msgid "Bell event"
msgstr "אירוע פעמון" msgstr "אירוע פעמון"
#. Translators: %s is a window title
#: src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "„%s“ אינו מגיב."
#: src/core/delete.c:129
msgid "Application is not responding."
msgstr "היישום אינו מגיב."
#: src/core/delete.c:134
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr ""
"באפשרותך להמתין זמן קצר ולתת ליישום להמשיך או להכריח את היישום להסתיים."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_אילוץ סגירה"
#: src/core/delete.c:141
msgid "_Wait"
msgstr "ה_מתנה"
#: src/core/display.c:608 #: src/core/display.c:608
#, c-format #, c-format
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
@@ -574,6 +592,31 @@ msgstr "Run as a nested compositor"
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Run as a full display server, rather than nested" msgstr "Run as a full display server, rather than nested"
#. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147
#, c-format
msgid "“%s” is not responding."
msgstr "„%s“ אינו מגיב."
#: src/core/meta-close-dialog-default.c:149
msgid "Application is not responding."
msgstr "היישום אינו מגיב."
#: src/core/meta-close-dialog-default.c:154
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr ""
"באפשרותך להמתין זמן קצר ולתת ליישום להמשיך או להכריח את היישום להסתיים."
#: src/core/meta-close-dialog-default.c:161
msgid "_Force Quit"
msgstr "_אילוץ סגירה"
#: src/core/meta-close-dialog-default.c:161
msgid "_Wait"
msgstr "ה_מתנה"
#: src/core/mutter.c:39 #: src/core/mutter.c:39
#, c-format #, c-format
msgid "" msgid ""
@@ -601,7 +644,7 @@ msgstr "תוסף ה־mutter לשימוש"
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 "
@@ -610,7 +653,7 @@ msgstr ""
"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 "
"replace the current window manager." "replace the current window manager."
#: 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 "Screen %d on display “%s” is invalid\n" msgstr "Screen %d on display “%s” is invalid\n"
@@ -629,8 +672,8 @@ 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."
msgstr "" msgstr ""
"חלונות אלו אינם תומכים ב„שמירת ההגדרות הנוכחיות”, ויהיה צורך " "חלונות אלו אינם תומכים ב„שמירת ההגדרות הנוכחיות”, ויהיה צורך באתחול ידני "
אתחול ידני בכניסה הבאה שלך." "בכניסה הבאה שלך."
#: src/x11/window-props.c:559 #: src/x11/window-props.c:559
#, c-format #, c-format

266
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-02 10:05+0000\n" "PO-Revision-Date: 2018-02-17 16:00+0100\n"
"PO-Revision-Date: 2017-08-03 21:57+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"
@@ -193,69 +180,65 @@ msgstr "Aktiviraj izbornik prozora"
#: data/50-mutter-windows.xml:10 #: data/50-mutter-windows.xml:10
msgid "Toggle fullscreen mode" msgid "Toggle fullscreen mode"
msgstr "Postavi preko cijelog zaslona" msgstr "Uklj/Isklj cjelozaslonski prikaz"
#: data/50-mutter-windows.xml:12 #: data/50-mutter-windows.xml:12
msgid "Toggle maximization state" msgid "Toggle maximization state"
msgstr "Promijeni stanje maksimizacije" msgstr "Uklj/Isklj uvećanje prozora"
#: data/50-mutter-windows.xml:14 #: data/50-mutter-windows.xml:14
msgid "Maximize window" msgid "Maximize window"
msgstr "Maksimiziraj prozor" msgstr "Uvećaj prozor"
#: data/50-mutter-windows.xml:16 #: data/50-mutter-windows.xml:16
msgid "Restore window" 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 "Promijeni 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, inače 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 "Spustiti 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"
@@ -404,43 +387,40 @@ 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 ""
"Za omogućavanje eksperimentalnih značajki, dodajte ključnu riječ značajke na " "Za omogućavanje eksperimentalnih značajki, dodajte ključnu riječ značajke na "
"popis. Zahtijeva li značajka ponovno pokretanje kompozitora ovisi o zadanoj " "popis. Zahtijeva li značajka ponovno pokretanje kompozitora ovisi o zadanoj "
"značajki. Bilo koja eksperimentalna značajka nije potrebna da još uvijek " "značajki. Bilo koja eksperimentalna značajka nije potrebna da još uvijek "
"bude dostupna ili podesiva. Nemojte očekivati da možete dodavati bilo što u " "bude dostupna ili podesiva. Nemojte očekivati da možete dodavati bilo što u "
"ovu postavku za budući dokaz. Trenutne dostupne ključne riječi: • “monitor-" "ovu postavku za budući dokaz. Trenutne dostupne ključne riječi: • “scale-"
"config-manager” — koristi novi sustav podešavanja zaslona, s ciljem zamjene " "monitor-framebuffer” — čini mutter zadanim izlazu logičkih zaslona u "
"starog. Ovo omogućava API veće razine podešavanja za korištenje u " "logičnom koordinatnom prostoru piksela, dok međuspremnik okvira mijenja "
"podešavanjima aplikacija, kao i mogućnost podešavanja promjene veličine po " "veličinu zaslona umjesto sadržaja prozora, upravlja kako bi upravljao "
"logičkom zaslonu. • “scale-monitor-framebuffer” — čini mutter zadanim izlazu " "(HiDPI) zaslonima visoke razlučivosti. Ne zahtijeva ponovno pokretanje. • "
"logičkih zaslona u logičnom koordinatnom prostoru piksela, dok međuspremnik " "“remote-desktop” — omogućava podršku za udaljene radne površine. Za podršku "
"okvira mijenja veličinu zaslona umjesto sadržaja prozora, upravlja kako bi " "udaljene radne površine s dijeljenjem zaslona, “screen-cast” mora isto biti "
"upravljao (HiDPI) zaslonima visoke razlučivosti. Ne zahtijeva ponovno " "omogućen. • “screen-cast” — omogućuje podršku emitiranja zaslona."
"pokretanje. Još je potrebno omogućavanje “monitor-config-manager” kako bi "
"ova značajka radila."
#: 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 "Odaberi prozor iz skočnog prozora" msgstr "Odaberi prozor iz skočnog prozora"
#: 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 "Prekini skočni prozor" msgstr "Prekini skočni prozor"
#: 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 "Prebacivanje podešavanja zaslona" msgstr "Prebacivanje podešavanja zaslona"
#: 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 "Rotiraj ugrađeno podešavanje zaslona" msgstr "Rotiraj ugrađeno podešavanje zaslona"
@@ -496,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:2118 #: 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)"
@@ -507,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:2141 #: 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:2143 #: 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:927 #: 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:950 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Nepoznat" msgstr "Nepoznat"
#: src/backends/meta-monitor-manager.c:952 #: 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:960 #: 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 +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
@@ -643,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 "
@@ -652,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"
@@ -666,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."
@@ -679,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"

250
po/hu.po
View File

@@ -1,26 +1,25 @@
# 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-02 10:05+0000\n" "PO-Revision-Date: 2018-02-23 23:53+0100\n"
"PO-Revision-Date: 2017-08-09 08:51+0200\n" "Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Last-Translator: Meskó Balázs <meskobalazs@fedoraproject.org>\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"
"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.3\n" "X-Generator: Lokalize 1.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: data/50-mutter-navigation.xml:6 #: data/50-mutter-navigation.xml:6
@@ -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"
@@ -409,43 +392,41 @@ 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 ""
"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 " "listához. A funkció a betűszedő újraindítását igényelheti az adott "
"funkciótól függően. Egyik kísérleti funkciónál sem szükséges, hogy továbbra " "funkciótól függően. Egyik kísérleti funkciónál sem szükséges, hogy továbbra "
"is elérhető vagy beállítható legyen. Ne várja el azt, hogy ha bármit hozzáad " "is elérhető vagy beállítható legyen. Ne várja el azt, hogy ha bármit hozzáad "
"ehhez a beállításhoz, akkor az a jövőben is elérhető lesz. Jelenleg " "ehhez a beállításhoz, akkor az a jövőben is elérhető lesz. Jelenleg "
"lehetséges kulcsszavak: • „monitor-config-manager” az új monitor " "lehetséges kulcsszavak: • „scale-monitor-framebuffer” alapértelmezetté "
"konfigurációs rendszer használata, amely a régi leváltására készül. Ez egy " "teszi a mutter programot a logikai monitorok elrendezéséhez egy logikai "
"magasabb szintű konfigurációs API-t biztosít a beállító alkalmazásoknak, " "képpontkoordináta-térben, miközben átméretezi a monitor keretpufferét az "
"valamint lehetővé teszi a logikai monitorok különálló méretezését. • „scale-" "ablaktartalom helyett azért, hogy kezelje a HiDPI monitorokat. Nem igényel "
"monitor-framebuffer” — alapértelmezetté teszi a mutter programot a logikai " "újraindítást. • „remote-desktop” — engedélyezi a távoli asztal támogatást. A "
"monitorok elrendezéséhez egy logikai képpontkoordináta-térben, miközben " "távoli asztal képernyőmegosztással való támogatásához a „screen-cast” "
"átméretezi a monitor keretpufferét az ablaktartalom helyett azért, hogy " "funkciónak is engedélyezve kell lennie. • „screen-cast” — engedélyezi a "
"kezelje a HiDPI monitorokat. Nem igényel újraindítást. Ezen funkció " "képernyőrögzítés támogatását."
"bekapcsolásához a „monitor-config-manager” engedélyezése is szükséges."
#: 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 "Ablakok kiválasztása tab billentyűre felugró ablakból" msgstr "Ablakok kiválasztása tab billentyűre felugró ablakból"
#: 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 "Tab felugró kikapcsolása" msgstr "Tab felugró kikapcsolása"
#: 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 "Monitorkonfiguráció átváltása" msgstr "Monitorkonfiguráció átváltása"
#: 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 "Cserélgeti a beépített monitorkonfigurációkat" msgstr "Cserélgeti a beépített monitorkonfigurációkat"
@@ -501,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:2118 #: 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)"
@@ -512,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:2141 #: 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:2143 #: 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:927 #: 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:950 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Ismeretlen" msgstr "Ismeretlen"
#: src/backends/meta-monitor-manager.c:952 #: 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:960 #: 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”."
@@ -559,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
@@ -650,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 "
@@ -659,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"
@@ -673,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."
@@ -685,3 +716,4 @@ msgstr ""
#, c-format #, c-format
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (ezen: %s)" msgstr "%s (ezen: %s)"

237
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-08-21 04:46+0000\n" "PO-Revision-Date: 2018-02-09 17:00+0700\n"
"PO-Revision-Date: 2017-08-21 13:42+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.3\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,134 +46,118 @@ 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"
#: 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"
@@ -186,6 +169,10 @@ msgstr "Tampilkan sapaan jalankan perintah"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Tampilkan ringkasan aktivitas" msgstr "Tampilkan ringkasan aktivitas"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Pulihkan pintasan papan tik"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Jendela" msgstr "Jendela"
@@ -211,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"
@@ -411,7 +394,10 @@ 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 ""
"Untuk mengaktifkan fitur eksperimental, tambahkan kata kunci fitur ke dalam " "Untuk mengaktifkan fitur eksperimental, tambahkan kata kunci fitur ke dalam "
"daftar. Apakah fitur memerlukan nyala ulang kompositor tergantung pada fitur " "daftar. Apakah fitur memerlukan nyala ulang kompositor tergantung pada fitur "
@@ -421,21 +407,24 @@ msgstr ""
"mungkin: • “scale-monitor-framebuffer” — membuat bawaan mutter untuk tata " "mungkin: • “scale-monitor-framebuffer” — membuat bawaan mutter untuk tata "
"letak monitor logikal dalam ruang koordinat pixel logikal, sambil " "letak monitor logikal dalam ruang koordinat pixel logikal, sambil "
"menskalakan framebuffer monitor alih-alih konten jendela, untuk mengelola " "menskalakan framebuffer monitor alih-alih konten jendela, untuk mengelola "
"monitor HiDPI. Tidak perlu mulai ulang." "monitor HiDPI. Tidak perlu mulai ulang. • “remote-desktop” — aktifkan "
"dukungan destop jauh. Untuk mendukung destop jauh dengan berbagi layar, "
"“screen-cast” juga harus diaktifkan. • “screen-cast” — aktifkan dukungan "
"screen cast."
#: 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 "Pilih jendela dari popup tab" msgstr "Pilih jendela dari popup tab"
#: 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 "Batalkan popup tab" msgstr "Batalkan popup tab"
#: 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 "Tukar konfigurasi monitor bawaan" msgstr "Tukar konfigurasi monitor bawaan"
#: 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 "Memutar konfigurasi monitor bawaan" msgstr "Memutar konfigurasi monitor bawaan"
@@ -491,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:2151 #: 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)"
@@ -502,37 +540,37 @@ 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:2174 #: 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:2176 #: 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"
#: src/backends/meta-monitor-manager.c:903 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Tampilan bawaan" msgstr "Tampilan bawaan"
#: src/backends/meta-monitor-manager.c:926 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Tak Dikenal" msgstr "Tak Dikenal"
#: src/backends/meta-monitor-manager.c:928 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Tampilan Tak Dikenal" msgstr "Tampilan Tak Dikenal"
#. 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”."
@@ -548,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
@@ -638,7 +680,7 @@ msgstr "Pengaya Mutter yang dipakai"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Area kerja %d" msgstr "Area kerja %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 "
@@ -647,7 +689,7 @@ msgstr ""
"Tampilan \"%s\" sudah memiliki manajer jendela; cobalah gunakan pilihan --" "Tampilan \"%s\" sudah memiliki manajer jendela; cobalah gunakan pilihan --"
"replace untuk mengganti manajer jendela saat ini." "replace untuk mengganti manajer jendela saat ini."
#: 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 "Layar %d pada tampilan \"%s\" tidak valid\n" msgstr "Layar %d pada tampilan \"%s\" tidak valid\n"
@@ -661,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."
@@ -673,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"

342
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: http://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-02-16 15:52+0000\n" "PO-Revision-Date: 2018-02-09 16:49+0100\n"
"PO-Revision-Date: 2017-02-17 22:11+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"
@@ -21,7 +21,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=2; plural=(n!=1);\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n"
"X-Generator: Poedit 2.0beta3\n" "X-Generator: Poedit 2.0.4\n"
#: data/50-mutter-navigation.xml:6 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
@@ -48,134 +48,118 @@ 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"
#: 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"
@@ -187,6 +171,10 @@ msgstr "Mostra il prompt esegui comando"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Mostra la panoramica delle attività" msgstr "Mostra la panoramica delle attività"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Ripristina le scorciatoie da tastiera"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Finestre" msgstr "Finestre"
@@ -212,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"
@@ -410,14 +394,54 @@ msgstr ""
"Se impostata a VERO, le nuove finestre verranno sempre posizionate al centro " "Se impostata a VERO, le nuove finestre verranno sempre posizionate al centro "
"dello schermo attivo." "dello schermo attivo."
#: data/org.gnome.mutter.gschema.xml.in:120 #: data/org.gnome.mutter.gschema.xml.in:107
msgid "Enable experimental features"
msgstr "Abilita funzionalità sperimentali"
#: 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 ""
"Per abilitare le funzionalità sperimentali, aggiungere la parola chiave di "
"tale funzionalità nella lista. Se la funzionalità desiderata richiede il "
"riavvio del compositor, dipende dalla funzionalità stessa. Una qualsiasi "
"funzionalità sperimentale non è richiesta, ma può essere disponibile e "
"configurabile. Le funzionalità offerte potrebbero rendere il sistema "
"instabile. I possibili valori sono: • \"scale-monitor-framebuffer\" — Fa in "
"modo che mutter disponga gli schermi logici secondo uno spazio logico di "
"coordinate pixel, applicando il ridimensionamento ai framebuffer invece che "
"al contenuto della finestra, per gestire schermi HiDPI (non richiede il "
"riavvio). • \"remote-desktop\" — Abilita il supporto al desktop remoto. Per "
"supportare il desktop remoto con la condivisione dello schermo, è necessario "
"abilitare anche \"screen-cast\". • “screen-cast” — Abilita il supporto alla "
"registrazione dello schermo."
#: data/org.gnome.mutter.gschema.xml.in:145
msgid "Select window from tab popup" msgid "Select window from tab popup"
msgstr "Seleziona finestra dal tab popup" msgstr "Seleziona finestra dal tab popup"
#: data/org.gnome.mutter.gschema.xml.in:125 #: data/org.gnome.mutter.gschema.xml.in:150
msgid "Cancel tab popup" msgid "Cancel tab popup"
msgstr "Annulla tab popup" msgstr "Annulla tab popup"
#: data/org.gnome.mutter.gschema.xml.in:155
msgid "Switch monitor configurations"
msgstr "Cambia le configurazioni del monitor"
#: data/org.gnome.mutter.gschema.xml.in:160
msgid "Rotates the built-in monitor configuration"
msgstr "Passa da una configurazione integrata all'altra del monitor"
#: data/org.gnome.mutter.wayland.gschema.xml.in:6 #: data/org.gnome.mutter.wayland.gschema.xml.in:6
msgid "Switch to VT 1" msgid "Switch to VT 1"
msgstr "Passa al VT 1" msgstr "Passa al VT 1"
@@ -466,10 +490,61 @@ msgstr "Passa al VT 11"
msgid "Switch to VT 12" msgid "Switch to VT 12"
msgstr "Passa al VT 12" msgstr "Passa al VT 12"
#: data/org.gnome.mutter.wayland.gschema.xml.in:54
msgid "Re-enable shortcuts"
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:1800 #: 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)"
@@ -477,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:1822 #: 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:1824 #: 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:675 #: 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:698 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Sconosciuto" msgstr "Sconosciuto"
#: src/backends/meta-monitor-manager.c:700 #: 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:708 #: 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:471 #: 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”."
@@ -519,17 +594,62 @@ msgstr ""
msgid "Bell event" msgid "Bell event"
msgstr "Evento campanella" msgstr "Evento campanella"
#: src/core/display.c:608
#, c-format
msgid "Failed to open X Window System display “%s”\n"
msgstr "Apertura del display «%s» di X Window System non riuscita\n"
#: src/core/main.c:190
msgid "Disable connection to session manager"
msgstr "Disabilita la connessione al gestore di sessione"
#: src/core/main.c:196
msgid "Replace the running window manager"
msgstr "Sostituisce il window manager in esecuzione"
#: src/core/main.c:202
msgid "Specify session management ID"
msgstr "Specifica l'ID di gestione sessione"
#: src/core/main.c:207
msgid "X Display to use"
msgstr "Display X da usare"
#: src/core/main.c:213
msgid "Initialize session from savefile"
msgstr "Inizializza la sessione da file salvato"
#: src/core/main.c:219
msgid "Make X calls synchronous"
msgstr "Rende le chiamate X sincrone"
#: src/core/main.c:226
msgid "Run as a wayland compositor"
msgstr "Esegui come compositor Wayland"
#: src/core/main.c:232
msgid "Run as a nested compositor"
msgstr "Esegui come compositor annidato"
#: src/core/main.c:240
msgid "Run as a full display server, rather than nested"
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/delete.c:127 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
msgid "“%s” is not responding." msgid "“%s” is not responding."
msgstr "Nessuna risposta da %s." msgstr "Nessuna risposta da %s."
#: src/core/delete.c:129 #: src/core/meta-close-dialog-default.c:149
msgid "Application is not responding." msgid "Application is not responding."
msgstr "L'applicazione non risponde." msgstr "L'applicazione non risponde."
#: 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."
@@ -537,55 +657,14 @@ msgstr ""
"È possibile scegliere di attendere un po' lasciando che l'applicazione " "È possibile scegliere di attendere un po' lasciando che l'applicazione "
"continui, oppure forzare la terminazione dell'applicazione." "continui, oppure forzare la terminazione dell'applicazione."
#: src/core/delete.c:141 #: src/core/meta-close-dialog-default.c:161
msgid "_Force Quit" msgid "_Force Quit"
msgstr "_Forza uscita" msgstr "_Forza uscita"
#: src/core/delete.c:141 #: src/core/meta-close-dialog-default.c:161
msgid "_Wait" msgid "_Wait"
msgstr "_Attendi" msgstr "_Attendi"
#: src/core/display.c:608
#, c-format
msgid "Failed to open X Window System display “%s”\n"
msgstr "Apertura del display «%s» di X Window System non riuscita\n"
#: src/core/main.c:189
msgid "Disable connection to session manager"
msgstr "Disabilita la connessione al gestore di sessione"
#: src/core/main.c:195
msgid "Replace the running window manager"
msgstr "Sostituisce il window manager in esecuzione"
#: src/core/main.c:201
msgid "Specify session management ID"
msgstr "Specifica l'ID di gestione sessione"
#: src/core/main.c:206
msgid "X Display to use"
msgstr "Display X da usare"
#: src/core/main.c:212
msgid "Initialize session from savefile"
msgstr "Inizializza la sessione da file salvato"
#: src/core/main.c:218
msgid "Make X calls synchronous"
msgstr "Rende le chiamate X sincrone"
#: src/core/main.c:225
msgid "Run as a wayland compositor"
msgstr "Esegui come compositor Wayland"
#: src/core/main.c:231
msgid "Run as a nested compositor"
msgstr "Esegui come compositor annidato"
#: src/core/main.c:239
msgid "Run as a full display server, rather than nested"
msgstr "Esegui come display server invece che annidato"
#: src/core/mutter.c:39 #: src/core/mutter.c:39
#, c-format #, c-format
msgid "" msgid ""
@@ -614,7 +693,7 @@ msgstr "Plugin Mutter da usare"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Spazio di lavoro %d" msgstr "Spazio di lavoro %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 "
@@ -623,7 +702,7 @@ msgstr ""
"Il display «%s» ha già un window manager; provare a utilizzare l'opzione --" "Il display «%s» ha già un window manager; provare a utilizzare l'opzione --"
"replace per sostituirlo." "replace per sostituirlo."
#: 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 "Lo schermo %d sul display «%s» non è valido\n" msgstr "Lo schermo %d sul display «%s» non è valido\n"
@@ -638,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."
@@ -650,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"

318
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-02-28 06:20+0000\n" "PO-Revision-Date: 2018-02-24 16:14+0900\n"
"PO-Revision-Date: 2017-03-04 03:25+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 "오른쪽 나눔창 보기"
@@ -397,14 +381,50 @@ msgid ""
"screen of the monitor." "screen of the monitor."
msgstr "참이면, 새로운 창은 항상 사용 중인 모니터 화면의 중앙에 놓습니다." msgstr "참이면, 새로운 창은 항상 사용 중인 모니터 화면의 중앙에 놓습니다."
#: data/org.gnome.mutter.gschema.xml.in:120 #: 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 ""
"실험적인 기능을 사용하려면, 해당 기능 키워드를 목록에 추가하십시오. 기능에 따"
"라 컴포지터를 다시 시작해야 할 수도 있습니다. 실험적인 기능은 사용할 수 없을 "
"수도 있고, 설정할 수 없을 수도 있습니다. 이 설정에 추가한 사항이 앞으로 버전"
"에서도 동작할 거라고 기대하지 마십시오. 현재 가능한 값은: • “scale-monitor-"
"framebuffer” — 머터에서 논리적인 모니터를 논리적인 픽셀 좌표계로 배치합니다. "
"창의 내용의 크기를 조정하지 않고 모니터 프레임버퍼 크기를 조정합니다. 재시작"
"은 필요하지 않습니다. • “remote-desktop” — 원격 데스크톱 기능을 사용합니다. "
"원격 데스크톱을 화면 공유와 같이 사용하려면, “screen-cast” 설정도 켜져 있어"
"야 합니다. • “screen-cast” — 화면 전송 기능을 사용합니다."
#: 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:125 #: data/org.gnome.mutter.gschema.xml.in:150
msgid "Cancel tab popup" msgid "Cancel tab popup"
msgstr "탭 팝업 취소" msgstr "탭 팝업 취소"
#: data/org.gnome.mutter.gschema.xml.in:155
msgid "Switch monitor configurations"
msgstr "모니터 설정 전환"
#: 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 #: data/org.gnome.mutter.wayland.gschema.xml.in:6
msgid "Switch to VT 1" msgid "Switch to VT 1"
msgstr "가상 터미널 1로 이동" msgstr "가상 터미널 1로 이동"
@@ -453,10 +473,57 @@ msgstr "가상 터미널 11로 이동"
msgid "Switch to VT 12" msgid "Switch to VT 12"
msgstr "가상 터미널 12로 이동" msgstr "가상 터미널 12로 이동"
#: data/org.gnome.mutter.wayland.gschema.xml.in:54
msgid "Re-enable shortcuts"
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:1800 #: 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)"
@@ -464,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:1822 #: src/backends/meta-input-settings.c:2283
msgid "Switch monitor" msgid "Switch monitor"
msgstr "모니터 전환" msgstr "모니터 전환"
#: src/backends/meta-input-settings.c:1824 #: 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:675 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "내장 디스플레이" msgstr "내장 디스플레이"
#: src/backends/meta-monitor-manager.c:698 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "알 수 없음" msgstr "알 수 없음"
#: src/backends/meta-monitor-manager.c:700 #: 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:708 #: 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:471 #: 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”."
@@ -506,70 +573,74 @@ msgstr ""
msgid "Bell event" msgid "Bell event"
msgstr "삑소리 이벤트" msgstr "삑소리 이벤트"
#. Translators: %s is a window title
#: src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "“%s” 창이 반응하지 않습니다."
#: src/core/delete.c:129
msgid "Application is not responding."
msgstr "프로그램이 반응하지 않습니다."
#: src/core/delete.c:134
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr "좀 더 기다리거나 해당 프로그램을 강제로 끝낼 수 있습니다."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "강제로 끝내기(_F)"
#: src/core/delete.c:141
msgid "_Wait"
msgstr "기다리기(_W)"
#: src/core/display.c:608 #: src/core/display.c:608
#, c-format #, c-format
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
#: src/core/meta-close-dialog-default.c:147
#, c-format
msgid "“%s” is not responding."
msgstr "“%s” 창이 반응하지 않습니다."
#: src/core/meta-close-dialog-default.c:149
msgid "Application is not responding."
msgstr "프로그램이 반응하지 않습니다."
#: src/core/meta-close-dialog-default.c:154
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr "좀 더 기다리거나 해당 프로그램을 강제로 끝낼 수 있습니다."
#: src/core/meta-close-dialog-default.c:161
msgid "_Force Quit"
msgstr "강제로 끝내기(_F)"
#: src/core/meta-close-dialog-default.c:161
msgid "_Wait"
msgstr "기다리기(_W)"
#: src/core/mutter.c:39 #: src/core/mutter.c:39
#, c-format #, c-format
@@ -599,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 "
@@ -608,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"
@@ -622,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."
@@ -635,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 "그림자 상태 토글"

263
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-07-19 09:20+0000\n" "PO-Revision-Date: 2018-03-03 13:37+0200\n"
"PO-Revision-Date: 2017-07-24 23:59+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"
@@ -411,43 +394,40 @@ 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 ""
"Norėdami įjungti eksperimentines savybes, pridėkite į sąrašą raktinį žodį. " "Norėdami įjungti eksperimentines savybes, pridėkite į sąrašą raktinį žodį. "
"Ar savybė reikalauja kompozitoriaus paleidimo iš naujo priklauso nuo " "Ar savybė reikalauja kompozitoriaus paleidimo iš naujo priklauso nuo "
"konkrečios savybės. Nei viena eksperimentinė savybė privalo būti prieinama " "konkrečios savybės. Nei viena eksperimentinė savybė privalo būti prieinama "
"ar konfigūruojama. Nesitikėkite, kad ką nors pridėjus į šį sąrašą, tai " "ar konfigūruojama. Nesitikėkite, kad ką nors pridėjus į šį sąrašą, tai "
"išliks ir ateityje. Šiuo metu galimi raktažodžiai: • „monitor-config-" "išliks ir ateityje. Šiuo metu galimi raktažodžiai: • „scale-monitor-"
"manager“ — naudoti naują monitorių konfigūracijos sistemą, kuria siekiama " "framebuffer“ — mutter numatytai išdėsto loginius monitorius loginėje "
"pakeisti dabartinę. Tai leidžia programoms naudoti geriau konfigūruojamą " "pikselių koordinačių erdvėje, tuo pat ištempiant monitorių kadrų buferius "
"aukštesnio lygio API, taip pat galimybę konfigūruoti pagal loginę " "vietoje langų turinio, tokiu būdu valdant didelio tankio monitorius. "
"monitoriaus skalę. • „scale-monitor-framebuffer“ — mutter numatytai išdėsto " "Nereikalauja paleisti iš naujo. • „remote-desktop“ įjungia nutolusio "
"loginius monitorius loginėje pikselių koordinačių erdvėje, tuo pat " "darbalaukio palaikymą. Norint nutolusio darbalaukio su dalinimusi ekranu, "
"ištempiant monitorių kadrų buferius vietoje langų turinio, tokiu būdu " "taip pat reikia įjungti „screen-cast“. • „screen-cast“ įjungia ekrano "
"valdant didelio tankio monitorius. Nereikalauja paleisti iš naujo. Taip pat " "transliacijos palaikymą."
"šiai savybei įjungti reikia, kad „monitor-config-manager“ būtų įjungta."
#: 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 "Pasirinkti langą iš tab iššokimo" msgstr "Pasirinkti langą iš tab iššokimo"
#: 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 "Atšaukti tab iššokimą" msgstr "Atšaukti tab iššokimą"
#: data/org.gnome.mutter.gschema.xml.in:161 #: data/org.gnome.mutter.gschema.xml.in:155
#| msgid "Switch monitor"
msgid "Switch monitor configurations" msgid "Switch monitor configurations"
msgstr "Perjungti monitorių konfigūracijas" msgstr "Perjungti monitorių konfigūracijas"
#: 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 "Suka integruotas monitorių konfigūracijas" msgstr "Suka integruotas monitorių konfigūracijas"
@@ -499,10 +479,60 @@ msgstr "Persijungti į VT 11"
msgid "Switch to VT 12" msgid "Switch to VT 12"
msgstr "Persijungti į VT 12" msgstr "Persijungti į VT 12"
#: data/org.gnome.mutter.wayland.gschema.xml.in:54
msgid "Re-enable shortcuts"
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:2118 #: 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)"
@@ -510,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:2141 #: 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:2143 #: 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:925 #: 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:948 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Nežinomas" msgstr "Nežinomas"
#: src/backends/meta-monitor-manager.c:950 #: 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: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”."
@@ -555,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
@@ -644,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 "
@@ -653,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"
@@ -662,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."
@@ -680,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"

361
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-02-28 06:20+0000\n" "PO-Revision-Date: 2018-02-25 15:45+0200\n"
"PO-Revision-Date: 2017-03-18 12:09+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ē"
@@ -274,11 +257,6 @@ msgid "Modifier to use for extended window management operations"
msgstr "Modifikators, kuru lietot paplašinātām loga pārvaldības darbībām" msgstr "Modifikators, kuru lietot paplašinātām loga pārvaldības darbībām"
#: data/org.gnome.mutter.gschema.xml.in:8 #: data/org.gnome.mutter.gschema.xml.in:8
#| msgid ""
#| "This key will initiate the \"overlay\", which is a combination window "
#| "overview and application launching system. The default is intended to be "
#| "the \"Windows key\" on PC hardware. It's expected that this binding "
#| "either the default or set to the empty string."
msgid "" msgid ""
"This key will initiate the “overlay”, which is a combination window overview " "This key will initiate the “overlay”, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows " "and application launching system. The default is intended to be the “Windows "
@@ -323,10 +301,6 @@ msgid "Workspaces are managed dynamically"
msgstr "Darbvirsmas tiek pārvaldītas dinamiski" msgstr "Darbvirsmas tiek pārvaldītas dinamiski"
#: data/org.gnome.mutter.gschema.xml.in:41 #: data/org.gnome.mutter.gschema.xml.in:41
#| msgid ""
#| "Determines whether workspaces are managed dynamically or whether there's "
#| "a static number of workspaces (determined by the num-workspaces key in "
#| "org.gnome.desktop.wm.preferences)."
msgid "" msgid ""
"Determines whether workspaces are managed dynamically or whether theres 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."
@@ -365,27 +339,20 @@ msgid "Delay focus changes until the pointer stops moving"
msgstr "Aizkavēt fokusa izmaiņas, līdz rādītājs pārstāj kustēties" msgstr "Aizkavēt fokusa izmaiņas, līdz rādītājs pārstāj kustēties"
#: data/org.gnome.mutter.gschema.xml.in:69 #: data/org.gnome.mutter.gschema.xml.in:69
#| msgid ""
#| "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
#| "the focus will not be changed immediately when entering a window, but "
#| "only after the pointer stops moving."
msgid "" msgid ""
"If set to true, and the focus mode is either “sloppy” or “mouse” then the " "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 " "focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving." "the pointer stops moving."
msgstr "" msgstr ""
"Ja patiess un fokusēšanas režīms ir vai nu “sloppy” (paviršs) vai “mouse”" "Ja patiess un fokusēšanas režīms ir vai nu “sloppy” (paviršs) vai "
" (pele), tad fokuss nemainīsies uzreiz pēc ieiešanas logā, bet tikai pēc tam," "“mouse” (pele), tad fokuss nemainīsies uzreiz pēc ieiešanas logā, bet tikai "
" kad rādītājs beidzis kustēties." "pēc tam, kad rādītājs beidzis kustēties."
#: data/org.gnome.mutter.gschema.xml.in:79 #: data/org.gnome.mutter.gschema.xml.in:79
msgid "Draggable border width" msgid "Draggable border width"
msgstr "Velkams malas platums" msgstr "Velkams malas platums"
#: data/org.gnome.mutter.gschema.xml.in:80 #: data/org.gnome.mutter.gschema.xml.in:80
#| msgid ""
#| "The amount of total draggable borders. If the theme's visible borders are "
#| "not enough, invisible borders will be added to meet this value."
msgid "" msgid ""
"The amount of total draggable borders. If the themes 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."
@@ -416,14 +383,52 @@ msgid ""
msgstr "" msgstr ""
"Ja patiess, jaunie logi vienmēr tiks novietoti monitora aktīvā ekrāna vidū." "Ja patiess, jaunie logi vienmēr tiks novietoti monitora aktīvā ekrāna vidū."
#: data/org.gnome.mutter.gschema.xml.in:120 #: data/org.gnome.mutter.gschema.xml.in:107
msgid "Enable experimental features"
msgstr "Ieslēgt eksperimentālās iespējas"
#: 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 ""
"Lai ieslēgtu eksperimentālās iespējas, pievienojiet iespējas atslēgvārdu "
"sarakstam. Vai iespējai būs nepieciešama kompozitora pārstartēšana, būs "
"atkarīga no dotās iespējas. Jebkura eksperimentāla iespēja var būt "
"nepieejama vai nekonfigurējama. Negaidiet, ka jebkura no šīm iespējām "
"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 "
"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. "
"• “remote-desktop” — ieslēdz attālinātās darbvirsmas atbalstu. Lai "
"atbalstītu attālināto darbvirsmu ar ekrāna koplietošanu, jābūt arī ieslēgtam "
"“screen-cast”. • “screen-cast” — ieslēdz ekrānraides atbalstu."
#: data/org.gnome.mutter.gschema.xml.in:145
msgid "Select window from tab popup" msgid "Select window from tab popup"
msgstr "Izvēlēties logu no tabulatora izvēlnes" msgstr "Izvēlēties logu no tabulatora izvēlnes"
#: data/org.gnome.mutter.gschema.xml.in:125 #: data/org.gnome.mutter.gschema.xml.in:150
msgid "Cancel tab popup" msgid "Cancel tab popup"
msgstr "Atcelt logu rādīšanu" msgstr "Atcelt logu rādīšanu"
#: data/org.gnome.mutter.gschema.xml.in:155
msgid "Switch monitor configurations"
msgstr "Pārslēgt monitoru konfigurācijas"
#: data/org.gnome.mutter.gschema.xml.in:160
msgid "Rotates the built-in monitor configuration"
msgstr "Pagriež iebūvētā monitora konfigurāciju"
#: data/org.gnome.mutter.wayland.gschema.xml.in:6 #: data/org.gnome.mutter.wayland.gschema.xml.in:6
msgid "Switch to VT 1" msgid "Switch to VT 1"
msgstr "Pārslēgties uz VT 1" msgstr "Pārslēgties uz VT 1"
@@ -472,53 +477,98 @@ msgstr "Pārslēgties uz VT 11"
msgid "Switch to VT 12" msgid "Switch to VT 12"
msgstr "Pārslēgties uz VT 12" msgstr "Pārslēgties uz VT 12"
#: data/org.gnome.mutter.wayland.gschema.xml.in:54
msgid "Re-enable shortcuts"
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:1800 #: src/backends/meta-input-settings.c:2260
#, c-format #, c-format
#| msgid "Mode Switch: Mode %d"
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Režīma slēdzis (grupa %d)" 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:1822 #: 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:1824 #: 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:675 #: 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:698 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Nezināms" msgstr "Nezināms"
#: src/backends/meta-monitor-manager.c:700 #: 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:708 #: 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:471 #: src/compositor/compositor.c:481
#, c-format #, 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 "Cits kompozīcijas pārvaldnieks jau darbojas ekrānā %d displejā “%s”." msgstr "Cits kompozīcijas pārvaldnieks jau darbojas ekrānā %d displejā “%s”."
@@ -527,17 +577,62 @@ msgstr "Cits kompozīcijas pārvaldnieks jau darbojas ekrānā %d displejā “%
msgid "Bell event" msgid "Bell event"
msgstr "Zvana notikums" msgstr "Zvana notikums"
#: src/core/display.c:608
#, c-format
msgid "Failed to open X Window System display “%s”\n"
msgstr "Neizdevās atvērt X logu sistēmas displeju “%s”\n"
#: src/core/main.c:190
msgid "Disable connection to session manager"
msgstr "Deaktivēt savienojumu ar sesiju pārvaldnieku"
#: src/core/main.c:196
msgid "Replace the running window manager"
msgstr "Aizvietot darbojošos logu pārvaldnieku"
#: src/core/main.c:202
msgid "Specify session management ID"
msgstr "Norādiet sesiju pārvaldības ID"
#: src/core/main.c:207
msgid "X Display to use"
msgstr "Lietojamais X displejs"
#: src/core/main.c:213
msgid "Initialize session from savefile"
msgstr "Inicializēt sesiju no saglabātās datnes"
#: src/core/main.c:219
msgid "Make X calls synchronous"
msgstr "Padarīt X izsaukumus sinhronus"
#: src/core/main.c:226
msgid "Run as a wayland compositor"
msgstr "Palaist kā wayland kompozitoru"
#: src/core/main.c:232
msgid "Run as a nested compositor"
msgstr "Palaist kā ligzdotu kompozitoru"
#: src/core/main.c:240
msgid "Run as a full display server, rather than nested"
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/delete.c:127 #: src/core/meta-close-dialog-default.c:147
#, c-format #, c-format
msgid "“%s” is not responding." msgid "“%s” is not responding."
msgstr "“%s” nereaģē." msgstr "“%s” nereaģē."
#: src/core/delete.c:129 #: src/core/meta-close-dialog-default.c:149
msgid "Application is not responding." msgid "Application is not responding."
msgstr "Lietotne nereaģē." msgstr "Lietotne nereaģē."
#: 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."
@@ -545,64 +640,16 @@ msgstr ""
"Var uzgaidīt neilgu brīdi, līdz tā atgūstas, vai arī aizvērt to piespiedu " "Var uzgaidīt neilgu brīdi, līdz tā atgūstas, vai arī aizvērt to piespiedu "
"kārtā." "kārtā."
#: src/core/delete.c:141 #: src/core/meta-close-dialog-default.c:161
msgid "_Force Quit" msgid "_Force Quit"
msgstr "Aizvērt _piespiedu kārtā" msgstr "Aizvērt _piespiedu kārtā"
#: src/core/delete.c:141 #: src/core/meta-close-dialog-default.c:161
msgid "_Wait" msgid "_Wait"
msgstr "_Gaidīt" msgstr "_Gaidīt"
#: src/core/display.c:608
#, c-format
#| msgid "Failed to open X Window System display '%s'\n"
msgid "Failed to open X Window System display “%s”\n"
msgstr "Neizdevās atvērt X logu sistēmas displeju “%s”\n"
#: src/core/main.c:189
msgid "Disable connection to session manager"
msgstr "Deaktivēt savienojumu ar sesiju pārvaldnieku"
#: src/core/main.c:195
msgid "Replace the running window manager"
msgstr "Aizvietot darbojošos logu pārvaldnieku"
#: src/core/main.c:201
msgid "Specify session management ID"
msgstr "Norādiet sesiju pārvaldības ID"
#: src/core/main.c:206
msgid "X Display to use"
msgstr "Lietojamais X displejs"
#: src/core/main.c:212
msgid "Initialize session from savefile"
msgstr "Inicializēt sesiju no saglabātās datnes"
#: src/core/main.c:218
msgid "Make X calls synchronous"
msgstr "Padarīt X izsaukumus sinhronus"
#: src/core/main.c:225
msgid "Run as a wayland compositor"
msgstr "Palaist kā wayland kompozitoru"
#: src/core/main.c:231
msgid "Run as a nested compositor"
msgstr "Palaist kā ligzdotu kompozitoru"
#: src/core/main.c:239
msgid "Run as a full display server, rather than nested"
msgstr "Palaist kā pilnu attēlošanas serveri, nevis iegultu"
#: src/core/mutter.c:39 #: src/core/mutter.c:39
#, c-format #, 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 © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n" "Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
@@ -629,11 +676,8 @@ 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 ""
#| "Display \"%s\" already has a window manager; try using the --replace "
#| "option to replace the current window manager."
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 "
"replace the current window manager." "replace the current window manager."
@@ -641,9 +685,8 @@ 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" 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"
@@ -656,10 +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 ""
#| "These windows do not support &quot;save current setup&quot; and will have "
#| "to be restarted manually next time you log in."
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."
@@ -671,4 +711,3 @@ msgstr ""
#, c-format #, c-format
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (uz %s)" msgstr "%s (uz %s)"

129
po/nb.po
View File

@@ -4,11 +4,10 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter 3.23.x\n" "Project-Id-Version: mutter 3.27.x\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=mutter&keywords=I18N+L10N&component=general\n"
"product=mutter&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2017-11-10 18:31+0000\n"
"POT-Creation-Date: 2017-02-16 21:09+0000\n" "PO-Revision-Date: 2017-11-11 18:19+0100\n"
"PO-Revision-Date: 2017-02-19 17:44+0100\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n" "Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian bokmål <i18n-no@lister.ping.uio.no>\n" "Language-Team: Norwegian bokmål <i18n-no@lister.ping.uio.no>\n"
"Language: nb\n" "Language: nb\n"
@@ -168,7 +167,7 @@ msgstr "Flytt til arbeidsområdet over"
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Flytt til arbeidsområdet under" msgstr "Flytt til arbeidsområdet under"
#: 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"
@@ -180,6 +179,10 @@ msgstr "Vis kommandolinje"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Vis oversikt over aktiviteter" msgstr "Vis oversikt over aktiviteter"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Gjenopprett tastatursnarveier"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Vinduer" msgstr "Vinduer"
@@ -393,14 +396,41 @@ msgstr ""
"Når denne er «true» vil mye vinduer alltid plasseres midt på aktivt område " "Når denne er «true» vil mye vinduer alltid plasseres midt på aktivt område "
"på skjermen." "på skjermen."
#: data/org.gnome.mutter.gschema.xml.in:120 #: data/org.gnome.mutter.gschema.xml.in:107
msgid "Enable experimental features"
msgstr "Slå på eksperimentelle funksjoner"
#: 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 "Fjern vindu fra tabulatordialog" msgstr "Fjern vindu fra tabulatordialog"
#: data/org.gnome.mutter.gschema.xml.in:125 #: data/org.gnome.mutter.gschema.xml.in:150
msgid "Cancel tab popup" msgid "Cancel tab popup"
msgstr "Avbryt tabulatordialog" msgstr "Avbryt tabulatordialog"
#: data/org.gnome.mutter.gschema.xml.in:155
msgid "Switch monitor configurations"
msgstr "Bytt skjermkonfigurasjon"
#: data/org.gnome.mutter.gschema.xml.in:160
msgid "Rotates the built-in monitor configuration"
msgstr "Roterer mellom innebyggede skjermkonfigurasjoner"
#: data/org.gnome.mutter.wayland.gschema.xml.in:6 #: data/org.gnome.mutter.wayland.gschema.xml.in:6
msgid "Switch to VT 1" msgid "Switch to VT 1"
msgstr "Bytt til VT 1" msgstr "Bytt til VT 1"
@@ -449,10 +479,14 @@ msgstr "Bytt til VT 11"
msgid "Switch to VT 12" msgid "Switch to VT 12"
msgstr "Bytt til VT 12" msgstr "Bytt til VT 12"
#: data/org.gnome.mutter.wayland.gschema.xml.in:54
msgid "Re-enable shortcuts"
msgstr "Slå på snarveier igjen"
#. 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:1800 #: src/backends/meta-input-settings.c:2167
#, c-format #, c-format
msgid "Mode Switch (Group %d)" msgid "Mode Switch (Group %d)"
msgstr "Modusbytte: (Gruppe %d)" msgstr "Modusbytte: (Gruppe %d)"
@@ -460,37 +494,37 @@ msgstr "Modusbytte: (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:1822 #: src/backends/meta-input-settings.c:2190
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Bytt skjerm" msgstr "Bytt skjerm"
#: src/backends/meta-input-settings.c:1824 #: src/backends/meta-input-settings.c:2192
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Vis hjelp på skjermen" msgstr "Vis hjelp på skjermen"
#: src/backends/meta-monitor-manager.c:675 #: src/backends/meta-monitor-manager.c:900
msgid "Built-in display" msgid "Built-in display"
msgstr "Innebygget skjerm" msgstr "Innebygget skjerm"
#: src/backends/meta-monitor-manager.c:698 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Ukjent" msgstr "Ukjent"
#: src/backends/meta-monitor-manager.c:700 #: src/backends/meta-monitor-manager.c:925
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Ukjent skjerm" msgstr "Ukjent skjerm"
#. 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:708 #: 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:471 #: src/compositor/compositor.c:476
#, 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”."
@@ -500,32 +534,6 @@ msgstr "En annen compositing manager kjører skjerm %i på display «%s»."
msgid "Bell event" msgid "Bell event"
msgstr "Klokkehendelse" msgstr "Klokkehendelse"
#. Translators: %s is a window title
#: src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "«%s» svarer ikke."
#: src/core/delete.c:129
msgid "Application is not responding."
msgstr "Programmet svarer ikke."
#: src/core/delete.c:134
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr ""
"Du kan velge å vente en kort stund for å se om det fortsetter eller tvinge "
"programmet til å avslutte helt."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Tvungen nedstenging"
#: src/core/delete.c:141
msgid "_Wait"
msgstr "_Vent"
#: src/core/display.c:608 #: src/core/display.c:608
#, c-format #, c-format
msgid "Failed to open X Window System display “%s”\n" msgid "Failed to open X Window System display “%s”\n"
@@ -567,6 +575,32 @@ msgstr "Kjør som en nøstet kompositør"
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Kjør som en full skjermtjener, heller enn nøstet" msgstr "Kjør som en full skjermtjener, heller enn nøstet"
#. Translators: %s is a window title
#: src/core/meta-close-dialog-default.c:147
#, c-format
msgid "“%s” is not responding."
msgstr "«%s» svarer ikke."
#: src/core/meta-close-dialog-default.c:149
msgid "Application is not responding."
msgstr "Programmet svarer ikke."
#: src/core/meta-close-dialog-default.c:154
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr ""
"Du kan velge å vente en kort stund for å se om det fortsetter eller tvinge "
"programmet til å avslutte helt."
#: src/core/meta-close-dialog-default.c:161
msgid "_Force Quit"
msgstr "_Tvungen nedstenging"
#: src/core/meta-close-dialog-default.c:161
msgid "_Wait"
msgstr "_Vent"
#: src/core/mutter.c:39 #: src/core/mutter.c:39
#, c-format #, c-format
msgid "" msgid ""
@@ -579,7 +613,8 @@ msgstr ""
"mutter %s\n" "mutter %s\n"
"Opphavsrett © 2001-%d Havoc Pennington, Red Hat, Inc, og andre\n" "Opphavsrett © 2001-%d Havoc Pennington, Red Hat, Inc, og andre\n"
"Dette er fri programvare; se i kildekoden for kopibetingelser.\n" "Dette er fri programvare; se i kildekoden for kopibetingelser.\n"
"Det gis INGEN garanti; ikke en gang for SALGBARHET eller PASSENDE FOR ET BESTEMT FORMÅL.\n" "Det gis INGEN garanti; ikke en gang for SALGBARHET eller PASSENDE FOR ET "
"BESTEMT FORMÅL.\n"
#: src/core/mutter.c:53 #: src/core/mutter.c:53
msgid "Print version" msgid "Print version"
@@ -594,7 +629,7 @@ msgstr "Mutter-tillegg som skal brukes"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Arbeidsområde %d" msgstr "Arbeidsområ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 "
@@ -603,7 +638,7 @@ msgstr ""
"Skjerm «%s» har allerede en vindushåndterer; prøv å bruke flagget --replace " "Skjerm «%s» har allerede en vindushåndterer; prøv å bruke flagget --replace "
"for å erstatte aktiv vindushåndterer." "for å erstatte aktiv vindushåndterer."
#: 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 "Skjerm %d på display «%s» er ugyldig\n" msgstr "Skjerm %d på display «%s» er ugyldig\n"
@@ -621,7 +656,9 @@ msgstr "Modusbytte: Modus %d"
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."
msgstr "Disse vinduene støtter ikke «lagre aktiv konfigurasjon», og vil måtte startes på nytt manuelt neste gang du logger inn." msgstr ""
"Disse vinduene støtter ikke «lagre aktiv konfigurasjon», og vil måtte "
"startes på nytt manuelt neste gang du logger inn."
#: src/x11/window-props.c:559 #: src/x11/window-props.c:559
#, c-format #, c-format

2044
po/ne.po

File diff suppressed because it is too large Load Diff

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"

529
po/pa.po
View File

@@ -8,622 +8,709 @@
# A S Alam <aalam@users.sf.net>, 2006. # A S Alam <aalam@users.sf.net>, 2006.
# A S Alam <aalam@users.sf.net>, 2007, 2009, 2010, 2011. # A S Alam <aalam@users.sf.net>, 2007, 2009, 2010, 2011.
# ASB <aalam@users.sf.net>, 2007. # ASB <aalam@users.sf.net>, 2007.
# Amanpreet Singh Alam <aalam@users.sf.net>, 2009, 2012, 2013, 2014, 2015. # Amanpreet Singh Alam <aalam@users.sf.net>, 2009, 2012, 2013, 2014, 2015, 2017.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: metacity.gnome-2-26\n" "Project-Id-Version: metacity.gnome-2-26\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=mutter"
"product=mutter&keywords=I18N+L10N&component=general\n" "&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-03-13 23:12+0000\n" "POT-Creation-Date: 2017-08-29 16:09+0000\n"
"PO-Revision-Date: 2015-03-13 19:14-0500\n" "PO-Revision-Date: 2017-09-10 18:24-0600\n"
"Last-Translator: A S Alam <aalam@users.sf.net>\n" "Last-Translator: A S Alam <aalam@users.sf.net>\n"
"Language-Team: Punjabi/Panjabi <punjabi-users@lists.sf.net>\n" "Language-Team: Punjabi <punjabi-users@lists.sf.net>\n"
"Language: pa\n" "Language: pa\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: Lokalize 1.5\n" "X-Generator: Lokalize 2.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"\n" "\n"
#: ../data/50-mutter-navigation.xml.in.h:1 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
msgstr "ਨੇਵੀਗੇਸ਼ਨ" msgstr "ਨੇਵੀਗੇਸ਼ਨ"
#: ../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 "ਵਿੰਡੋ ਨੂੰ ਵਰਕਸਪੇਸ ਵਿੱਚ ਲਿਜਾਓ" msgstr "ਵਿੰਡੋ ਨੂੰ ਵਰਕਸਪੇਸ ਵਿੱਚ ਲਿਜਾਓ"
#: ../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 "ਵਿੰਡੋ ਨੂੰ ਵਰਕਸਪੇਸ ੨ ਵਿੱਚ ਲਿਜਾਓ" msgstr "ਵਿੰਡੋ ਨੂੰ ਵਰਕਸਪੇਸ ੨ ਵਿੱਚ ਲਿਜਾਓ"
#: ../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 "ਵਿੰਡੋ ਨੂੰ ਵਰਕਸਪੇਸ ੩ ਵਿੱਚ ਲਿਜਾਓ" msgstr "ਵਿੰਡੋ ਨੂੰ ਵਰਕਸਪੇਸ ੩ ਵਿੱਚ ਲਿਜਾਓ"
#: ../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 "ਵਿੰਡੋ ਨੂੰ ਵਰਕਸਪੇਸ ਵਿੱਚ ਲਿਜਾਓ" msgstr "ਵਿੰਡੋ ਨੂੰ ਵਰਕਸਪੇਸ ਵਿੱਚ ਲਿਜਾਓ"
#: ../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 "ਵਿੰਡੋ ਨੂੰ ਪਿਛਲੇ ਵਰਕਸਪੇਸ ਵਿੱਚ ਲਿਜਾਓ" msgstr "ਵਿੰਡੋ ਨੂੰ ਪਿਛਲੇ ਵਰਕਸਪੇਸ ਵਿੱਚ ਲਿਜਾਓ"
#: ../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 "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਵਰਕਸਪੇਸ ਖੱਬੇ ਵੱਲ ਲਿਜਾਓ" msgstr "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਵਰਕਸਪੇਸ ਖੱਬੇ ਵੱਲ ਲਿਜਾਓ"
#: ../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 "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਵਰਕਸਪੇਸ ਸੱਜੇ ਵੱਲ ਲਿਜਾਓ" msgstr "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਵਰਕਸਪੇਸ ਸੱਜੇ ਵੱਲ ਲਿਜਾਓ"
#: ../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 "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਵਰਕਸਪੇਸ ਉੱਤੇ ਲਿਜਾਓ" msgstr "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਵਰਕਸਪੇਸ ਉੱਤੇ ਲਿਜਾਓ"
#: ../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 "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਵਰਕਸਪੇਸ ਹੇਠਾਂ ਲਿਜਾਓ" msgstr "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਵਰਕਸਪੇਸ ਹੇਠਾਂ ਲਿਜਾਓ"
#: ../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 "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਮਾਨੀਟਰ ਖੱਬੇ ਵੱਲ ਲਿਜਾਓ" msgstr "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਮਾਨੀਟਰ ਖੱਬੇ ਵੱਲ ਲਿਜਾਓ"
#: ../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 "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਮਾਨੀਟਰ ਸੱਜੇ ਵੱਲ ਲਿਜਾਓ" msgstr "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਮਾਨੀਟਰ ਸੱਜੇ ਵੱਲ ਲਿਜਾਓ"
#: ../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 "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਮਾਨੀਟਰ ਉੱਤੇ ਲਿਜਾਓ" msgstr "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਮਾਨੀਟਰ ਉੱਤੇ ਲਿਜਾਓ"
#: ../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 "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਮਾਨੀਟਰ ਹੇਠਾਂ ਲਿਜਾਓ" msgstr "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਮਾਨੀਟਰ ਹੇਠਾਂ ਲਿਜਾਓ"
#: ../data/50-mutter-navigation.xml.in.h:15 #: data/50-mutter-navigation.xml:49
msgid "Switch applications" msgid "Switch applications"
msgstr "ਐਪਲੀਕੇਸ਼ਨ ਬਦਲੋ" msgstr "ਐਪਲੀਕੇਸ਼ਨ ਬਦਲੋ"
#: ../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 "ਪਿਛਲੀ ਐਪਲੀਕੇਸ਼ਨ ਲਈ ਬਦਲੋ" msgstr "ਪਿਛਲੀ ਐਪਲੀਕੇਸ਼ਨ ਲਈ ਬਦਲੋ"
#: ../data/50-mutter-navigation.xml.in.h:17 #: data/50-mutter-navigation.xml:58
msgid "Switch windows" msgid "Switch windows"
msgstr "ਵਿੰਡੋਜ਼ ਬਦਲੋ" msgstr "ਵਿੰਡੋਜ਼ ਬਦਲੋ"
#: ../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 "ਪਿਛਲੀ ਵਿੰਡੋ ਲਈ ਬਦਲੋ" msgstr "ਪਿਛਲੀ ਵਿੰਡੋ ਲਈ ਬਦਲੋ"
#: ../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 "ਐਪਲੀਕੇਸ਼ਨ ਦੀਆਂ ਵਿੰਡੋਜ਼ ਬਦਲੋ" msgstr "ਐਪਲੀਕੇਸ਼ਨ ਦੀਆਂ ਵਿੰਡੋਜ਼ ਬਦਲੋ"
#: ../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 "ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਪਿਛਲੀ ਵਿੰਡੋ ਵਿੱਚ ਜਾਓ" msgstr "ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਪਿਛਲੀ ਵਿੰਡੋ ਵਿੱਚ ਜਾਓ"
#: ../data/50-mutter-navigation.xml.in.h:21 #: data/50-mutter-navigation.xml:76
msgid "Switch system controls" msgid "Switch system controls"
msgstr "ਸਿਸਟਮ ਕੰਟਰੋਲ ਬਦਲੋ" msgstr "ਸਿਸਟਮ ਕੰਟਰੋਲ ਬਦਲੋ"
#: ../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 "ਪਿਛਲੇ ਸਿਸਟਮ ਕੰਟਰੋਲ ਬਦਲੋ" msgstr "ਪਿਛਲੇ ਸਿਸਟਮ ਕੰਟਰੋਲ ਬਦਲੋ"
#: ../data/50-mutter-navigation.xml.in.h:23 #: data/50-mutter-navigation.xml:85
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "ਵਿੰਡੋਜ਼ ਸਿੱਧੀਆਂ ਬਦਲੋ" msgstr "ਵਿੰਡੋਜ਼ ਸਿੱਧੀਆਂ ਬਦਲੋ"
#: ../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 "ਸਿੱਧਾ ਪਿਛਲੀ ਵਿੰਡੋ ਲਈ ਬਦਲੋ" msgstr "ਸਿੱਧਾ ਪਿਛਲੀ ਵਿੰਡੋ ਲਈ ਬਦਲੋ"
#: ../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 "ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਵਿੰਡੋਜ਼ ਸਿੱਧੀ ਬਦਲੋ" msgstr "ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਵਿੰਡੋਜ਼ ਸਿੱਧੀ ਬਦਲੋ"
#: ../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 "ਸਿੱਧਾ ਐਪ ਦੀ ਪਿਛਲੀ ਵਿੰਡੋ ਲਈ ਬਦਲੋ" msgstr "ਸਿੱਧਾ ਐਪ ਦੀ ਪਿਛਲੀ ਵਿੰਡੋ ਲਈ ਬਦਲੋ"
#: ../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 "ਸਿਸਟਮ ਕੰਟਰੋਲ ਸਿੱਧੇ ਬਦਲੋ" msgstr "ਸਿਸਟਮ ਕੰਟਰੋਲ ਸਿੱਧੇ ਬਦਲੋ"
#: ../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 "ਸਿੱਧਾ ਪਿਛਲੇ ਸਿਸਟਮ ਕੰਟਰੋਲ ਲਈ ਬਦਲੋ" msgstr "ਸਿੱਧਾ ਪਿਛਲੇ ਸਿਸਟਮ ਕੰਟਰੋਲ ਲਈ ਬਦਲੋ"
#: ../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 "ਸਭ ਸਧਾਰਨ ਵਿੰਡੋਜ਼ ਓਹਲੇ ਕਰੋ" msgstr "ਸਭ ਸਧਾਰਨ ਵਿੰਡੋਜ਼ ਓਹਲੇ ਕਰੋ"
#: ../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 "ਵਰਕਸਪੇਸ ਵਿੱਚ ਜਾਓ" msgstr "ਵਰਕਸਪੇਸ ਵਿੱਚ ਜਾਓ"
#: ../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 "ਵਰਕਸਪੇਸ ੨ ਵਿੱਚ ਜਾਓ" msgstr "ਵਰਕਸਪੇਸ ੨ ਵਿੱਚ ਜਾਓ"
#: ../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 "ਵਰਕਸਪੇਸ ੩ ਵਿੱਚ ਜਾਓ" msgstr "ਵਰਕਸਪੇਸ ੩ ਵਿੱਚ ਜਾਓ"
#: ../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 "ਵਰਕਸਪੇਸ ਵਿੱਚ ਜਾਓ" msgstr "ਵਰਕਸਪੇਸ ਵਿੱਚ ਜਾਓ"
#: ../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 "ਪਿਛਲੇ ਵਰਕਸਪੇਸ ਵਿੱਚ ਜਾਓ" msgstr "ਪਿਛਲੇ ਵਰਕਸਪੇਸ ਵਿੱਚ ਜਾਓ"
#: ../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 "ਖੱਬੇ ਵਰਕਸਪੇਸ 'ਚ ਭੇਜੋ" msgstr "ਖੱਬੇ ਵਰਕਸਪੇਸ 'ਚ ਭੇਜੋ"
#: ../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 "ਸੱਜੇ ਵਰਕਸਪੇਸ 'ਚ ਭੇਜੋ" msgstr "ਸੱਜੇ ਵਰਕਸਪੇਸ 'ਚ ਭੇਜੋ"
#: ../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 "ਉੱਤੇ ਵਰਕਸਪੇਸ 'ਚ ਭੇਜੋ" msgstr "ਉੱਤੇ ਵਰਕਸਪੇਸ 'ਚ ਭੇਜੋ"
#: ../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 "ਹੇਠਾਂ ਵਰਕਸਪੇਸ 'ਚ ਭੇਜੋ" msgstr "ਹੇਠਾਂ ਵਰਕਸਪੇਸ 'ਚ ਭੇਜੋ"
#: ../data/50-mutter-system.xml.in.h:1 #: data/50-mutter-system.xml:6
msgid "System" msgid "System"
msgstr "ਸਿਸਟਮ" msgstr "ਸਿਸਟਮ"
#: ../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-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "ਵਿੰਡੋਜ਼" msgstr "ਵਿੰਡੋਜ਼"
#: ../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 "ਐਕਟਿਵੇਟ ਵਿੰਡੋ ਮੇਨੂ" msgstr "ਐਕਟਿਵੇਟ ਵਿੰਡੋ ਮੇਨੂ"
#: ../data/50-mutter-windows.xml.in.h:3 #: data/50-mutter-windows.xml:10
msgid "Toggle fullscreen mode" msgid "Toggle fullscreen mode"
msgstr "ਪੂਰੀ ਸਕਰੀਨ ਮੋਡ ਬਦਲੋ" msgstr "ਪੂਰੀ ਸਕਰੀਨ ਮੋਡ ਬਦਲੋ"
#: ../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 "ਵਿੰਡੋ ਵੱਧੋ-ਵੱਧ" msgstr "ਵਿੰਡੋ ਵੱਧੋ-ਵੱਧ"
#: ../data/50-mutter-windows.xml.in.h:6 #: data/50-mutter-windows.xml:16
msgid "Restore window" msgid "Restore window"
msgstr "ਵਿੰਡੋ ਮੁੜ-ਸਟੋਰ" msgstr "ਵਿੰਡੋ ਮੁੜ-ਸਟੋਰ"
#: ../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 "ਵਿੰਡੋ ਬੰਦ ਕਰੋ" msgstr "ਵਿੰਡੋ ਬੰਦ ਕਰੋ"
#: ../data/50-mutter-windows.xml.in.h:9 #: data/50-mutter-windows.xml:22
msgid "Hide window" msgid "Hide window"
msgstr "ਵਿੰਡੋ ਓਹਲੇ" msgstr "ਵਿੰਡੋ ਓਹਲੇ"
#: ../data/50-mutter-windows.xml.in.h:10 #: data/50-mutter-windows.xml:24
msgid "Move window" msgid "Move window"
msgstr "ਵਿੰਡੋ ਹਿਲਾਓ" msgstr "ਵਿੰਡੋ ਹਿਲਾਓ"
#: ../data/50-mutter-windows.xml.in.h:11 #: data/50-mutter-windows.xml:26
msgid "Resize window" msgid "Resize window"
msgstr "ਵਿੰਡੋ ਮੁੜ-ਅਕਾਰ" msgstr "ਵਿੰਡੋ ਮੁੜ-ਅਕਾਰ"
#: ../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 "ਵਿੰਡੋ ਖੜਵੇਂ ਰੂਪ ਵਿੱਚ ਵੱਧੋ-ਵੱਧ" msgstr "ਵਿੰਡੋ ਖੜਵੇਂ ਰੂਪ ਵਿੱਚ ਵੱਧੋ-ਵੱਧ"
#: ../data/50-mutter-windows.xml.in.h:17 #: data/50-mutter-windows.xml:39
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "ਵਿੰਡੋ ਲੇਟਵੇਂ ਰੂਪ ਵਿੱਚ ਵੱਧੋ-ਵੱਧ" msgstr "ਵਿੰਡੋ ਲੇਟਵੇਂ ਰੂਪ ਵਿੱਚ ਵੱਧੋ-ਵੱਧ"
#: ../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 "ਮੱਟਰ" msgstr "ਮੱਟਰ"
#: ../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 ""
#| "This key will initiate the \"overlay\", which is a combination window "
#| "overview and application launching system. The default is intended to be "
#| "the \"Windows key\" on PC hardware. It's expected that this binding "
#| "either the default or set to the empty string."
msgid "" 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 ""
"ਇਹ ਸਵਿੱਚ \"ਓਵਰਲੇ\" ਸ਼ੁਰੂ ਕਰਦੀ ਹੈ, ਜੋ ਕਿ ਵਿੰਡੋ ਸੰਖੇਪ ਤੇ ਐਪਲੀਕੇਸ਼ਨ ਚਲਾਉਣ ਸਿਸਟਮ " "ਇਹ ਸਵਿੱਚ ਓਵਰਲੇ ਸ਼ੁਰੂ ਕਰਦੀ ਹੈ, ਜੋ ਕਿ ਵਿੰਡੋ ਸੰਖੇਪ ਤੇ ਐਪਲੀਕੇਸ਼ਨ ਚਲਾਉਣ ਸਿਸਟਮ ਦੀ"
"ਦੀ ਜੋੜ ਹੈ। " " ਜੋੜ ਹੈ। "
"ਡਿਫਾਲਟ ਇਹ PC ਹਾਰਡਵੇਅਰ ਉੱਤੇ \"ਵਿੰਡੋਜ਼ ਸਵਿੱਚ\" ਨਾਲ ਵਰਤਣ ਲਈ ਹੈ। ਇਹ ਉਮੀਦ ਕੀਤੀ " "ਡਿਫਾਲਟ ਇਹ PC ਹਾਰਡਵੇਅਰ ਉੱਤੇ ਵਿੰਡੋਜ਼ ਸਵਿੱਚ ਨਾਲ ਵਰਤਣ ਲਈ ਹੈ। ਇਹ ਉਮੀਦ ਕੀਤੀ ਜਾਂਦੀ"
"ਜਾਂਦੀ ਹੈ ਕਿ " " ਹੈ ਕਿ "
"ਜਾਂ ਤਾਂ ਡਿਫਾਲਟ ਬਾਈਡਿੰਗ ਰੱਖੀ ਜਾਵੇ ਜਾਂ ਖਾਲੀ ਲਾਈਨ ਵਰਤੀ ਜਾਵੇ।" "ਜਾਂ ਤਾਂ ਡਿਫਾਲਟ ਬਾਈਡਿੰਗ ਰੱਖੀ ਜਾਵੇ ਜਾਂ ਖਾਲੀ ਲਾਈਨ ਵਰਤੀ ਜਾਵੇ।"
#: ../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 ""
#| "Determines whether workspaces are managed dynamically or whether there's "
#| "a static number of workspaces (determined by the num-workspaces key in "
#| "org.gnome.desktop.wm.preferences)."
msgid "" 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 ""
"ਦੱਸੋ ਕਿ ਕੀ ਵਰਕਸਪੇਸ ਨੂੰ ਚਲਵੇਂ ਰੂਪ ਵਿੱਚ ਰੱਖਣਾ ਹੈ ਜਾਂ ਵਰਕਸਪੇਸ ਦੀ ਗਿਣਤੀ ਸਥਿਰ ਹੋਵੇ " "ਦੱਸੋ ਕਿ ਕੀ ਵਰਕਸਪੇਸ ਨੂੰ ਚਲਵੇਂ ਰੂਪ ਵਿੱਚ ਰੱਖਣਾ ਹੈ ਜਾਂ ਵਰਕਸਪੇਸ ਦੀ ਗਿਣਤੀ ਸਥਿਰ ਹੋਵੇ"
"(ਜੋ ਕਿ org." " (ਜੋ ਕਿ org."
"gnome.desktop.wm.preferences ਵਿੱਚ num-workspaces ਕੁੰਜੀ ਰਾਹੀਂ ਦੱਸੀ ਜਾਂਦੀ ਹੈ)।" "gnome.desktop.wm.preferences ਵਿੱਚ num-workspaces ਕੁੰਜੀ ਰਾਹੀਂ ਦੱਸੀ ਜਾਂਦੀ ਹੈ)।"
#: ../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 ""
#| "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
#| "the focus will not be changed immediately when entering a window, but "
#| "only after the pointer stops moving."
msgid "" 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 ""
"ਜੇ ਇਹ ਸਹੀਂ ਹੋਵੇ ਤਾਂ ਫੋਕਸ ਢੰਗ ਜਾਂ ਤਾਂ \"ਸਲੋਪੀ\" ਜਾਂ \"ਮਾਊਂਸ\" ਹੁੰਦਾ ਹੈ ਤਾਂ " "ਜੇ ਇਹ ਸਹੀਂ ਹੋਵੇ ਤਾਂ ਫੋਕਸ ਢੰਗ ਜਾਂ ਤਾਂ ਸਲੋਪੀ ਜਾਂ ਮਾਊਂਸ ਹੁੰਦਾ ਹੈ ਤਾਂ ਫੋਕਸ"
"ਫੋਕਸ ਹੋਇਆ ਵਿੰਡੋ " " ਹੋਇਆ ਵਿੰਡੋ "
"auto_raise_delay ਕੁੰਜੀ ਵਲੋਂ ਦਿੱਤੇ ਇੱਕ ਅੰਤਰਾਲ ਬਾਅਦ ਆਟੋਮੈਟਿਕ ਹੀ ਉਭਾਰਿਆ ਜਾਵੇਗਾ।" "auto_raise_delay ਕੁੰਜੀ ਵਲੋਂ ਦਿੱਤੇ ਇੱਕ ਅੰਤਰਾਲ ਬਾਅਦ ਆਟੋਮੈਟਿਕ ਹੀ ਉਭਾਰਿਆ ਜਾਵੇਗਾ।"
#: ../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 ""
#| "The amount of total draggable borders. If the theme's visible borders are "
#| "not enough, invisible borders will be added to meet this value."
msgid "" 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
#| msgid "Switch applications"
msgid "Switch monitor configurations"
msgstr "ਮਾਨੀਟਰ ਸੰਰਚਨਾ ਨੂੰ ਬਦਲੋ"
#: 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 "VT 1 ਲਈ ਬਦਲੋ" msgstr "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 "VT 2 ਲਈ ਬਦਲੋ" msgstr "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 "VT 3 ਲਈ ਬਦਲੋ" msgstr "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 "VT 4 ਲਈ ਬਦਲੋ" msgstr "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 "VT 5 ਲਈ ਬਦਲੋ" msgstr "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 "VT 6 ਲਈ ਬਦਲੋ" msgstr "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 "VT 7 ਲਈ ਬਦਲੋ" msgstr "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 1"
msgid "Switch to VT 8" msgid "Switch to VT 8"
msgstr "VT 8 ਲਈ ਬਦਲੋ" msgstr "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 1"
msgid "Switch to VT 9" msgid "Switch to VT 9"
msgstr "VT 9 ਲਈ ਬਦਲੋ" msgstr "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 1"
msgid "Switch to VT 10" msgid "Switch to VT 10"
msgstr "VT 10 ਲਈ ਬਦਲੋ" msgstr "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 1"
msgid "Switch to VT 11" msgid "Switch to VT 11"
msgstr "VT 11 ਲਈ ਬਦਲੋ" msgstr "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 1"
msgid "Switch to VT 12" msgid "Switch to VT 12"
msgstr "VT 12 ਲਈ ਬਦਲੋ" msgstr "VT 12 ਲਈ ਬਦਲੋ"
#: ../src/backends/meta-monitor-manager.c:364 #: data/org.gnome.mutter.wayland.gschema.xml.in:54
msgid "Re-enable shortcuts"
msgstr "ਸ਼ਾਰਟਕੱਟ ਮੁੜ-ਸਮਰੱਥ ਕਰੋ"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:2151
#, c-format
msgid "Mode Switch (Group %d)"
msgstr "ਮੋਡ ਬਦਲੋ (ਗਰੁੱਪ %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:2174
#| msgid "Switch system controls"
msgid "Switch monitor"
msgstr "ਮਾਨੀਟਰ ਨੂੰ ਬਦਲੋ"
#: src/backends/meta-input-settings.c:2176
msgid "Show on-screen help"
msgstr "ਆਨ-ਸਕਰੀਨ ਮਦਦ ਵੇਖੋ"
#: src/backends/meta-monitor-manager.c:903
msgid "Built-in display" msgid "Built-in display"
msgstr "ਬਿਲਟ-ਇਨ ਡਿਸਪਲੇਅ" msgstr "ਬਿਲਟ-ਇਨ ਡਿਸਪਲੇਅ"
#: ../src/backends/meta-monitor-manager.c:391 #: src/backends/meta-monitor-manager.c:926
msgid "Unknown" msgid "Unknown"
msgstr "ਅਣਜਾਣ" msgstr "ਅਣਜਾਣ"
#: ../src/backends/meta-monitor-manager.c:393 #: src/backends/meta-monitor-manager.c:928
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:401 #: src/backends/meta-monitor-manager.c:936
#, 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:476
#, c-format #, 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 "" msgstr ""
"ਇੱਕ ਹੋਰ ਕੰਪੋਜ਼ਟਿੰਗ ਮੈਨੇਜਰ %i ਸਕਰੀਨ ਉੱਤੇ ਡਿਸਪਲੇਅ \"%s\" ਉੱਤੇ ਪਹਿਲਾਂ ਹੀ ਚੱਲ " "ਇੱਕ ਹੋਰ ਕੰਪੋਜ਼ਟਿੰਗ ਮੈਨੇਜਰ %i ਸਕਰੀਨ ਉੱਤੇ ਡਿਸਪਲੇਅ ”%s” ਉੱਤੇ ਪਹਿਲਾਂ ਹੀ ਚੱਲ ਰਿਹਾ"
"ਰਿਹਾ ਹੈ।" " ਹੈ।"
#: ../src/core/bell.c:185 #: 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"
msgid "Failed to open X Window System display “%s”\n"
msgstr "X ਵਿੰਡੋ ਸਿਸਟਮ ਡਿਸਪਲੇਅ ”%s” ਨੂੰ ਖੋਲਣ ਵਿੱਚ ਅਸਮਰਥ\n"
#: 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 "ਸ਼ੈਸ਼ਨ ਪਰਬੰਧਨ ID ਦਿਓ"
#: src/core/main.c:206
msgid "X Display to use"
msgstr "ਵਰਤਣ ਲਈ X ਡਿਸਪਲੇਅ"
#: src/core/main.c:212
msgid "Initialize session from savefile"
msgstr "ਸੰਭਾਲੀ ਫਾਇਲ ਤੋਂ ਸ਼ੈਸ਼ਨ ਸ਼ੁਰੂ"
#: src/core/main.c:218
msgid "Make X calls synchronous"
msgstr "X ਕਾਲ ਸੈਕਰੋਨਸ ਬਣਾਓ"
#: src/core/main.c:225
msgid "Run as a wayland compositor"
msgstr "ਵੇਲੈਂਡ ਕੰਪੋਜ਼ਰ ਵਜੋਂ ਚਲਾਓ"
#: src/core/main.c:231
#| msgid "Run as a wayland compositor"
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 "\"%s\" ਜਵਾਬ ਨਹੀਂ ਦੇ ਰਹੀ ਹੈ।" msgstr "\"%s\" ਜਵਾਬ ਨਹੀਂ ਦੇ ਰਹੀ ਹੈ।"
#: ../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 "ਉਡੀਕੋ(_W)"
#: ../src/core/delete.c:141
msgid "_Force Quit" msgid "_Force Quit"
msgstr "ਧੱਕੇ ਨਾਲ ਬੰਦ(_F)" msgstr "ਧੱਕੇ ਨਾਲ ਬੰਦ(_F)"
#: ../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 "ਉਡੀਕੋ(_W)"
msgstr "X ਵਿੰਡੋ ਸਿਸਟਮ ਡਿਸਪਲੇਅ '%s' ਨੂੰ ਖੋਲਣ ਵਿੱਚ ਅਸਮਰਥ\n"
#: src/core/mutter.c:39
#: ../src/core/main.c:176
msgid "Disable connection to session manager"
msgstr "ਸ਼ੈਸ਼ਨ ਮੈਨੇਜਰ ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਅਯੋਗ"
#: ../src/core/main.c:182
msgid "Replace the running window manager"
msgstr "ਚੱਲ ਰਹੇ ਵਿੰਡੋ ਮੈਨੇਜਰ ਨੂੰ ਬਦਲੋ"
#: ../src/core/main.c:188
msgid "Specify session management ID"
msgstr "ਸ਼ੈਸ਼ਨ ਪਰਬੰਧਨ ID ਦਿਓ"
#: ../src/core/main.c:193
msgid "X Display to use"
msgstr "ਵਰਤਣ ਲਈ X ਡਿਸਪਲੇਅ"
#: ../src/core/main.c:199
msgid "Initialize session from savefile"
msgstr "ਸੰਭਾਲੀ ਫਾਇਲ ਤੋਂ ਸ਼ੈਸ਼ਨ ਸ਼ੁਰੂ"
#: ../src/core/main.c:205
msgid "Make X calls synchronous"
msgstr "X ਕਾਲ ਸੈਕਰੋਨਸ ਬਣਾਓ"
#: ../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 ""
"ਮੱਟਰ %s\n" "ਮੱਟਰ %s\n"
"ਹੱਕ ਰਾਖਵੇਂ ਹਨ(C) ੨੦੦੧-%d ਹਾਵੇਨ ਪੈਨਿੰਗਟੋਨ, ਰੈੱਡ ਹੈੱਟ, ਅਤੇ ਹੋਰ\n" "ਹੱਕ ਰਾਖਵੇਂ ਹਨ © ੨੦੦੧-%d ਹਾਵੇਨ ਪੈਨਿੰਗਟੋਨ, ਰੈੱਡ ਹੈੱਟ, ਅਤੇ ਹੋਰ\n"
"ਇਹ ਮੁਫਤ ਸਾਫਟਵੇਅਰ ਹੈ; ਉਤਾਰਾ ਹਾਲਤਾਂ ਲਈ ਸਰੋਤ ਵੇਖੋ।\n" "ਇਹ ਮੁਫਤ ਸਾਫਟਵੇਅਰ ਹੈ; ਉਤਾਰਾ ਹਾਲਤਾਂ ਲਈ ਸਰੋਤ ਵੇਖੋ।\n"
"ਇਸ ਦੀ ਕੋਈ ਗਰੰਟੀ ਨਹੀ; ਇਥੋਂ ਤੱਕ ਕਿ ਖਰੀਦਦਾਰੀ ਜਾਂ ਖਾਸ ਮਕਸਦ ਦੀ ਪੂਰਤੀ ਲਈ ਵੀ।\n" "ਇਸ ਦੀ ਕੋਈ ਗਰੰਟੀ ਨਹੀ; ਇਥੋਂ ਤੱਕ ਕਿ ਖਰੀਦਦਾਰੀ ਜਾਂ ਖਾਸ ਮਕਸਦ ਦੀ ਪੂਰਤੀ ਲਈ ਵੀ।\n"
#: ../src/core/mutter.c:53 #: src/core/mutter.c:53
msgid "Print version" msgid "Print version"
msgstr "ਵਰਜਨ ਛਾਪੋ" msgstr "ਵਰਜਨ ਛਾਪੋ"
#: ../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 "ਵਰਕਸਪੇਸ %d" msgstr "ਵਰਕਸਪੇਸ %d"
#: ../src/core/screen.c:525 #: src/core/screen.c:580
#, 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 ""
"ਡਿਸਪਲੇਅ \"%s\" ਉੱਤੇ ਪਹਿਲਾਂ ਹੀ ਵਿੰਡੋ ਮੈਨੇਜਰ ਮੌਜੂਦ ਹੈ; ਮੌਜੂਦਾ ਵਿੰਡੋ ਮੈਨੇਜਰ ਨੂੰ " "ਡਿਸਪਲੇਅ ”%s” ਉੱਤੇ ਪਹਿਲਾਂ ਹੀ ਵਿੰਡੋ ਮੈਨੇਜਰ ਮੌਜੂਦ ਹੈ; ਮੌਜੂਦਾ ਵਿੰਡੋ ਮੈਨੇਜਰ ਨੂੰ"
"ਬਦਲਣ ਲਈ --replace " " ਬਦਲਣ ਲਈ --replace "
"ਚੋਣ ਵਰਤ ਕੇ ਦੇਖੋ।" "ਚੋਣ ਵਰਤ ਕੇ ਦੇਖੋ।"
#: ../src/core/screen.c:607 #: src/core/screen.c:665
#, 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" msgid "Screen %d on display “%s” is invalid\n"
msgstr "ਡਿਸਪਲੇਅ ”%2$s” ਉੱਤੇ ਸਕਰੀਨ %1$d ਗਲਤ ਹੈ\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 "ਮੱਟਰ, ਵਰਬੋਜ਼ ਮੋਡ ਲਈ ਸਹਾਰੇ ਤੋਂ ਬਿਨਾਂ ਕੰਪਾਇਲ ਹੋਇਆ\n" msgstr "ਮੱਟਰ, ਵਰਬੋਜ਼ ਮੋਡ ਲਈ ਸਹਾਰੇ ਤੋਂ ਬਿਨਾਂ ਕੰਪਾਇਲ ਹੋਇਆ\n"
#: ../src/x11/session.c:1815 #: src/wayland/meta-wayland-tablet-pad.c:563
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "ਮੋਡ ਬਦਲੋ: ਮੋਡ %d"
#: src/x11/session.c:1815
#| msgid ""
#| "These windows do not support &quot;save current setup&quot; and will have "
#| "to be restarted manually next time you log in."
msgid "" 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 ""
"ਇਹ ਵਿੰਡੋ &quot;ਮੌਜੂਦਾ ਸੈਟਅੱਪ ਸੰਭਾਲੋ&quot; ਵਾਸਤੇ ਸਹਾਇਕ ਨਹੀਂ ਅਤੇ ਅਗਲੀ ਵਾਰ ਜਦੋਂ " "ਇਹ ਵਿੰਡੋ ਮੌਜੂਦਾ ਸੈਟਅੱਪ ਸੰਭਾਲੋ ਵਾਸਤੇ ਸਹਾਇਕ ਨਹੀਂ ਅਤੇ ਅਗਲੀ ਵਾਰ ਜਦੋਂ ਤੁਸੀਂ"
"ਤੁਸੀਂ ਲਾਗਇਨ " " ਲਾਗਇਨ "
"ਕਰੋਗੇ ਤਾਂ ਮੁੜ ਸ਼ੁਰੂ ਕਰਨਾ ਪਵੇਗਾ।" "ਕਰੋਗੇ ਤਾਂ ਮੁੜ ਸ਼ੁਰੂ ਕਰਨਾ ਪਵੇਗਾ।"
#: ../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 (%s ਉੱਤੇ)" msgstr "%s (%s ਉੱਤੇ)"

300
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: http://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-02-16 21:09+0000\n" "PO-Revision-Date: 2018-02-08 02:05+0100\n"
"PO-Revision-Date: 2017-02-19 21:52+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,134 +49,118 @@ 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"
#: 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"
@@ -189,6 +172,10 @@ msgstr "Wyświetlenie okna wykonania polecenia"
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Wyświetlenie podglądu aktywności" msgstr "Wyświetlenie podglądu aktywności"
#: data/50-mutter-wayland.xml:8
msgid "Restore the keyboard shortcuts"
msgstr "Przywrócenie skrótów klawiszowych"
#: data/50-mutter-windows.xml:6 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Okna" msgstr "Okna"
@@ -214,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"
@@ -409,14 +392,52 @@ msgstr ""
"Jeśli wynosi wartość „true”, to nowe okna będą zawsze umieszczane na środku " "Jeśli wynosi wartość „true”, to nowe okna będą zawsze umieszczane na środku "
"aktywnego ekranu monitora." "aktywnego ekranu monitora."
#: data/org.gnome.mutter.gschema.xml.in:120 #: data/org.gnome.mutter.gschema.xml.in:107
msgid "Enable experimental features"
msgstr "Funkcje eksperymentalne"
#: 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 ""
"Aby włączyć eksperymentalne funkcje, należy dodać słowo kluczowe funkcji do "
"tej listy. Niektóre funkcje wymagają ponownego uruchomienia menedżera okien. "
"Dostępność funkcji eksperymentalnych nie jest gwarantowana. W przyszłości "
"każda funkcja może zostać usunięta. Obecnie obsługiwane słowa kluczowe: • "
"„scale-monitor-framebuffer” — sprawia, że menedżer okien do zarządzania "
"monitorami o wysokiej rozdzielczości domyślnie układa logiczne monitory "
"w przestrzeni współrzędnych logicznych pikseli, jednocześnie skalując bufory "
"ramki monitorów zamiast zawartości okien. Nie wymaga ponownego uruchomienia. "
"• „remote-desktop” — włącza obsługę zdalnego pulpitu. Aby dodać "
"udostępnianie ekranu, należy włączyć także opcję „screen-cast”. • „screen-"
"cast” — włącza obsługę nagrywania ekranu."
#: data/org.gnome.mutter.gschema.xml.in:145
msgid "Select window from tab popup" msgid "Select window from tab popup"
msgstr "Wybór okna z wyskakującego okna dla tabulacji" msgstr "Wybór okna z wyskakującego okna dla tabulacji"
#: data/org.gnome.mutter.gschema.xml.in:125 #: data/org.gnome.mutter.gschema.xml.in:150
msgid "Cancel tab popup" msgid "Cancel tab popup"
msgstr "Anulowanie wyskakującego okna dla tabulacji" msgstr "Anulowanie wyskakującego okna dla tabulacji"
#: data/org.gnome.mutter.gschema.xml.in:155
msgid "Switch monitor configurations"
msgstr "Przełączenie konfiguracji monitorów"
#: data/org.gnome.mutter.gschema.xml.in:160
msgid "Rotates the built-in monitor configuration"
msgstr "Obrócenie wbudowanego monitora"
#: data/org.gnome.mutter.wayland.gschema.xml.in:6 #: data/org.gnome.mutter.wayland.gschema.xml.in:6
msgid "Switch to VT 1" msgid "Switch to VT 1"
msgstr "Przełączenie na 1. konsolę wirtualną" msgstr "Przełączenie na 1. konsolę wirtualną"
@@ -465,10 +486,59 @@ msgstr "Przełączenie na 11. konsolę wirtualną"
msgid "Switch to VT 12" msgid "Switch to VT 12"
msgstr "Przełączenie na 12. konsolę wirtualną" msgstr "Przełączenie na 12. konsolę wirtualną"
#: data/org.gnome.mutter.wayland.gschema.xml.in:54
msgid "Re-enable shortcuts"
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:1800 #: 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)"
@@ -476,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:1822 #: 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:1824 #: src/backends/meta-input-settings.c:2285
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Wyświetlenie pomocy na ekranie" msgstr "Ekran pomocy"
#: src/backends/meta-monitor-manager.c:675 #: 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:698 #: src/backends/meta-monitor-manager.c:923
msgid "Unknown" msgid "Unknown"
msgstr "Nieznany" msgstr "Nieznany"
#: src/backends/meta-monitor-manager.c:700 #: 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:708 #: 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:471 #: 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”."
@@ -517,71 +587,75 @@ msgstr ""
msgid "Bell event" msgid "Bell event"
msgstr "Zdarzenie sygnału dźwiękowego" msgstr "Zdarzenie sygnału dźwiękowego"
#. Translators: %s is a window title
#: src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "Okno „%s” nie odpowiada."
#: src/core/delete.c:129
msgid "Application is not responding."
msgstr "Program nie odpowiada."
#: src/core/delete.c:134
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr "Można poczekać chwilę dłużej lub wymusić zakończenie programu."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Zakończ"
#: src/core/delete.c:141
msgid "_Wait"
msgstr "_Czekaj"
#: src/core/display.c:608 #: src/core/display.c:608
#, c-format #, c-format
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
#: src/core/meta-close-dialog-default.c:147
#, c-format
msgid "“%s” is not responding."
msgstr "Okno „%s” nie odpowiada."
#: src/core/meta-close-dialog-default.c:149
msgid "Application is not responding."
msgstr "Program nie odpowiada."
#: src/core/meta-close-dialog-default.c:154
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr "Można poczekać chwilę dłużej lub wymusić zakończenie programu."
#: src/core/meta-close-dialog-default.c:161
msgid "_Force Quit"
msgstr "_Zakończ"
#: src/core/meta-close-dialog-default.c:161
msgid "_Wait"
msgstr "_Czekaj"
#: src/core/mutter.c:39 #: src/core/mutter.c:39
#, c-format #, c-format
msgid "" msgid ""
@@ -611,7 +685,7 @@ msgstr "Używana wtyczka menedżera Mutter"
msgid "Workspace %d" msgid "Workspace %d"
msgstr "%d. obszar roboczy" msgstr "%d. obszar roboczy"
#: 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 "
@@ -620,7 +694,7 @@ msgstr ""
"Na ekranie „%s” działa już menedżer okien. Aby zastąpić działającego " "Na ekranie „%s” działa już menedżer okien. Aby zastąpić działającego "
"menedżera okien, należy użyć opcji „--replace”." "menedżera okien, należy użyć opcji „--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 "Podekran %d ekranu „%s” jest nieprawidłowy\n" msgstr "Podekran %d ekranu „%s” jest nieprawidłowy\n"
@@ -635,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."

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