Compare commits
319 Commits
wip/xwayla
...
wip/carlos
Author | SHA1 | Date | |
---|---|---|---|
9a13882a95 | |||
4f6a3cd874 | |||
59e89f0d63 | |||
8ec46e8021 | |||
92ce68d257 | |||
ff79e651f0 | |||
0f9b388526 | |||
d7cb3da324 | |||
ca654ac544 | |||
6e3b0eb430 | |||
3483cc8831 | |||
798026498d | |||
49f029571c | |||
290b257288 | |||
2b60fb0144 | |||
7f5f5eb847 | |||
44269e6a1d | |||
70dfe8c97d | |||
072afa5fa3 | |||
519a0fd93d | |||
5f132f3975 | |||
1546989845 | |||
1923db97c1 | |||
db32047a5d | |||
b505eb261e | |||
1a1db9ef8d | |||
b1587f0716 | |||
93e450f37c | |||
fc713ecb70 | |||
500c13ab6f | |||
050267fe74 | |||
ce25a0171c | |||
b7518c8651 | |||
62dedfbef3 | |||
4508978ea5 | |||
c533a06e93 | |||
5d3b4f0134 | |||
4cf340ae9b | |||
053ac03f01 | |||
28a9439209 | |||
cf4b5efdd1 | |||
3067dab84c | |||
1790320ba3 | |||
f45df4265d | |||
bcbcd6a68c | |||
b1a0bf8916 | |||
6c18bae83c | |||
d0531966eb | |||
989a47ee8c | |||
03be6b687b | |||
32c22d375a | |||
bdf3f49a82 | |||
356b4b0dc5 | |||
3fc2ea8297 | |||
06d976e853 | |||
96ebd1c214 | |||
fa28481736 | |||
76b064cffc | |||
333b5d12a0 | |||
aa73504d95 | |||
32305b453d | |||
7d5e08c843 | |||
dc0fc65229 | |||
428af6d213 | |||
2ffe597617 | |||
0461eed0cb | |||
ca1bacc212 | |||
2229365ca8 | |||
8c367364b6 | |||
58909da425 | |||
ff32bf467c | |||
c5572d3095 | |||
e706bcdf73 | |||
d9ebcbd55c | |||
240b13aa74 | |||
97635d6f84 | |||
6c21a22e4d | |||
0add6f62b6 | |||
049418cd03 | |||
3ee1999c70 | |||
e4b8920688 | |||
eb236649fc | |||
0a36a4545f | |||
180985018b | |||
c86c5d6905 | |||
c2fad2dc7c | |||
1196b7bde4 | |||
19eddfd756 | |||
ed280ef4ac | |||
b6200ac3ff | |||
626621a53a | |||
fb3a64491e | |||
294f9419f7 | |||
a37956c95f | |||
89f5ca3301 | |||
07745b3082 | |||
054c25f693 | |||
01de04d8c9 | |||
08e4cb54a8 | |||
c71faffb71 | |||
91e3a0b3a9 | |||
5fa8f78434 | |||
ab5ac21104 | |||
0ebea2be9c | |||
6f54bab0a8 | |||
5d7deab6da | |||
35fcf4a4ae | |||
74565380aa | |||
fa37496ffb | |||
cc772ddd61 | |||
4d2647cdbc | |||
3caefd8fda | |||
12381d57d1 | |||
4ad8c4b86b | |||
dbd2827ca1 | |||
1a78557e0b | |||
2e99963087 | |||
4d763e1828 | |||
a17b343c21 | |||
556136dacc | |||
a8c80ccece | |||
f044511037 | |||
b31e545c9d | |||
fad5657eda | |||
eaf9ccde39 | |||
f9c625924e | |||
64cb735abf | |||
c85f322b20 | |||
76096a725b | |||
6eb7d13894 | |||
7928b25ebf | |||
78e6258b44 | |||
c9259c2b15 | |||
492d2eb573 | |||
376dcd3b92 | |||
60781bc6c2 | |||
2d8827cb0c | |||
802f7dcd30 | |||
e62cfd9043 | |||
cbcf6a4f23 | |||
b0e42d3f6e | |||
18eb66de06 | |||
b32cccddf9 | |||
362e26b3e2 | |||
5c53284bde | |||
e45d7f70e8 | |||
70edc7dda4 | |||
3244ed37a9 | |||
406359bba1 | |||
8b23dd915f | |||
7e1f65405f | |||
c1683073f1 | |||
18ec86bd90 | |||
315a6f43d7 | |||
7603bb5fd5 | |||
d53b79f8c3 | |||
f534452c6a | |||
0f6b83e7df | |||
16a6aef5a7 | |||
518fb9fb5e | |||
547ace3cf8 | |||
a4ba38ee78 | |||
e32d52b9b8 | |||
de40ced8b4 | |||
cfee58798e | |||
7ea01693a7 | |||
e0d839aea2 | |||
d3efd73429 | |||
2db5505216 | |||
f44b6c772a | |||
f64fab1d2d | |||
39bc2e0333 | |||
5bb6f0ad8b | |||
903537a2a0 | |||
1db937826c | |||
c1fe1c5d6b | |||
a62e9f99a2 | |||
9817a6aa47 | |||
8185373bd4 | |||
18c41aefc9 | |||
32917f1922 | |||
7a843e1fd1 | |||
0e154ccf76 | |||
120db06c60 | |||
e76ab05d45 | |||
43eeb009ce | |||
9000eef49d | |||
e198c8452b | |||
aea66ddff6 | |||
a5f4ffa58c | |||
a1c39e142d | |||
e76a0f564c | |||
8307d9c4de | |||
1dbf6b096b | |||
6fe71ecc01 | |||
57e58eaf2a | |||
00a5db71cf | |||
c7fa57cd28 | |||
8f2c86d79e | |||
56f1da5c66 | |||
30a205c0e3 | |||
98d77d37d0 | |||
0853fb940a | |||
6dd819a61e | |||
39aae19ed7 | |||
20749e5dbd | |||
99e1cd549d | |||
efdbeb7c1b | |||
ea4dbd14bc | |||
838df4b00b | |||
b6110ba8dc | |||
fd763ad857 | |||
e3d59832c5 | |||
2c85bb4178 | |||
8493777961 | |||
4e7405aca9 | |||
34207ba509 | |||
6dc499f305 | |||
92e2242cf0 | |||
ea214fbe0f | |||
487b8a0430 | |||
8b060342bd | |||
27d6c063ad | |||
0e62b71959 | |||
2c3f79829e | |||
5d2b0bc0cc | |||
7e3a780dcd | |||
1035200f26 | |||
8532b10290 | |||
f0c6c4eb1f | |||
ba194bd19e | |||
a35274ddb7 | |||
ab541e3e0f | |||
67ce04993e | |||
22cdc8f414 | |||
8b022a5595 | |||
7a1393ba26 | |||
5ed954e6de | |||
96572fbe6a | |||
4ab47e72e5 | |||
70e0fd0b45 | |||
26cd031be8 | |||
743e8cc249 | |||
2bf7974076 | |||
9c16e4e2f3 | |||
07f6c85cc7 | |||
d4968e10e5 | |||
bd3817198e | |||
5b5737f65e | |||
5af8753171 | |||
8bef74f441 | |||
f1a42b0f97 | |||
95682a9494 | |||
ef41867303 | |||
8d4b03ce87 | |||
06263354a5 | |||
aa30e11c8b | |||
65bca8e008 | |||
068791f6c1 | |||
cbc4563b30 | |||
f381d7c3bf | |||
0a8d8128b3 | |||
46135d4f0f | |||
7ba44e7945 | |||
dd4ad4efc4 | |||
807658e972 | |||
8499a29d0a | |||
283eedef90 | |||
ce515c5389 | |||
83440614bc | |||
a93661f9e1 | |||
216f7631de | |||
361bf847af | |||
46f54eb3d9 | |||
bc47c6cc4f | |||
8bfdfa1f46 | |||
999542c915 | |||
cb38e9c4a2 | |||
42c56c2460 | |||
e2d904c32b | |||
fa9c09feee | |||
3f6a2d02fd | |||
5b37901b57 | |||
2df4ccd1cd | |||
dcd15e6145 | |||
2a318eb3f2 | |||
522eec00cd | |||
be11c32815 | |||
24c91d95de | |||
7562eb6006 | |||
0aa7405a2a | |||
a119e58773 | |||
8a32b42172 | |||
94a15404da | |||
fefede5b51 | |||
5be00f23be | |||
bdbd2e96de | |||
7785a57f8a | |||
cf01e26b2f | |||
6e46ad9f3a | |||
921b18f713 | |||
53175e8788 | |||
920541fa26 | |||
9d8922764c | |||
97f2c7c161 | |||
38235bc145 | |||
3ce3a5a952 | |||
3005a400ca | |||
34e7134db2 | |||
12710dc644 | |||
a10ad577a7 | |||
d3c559a917 | |||
1e7628a3ef | |||
d5a85997f2 | |||
5a37e0e1ef | |||
00f6a74397 | |||
c9439107c1 | |||
ba65664cbd | |||
3da0730a31 |
8
.gitignore
vendored
8
.gitignore
vendored
@ -55,6 +55,7 @@ mutter-restart-helper
|
||||
mutter-test-client
|
||||
mutter-test-runner
|
||||
mutter-test-unit-tests
|
||||
mutter-test-headless-start-test
|
||||
mutter-all.test
|
||||
org.gnome.mutter.gschema.valid
|
||||
org.gnome.mutter.gschema.xml
|
||||
@ -71,6 +72,8 @@ src/stamp-meta-enum-types.h
|
||||
src/meta-dbus-display-config.[ch]
|
||||
src/meta-dbus-idle-monitor.[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-server-protocol.h
|
||||
src/gtk-shell-protocol.c
|
||||
@ -85,6 +88,10 @@ src/pointer-constraints-unstable-v*-protocol.c
|
||||
src/pointer-constraints-unstable-v*-server-protocol.h
|
||||
src/xdg-foreign-unstable-v*-protocol.c
|
||||
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/meta/meta-version.h
|
||||
src/libmutter-*.pc
|
||||
doc/reference/*.args
|
||||
@ -112,3 +119,4 @@ ltsugar.m4
|
||||
ltversion.m4
|
||||
lt~obsolete.m4
|
||||
.dirstamp
|
||||
**/tags.*
|
||||
|
76
NEWS
76
NEWS
@ -1,3 +1,79 @@
|
||||
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
|
||||
=======
|
||||
* Reduce memory use of suspended instances [Jonas; #786299]
|
||||
|
@ -87,6 +87,8 @@ source_h = \
|
||||
clutter-image.h \
|
||||
clutter-input-device.h \
|
||||
clutter-input-device-tool.h \
|
||||
clutter-input-focus.h \
|
||||
clutter-input-method.h \
|
||||
clutter-interval.h \
|
||||
clutter-keyframe-transition.h \
|
||||
clutter-keysyms.h \
|
||||
@ -169,6 +171,8 @@ source_c = \
|
||||
clutter-image.c \
|
||||
clutter-input-device.c \
|
||||
clutter-input-device-tool.c \
|
||||
clutter-input-focus.c \
|
||||
clutter-input-method.c \
|
||||
clutter-virtual-input-device.c \
|
||||
clutter-interval.c \
|
||||
clutter-keyframe-transition.c \
|
||||
@ -388,6 +392,7 @@ x11_source_c = \
|
||||
x11/clutter-keymap-x11.c \
|
||||
x11/clutter-stage-x11.c \
|
||||
x11/clutter-x11-texture-pixmap.c \
|
||||
x11/clutter-xkb-a11y-x11.c \
|
||||
$(NULL)
|
||||
|
||||
x11_source_h = \
|
||||
@ -402,6 +407,7 @@ x11_source_h_priv = \
|
||||
x11/clutter-keymap-x11.h \
|
||||
x11/clutter-settings-x11.h \
|
||||
x11/clutter-stage-x11.h \
|
||||
x11/clutter-xkb-a11y-x11.h \
|
||||
$(NULL)
|
||||
|
||||
x11_source_c_priv = \
|
||||
|
@ -4828,8 +4828,7 @@ clutter_actor_set_scale_factor (ClutterActor *self,
|
||||
g_assert (pspec != NULL);
|
||||
g_assert (scale_p != NULL);
|
||||
|
||||
if (*scale_p != factor)
|
||||
_clutter_actor_create_transition (self, pspec, *scale_p, factor);
|
||||
_clutter_actor_create_transition (self, pspec, *scale_p, factor);
|
||||
}
|
||||
|
||||
static inline void
|
||||
@ -10264,10 +10263,9 @@ clutter_actor_set_position (ClutterActor *self,
|
||||
cur_position.x = clutter_actor_get_x (self);
|
||||
cur_position.y = clutter_actor_get_y (self);
|
||||
|
||||
if (!clutter_point_equals (&cur_position, &new_position))
|
||||
_clutter_actor_create_transition (self, obj_props[PROP_POSITION],
|
||||
&cur_position,
|
||||
&new_position);
|
||||
_clutter_actor_create_transition (self, obj_props[PROP_POSITION],
|
||||
&cur_position,
|
||||
&new_position);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -58,6 +58,8 @@ struct _ClutterBackend
|
||||
gint32 units_serial;
|
||||
|
||||
GList *event_translators;
|
||||
|
||||
ClutterInputMethod *input_method;
|
||||
};
|
||||
|
||||
struct _ClutterBackendClass
|
||||
@ -100,6 +102,8 @@ struct _ClutterBackendClass
|
||||
|
||||
PangoDirection (* get_keymap_direction) (ClutterBackend *backend);
|
||||
|
||||
void (* bell_notify) (ClutterBackend *backend);
|
||||
|
||||
/* signals */
|
||||
void (* resolution_changed) (ClutterBackend *backend);
|
||||
void (* font_changed) (ClutterBackend *backend);
|
||||
|
@ -127,6 +127,7 @@ clutter_backend_finalize (GObject *gobject)
|
||||
|
||||
g_free (backend->font_name);
|
||||
clutter_backend_set_font_options (backend, NULL);
|
||||
g_clear_object (&backend->input_method);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
@ -74,6 +74,15 @@ const cairo_font_options_t * clutter_backend_get_font_options (Clutter
|
||||
CLUTTER_AVAILABLE_IN_1_8
|
||||
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
|
||||
|
||||
#endif /* __CLUTTER_BACKEND_H__ */
|
||||
|
@ -145,6 +145,9 @@ struct _ClutterInputDevice
|
||||
guint is_enabled : 1;
|
||||
};
|
||||
|
||||
typedef void (*ClutterEmitInputDeviceEvent) (ClutterEvent *event,
|
||||
ClutterInputDevice *device);
|
||||
|
||||
struct _ClutterInputDeviceClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
@ -163,6 +166,11 @@ struct _ClutterInputDeviceClass
|
||||
|
||||
gboolean (* is_grouped) (ClutterInputDevice *device,
|
||||
ClutterInputDevice *other_device);
|
||||
|
||||
/* Keyboard accessbility */
|
||||
void (* process_kbd_a11y_event) (ClutterEvent *event,
|
||||
ClutterInputDevice *device,
|
||||
ClutterEmitInputDeviceEvent emit_event_func);
|
||||
};
|
||||
|
||||
/* Platform-dependent interface */
|
||||
|
@ -54,6 +54,9 @@ struct _ClutterDeviceManagerPrivate
|
||||
{
|
||||
/* back-pointer to the backend */
|
||||
ClutterBackend *backend;
|
||||
|
||||
/* Keyboard a11y */
|
||||
ClutterKbdA11ySettings kbd_a11y_settings;
|
||||
};
|
||||
|
||||
enum
|
||||
@ -72,6 +75,8 @@ enum
|
||||
DEVICE_ADDED,
|
||||
DEVICE_REMOVED,
|
||||
TOOL_CHANGED,
|
||||
KBD_A11Y_MASK_CHANGED,
|
||||
KBD_A11Y_FLAGS_CHANGED,
|
||||
|
||||
LAST_SIGNAL
|
||||
};
|
||||
@ -196,6 +201,46 @@ clutter_device_manager_class_init (ClutterDeviceManagerClass *klass)
|
||||
G_TYPE_NONE, 2,
|
||||
CLUTTER_TYPE_INPUT_DEVICE,
|
||||
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
|
||||
@ -487,3 +532,43 @@ _clutter_device_manager_compress_motion (ClutterDeviceManager *device_manager,
|
||||
|
||||
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;
|
||||
}
|
||||
|
@ -44,6 +44,25 @@ typedef struct _ClutterDeviceManager ClutterDeviceManager;
|
||||
typedef struct _ClutterDeviceManagerPrivate ClutterDeviceManagerPrivate;
|
||||
typedef struct _ClutterDeviceManagerClass ClutterDeviceManagerClass;
|
||||
|
||||
|
||||
/**
|
||||
* 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:
|
||||
*
|
||||
@ -88,7 +107,9 @@ struct _ClutterDeviceManagerClass
|
||||
void (* compress_motion) (ClutterDeviceManager *device_manger,
|
||||
ClutterEvent *event,
|
||||
const ClutterEvent *to_discard);
|
||||
|
||||
/* Keyboard accessbility */
|
||||
void (* apply_kbd_a11y_settings) (ClutterDeviceManager *device_manger,
|
||||
ClutterKbdA11ySettings *settings);
|
||||
/* padding */
|
||||
gpointer _padding[6];
|
||||
};
|
||||
@ -114,6 +135,13 @@ CLUTTER_AVAILABLE_IN_ALL
|
||||
ClutterVirtualInputDevice *clutter_device_manager_create_virtual_device (ClutterDeviceManager *device_manager,
|
||||
ClutterInputDeviceType device_type);
|
||||
|
||||
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
|
||||
|
||||
#endif /* __CLUTTER_DEVICE_MANAGER_H__ */
|
||||
|
@ -396,6 +396,43 @@ typedef enum {
|
||||
CLUTTER_MODIFIER_MASK = 0x5c001fff
|
||||
} 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:
|
||||
* @CLUTTER_ACTOR_MAPPED: the actor will be painted (is visible, and inside
|
||||
@ -730,8 +767,9 @@ typedef enum { /*< prefix=CLUTTER_DRAG >*/
|
||||
* Since: 0.6
|
||||
*/
|
||||
typedef enum { /*< flags prefix=CLUTTER_EVENT >*/
|
||||
CLUTTER_EVENT_NONE = 0,
|
||||
CLUTTER_EVENT_FLAG_SYNTHETIC = 1 << 0
|
||||
CLUTTER_EVENT_NONE = 0,
|
||||
CLUTTER_EVENT_FLAG_SYNTHETIC = 1 << 0,
|
||||
CLUTTER_EVENT_FLAG_INPUT_METHOD = 1 << 1
|
||||
} ClutterEventFlags;
|
||||
|
||||
/**
|
||||
@ -1536,6 +1574,41 @@ typedef enum {
|
||||
CLUTTER_INPUT_DEVICE_MAPPING_RELATIVE,
|
||||
} 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
|
||||
|
||||
#endif /* __CLUTTER_ENUMS_H__ */
|
||||
|
229
clutter/clutter/clutter-input-focus.c
Normal file
229
clutter/clutter/clutter-input-focus.c
Normal file
@ -0,0 +1,229 @@
|
||||
/*
|
||||
* 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.
|
||||
*
|
||||
* Author: Carlos Garnacho <carlosg@gnome.org>
|
||||
*/
|
||||
|
||||
#include "clutter-build-config.h"
|
||||
|
||||
#include "clutter/clutter-input-focus.h"
|
||||
|
||||
enum {
|
||||
FOCUS_IN,
|
||||
FOCUS_OUT,
|
||||
COMMIT,
|
||||
DELETE_SURROUNDING,
|
||||
REQUEST_SURROUNDING,
|
||||
SET_PREEDIT_TEXT,
|
||||
N_SIGNALS,
|
||||
};
|
||||
|
||||
static guint signals[N_SIGNALS] = { 0 };
|
||||
|
||||
G_DEFINE_INTERFACE (ClutterInputFocus, clutter_input_focus, G_TYPE_OBJECT)
|
||||
|
||||
static void
|
||||
clutter_input_focus_default_init (ClutterInputFocusInterface *iface)
|
||||
{
|
||||
signals[FOCUS_IN] =
|
||||
g_signal_new ("focus-in",
|
||||
CLUTTER_TYPE_INPUT_FOCUS,
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (ClutterInputFocusInterface, focus_in),
|
||||
NULL, NULL, NULL,
|
||||
G_TYPE_NONE, 1, CLUTTER_TYPE_INPUT_METHOD);
|
||||
signals[FOCUS_OUT] =
|
||||
g_signal_new ("focus-out",
|
||||
CLUTTER_TYPE_INPUT_FOCUS,
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (ClutterInputFocusInterface, focus_out),
|
||||
NULL, NULL, NULL,
|
||||
G_TYPE_NONE, 0);
|
||||
signals[COMMIT] =
|
||||
g_signal_new ("commit",
|
||||
CLUTTER_TYPE_INPUT_FOCUS,
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (ClutterInputFocusInterface, commit_text),
|
||||
NULL, NULL, NULL,
|
||||
G_TYPE_NONE, 1, G_TYPE_STRING);
|
||||
signals[DELETE_SURROUNDING] =
|
||||
g_signal_new ("delete-surrounding",
|
||||
CLUTTER_TYPE_INPUT_FOCUS,
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (ClutterInputFocusInterface, delete_surrounding),
|
||||
NULL, NULL, NULL,
|
||||
G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_UINT);
|
||||
signals[REQUEST_SURROUNDING] =
|
||||
g_signal_new ("request-surrounding",
|
||||
CLUTTER_TYPE_INPUT_FOCUS,
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (ClutterInputFocusInterface, request_surrounding),
|
||||
NULL, NULL, NULL,
|
||||
G_TYPE_NONE, 0);
|
||||
signals[SET_PREEDIT_TEXT] =
|
||||
g_signal_new ("set-preedit-text",
|
||||
CLUTTER_TYPE_INPUT_FOCUS,
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (ClutterInputFocusInterface, set_preedit_text),
|
||||
NULL, NULL, NULL,
|
||||
G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_UINT);
|
||||
}
|
||||
|
||||
void
|
||||
clutter_input_focus_reset (ClutterInputFocus *focus)
|
||||
{
|
||||
ClutterBackend *backend = clutter_get_default_backend ();
|
||||
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
|
||||
|
||||
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method));
|
||||
|
||||
if (clutter_input_method_get_focus (method) != focus)
|
||||
return;
|
||||
|
||||
CLUTTER_INPUT_METHOD_GET_CLASS (method)->reset (method);
|
||||
}
|
||||
|
||||
void
|
||||
clutter_input_focus_set_cursor_location (ClutterInputFocus *focus,
|
||||
const ClutterRect *rect)
|
||||
{
|
||||
ClutterBackend *backend = clutter_get_default_backend ();
|
||||
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
|
||||
|
||||
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method));
|
||||
|
||||
if (clutter_input_method_get_focus (method) != focus)
|
||||
return;
|
||||
|
||||
CLUTTER_INPUT_METHOD_GET_CLASS (method)->set_cursor_location (method, rect);
|
||||
}
|
||||
|
||||
void
|
||||
clutter_input_focus_set_surrounding (ClutterInputFocus *focus,
|
||||
const gchar *text,
|
||||
guint cursor,
|
||||
guint anchor)
|
||||
{
|
||||
ClutterBackend *backend = clutter_get_default_backend ();
|
||||
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
|
||||
|
||||
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method));
|
||||
|
||||
if (clutter_input_method_get_focus (method) != focus)
|
||||
return;
|
||||
|
||||
CLUTTER_INPUT_METHOD_GET_CLASS (method)->set_surrounding (method, text, cursor, anchor);
|
||||
}
|
||||
|
||||
void
|
||||
clutter_input_focus_set_content_hints (ClutterInputFocus *focus,
|
||||
ClutterInputContentHintFlags hints)
|
||||
{
|
||||
ClutterBackend *backend = clutter_get_default_backend ();
|
||||
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
|
||||
|
||||
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method));
|
||||
|
||||
if (clutter_input_method_get_focus (method) != focus)
|
||||
return;
|
||||
|
||||
g_object_set (G_OBJECT (method), "content-hints", hints, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
clutter_input_focus_set_content_purpose (ClutterInputFocus *focus,
|
||||
ClutterInputContentPurpose purpose)
|
||||
{
|
||||
ClutterBackend *backend = clutter_get_default_backend ();
|
||||
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
|
||||
|
||||
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method));
|
||||
|
||||
if (clutter_input_method_get_focus (method) != focus)
|
||||
return;
|
||||
|
||||
g_object_set (G_OBJECT (method), "content-purpose", purpose, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
clutter_input_focus_focus_in (ClutterInputFocus *focus)
|
||||
{
|
||||
ClutterBackend *backend = clutter_get_default_backend ();
|
||||
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
|
||||
|
||||
clutter_input_method_focus_in (method, focus);
|
||||
}
|
||||
|
||||
void
|
||||
clutter_input_focus_focus_out (ClutterInputFocus *focus)
|
||||
{
|
||||
ClutterBackend *backend = clutter_get_default_backend ();
|
||||
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
|
||||
|
||||
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method));
|
||||
|
||||
if (clutter_input_method_get_focus (method) == focus)
|
||||
clutter_input_method_focus_out (method);
|
||||
}
|
||||
|
||||
gboolean
|
||||
clutter_input_focus_filter_key_event (ClutterInputFocus *focus,
|
||||
const ClutterKeyEvent *key)
|
||||
{
|
||||
ClutterBackend *backend = clutter_get_default_backend ();
|
||||
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
|
||||
|
||||
g_return_val_if_fail (CLUTTER_IS_INPUT_METHOD (method), FALSE);
|
||||
|
||||
if (clutter_event_get_flags ((ClutterEvent *) key) & CLUTTER_EVENT_FLAG_INPUT_METHOD)
|
||||
return FALSE;
|
||||
|
||||
if (clutter_input_method_get_focus (method) == focus)
|
||||
{
|
||||
ClutterInputMethodClass *im_class = CLUTTER_INPUT_METHOD_GET_CLASS (method);
|
||||
|
||||
if (im_class->filter_key_event)
|
||||
return im_class->filter_key_event (method, (const ClutterEvent *) key);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
clutter_input_focus_set_can_show_preedit (ClutterInputFocus *focus,
|
||||
gboolean can_show_preedit)
|
||||
{
|
||||
ClutterBackend *backend = clutter_get_default_backend ();
|
||||
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
|
||||
|
||||
if (clutter_input_method_get_focus (method) == focus)
|
||||
g_object_set (G_OBJECT (method), "can-show-preedit", can_show_preedit, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
clutter_input_focus_request_toggle_input_panel (ClutterInputFocus *focus)
|
||||
{
|
||||
ClutterBackend *backend = clutter_get_default_backend ();
|
||||
ClutterInputMethod *method = clutter_backend_get_input_method (backend);
|
||||
|
||||
if (clutter_input_method_get_focus (method) == focus)
|
||||
{
|
||||
g_signal_emit_by_name (method, "input-panel-state",
|
||||
CLUTTER_INPUT_PANEL_STATE_TOGGLE);
|
||||
}
|
||||
}
|
86
clutter/clutter/clutter-input-focus.h
Normal file
86
clutter/clutter/clutter-input-focus.h
Normal file
@ -0,0 +1,86 @@
|
||||
/*
|
||||
* 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.
|
||||
*
|
||||
* 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_INTERFACE (ClutterInputFocus, clutter_input_focus,
|
||||
CLUTTER, INPUT_FOCUS, GObject)
|
||||
|
||||
typedef struct _ClutterInputFocusInterface ClutterInputFocusInterface;
|
||||
|
||||
struct _ClutterInputFocusInterface
|
||||
{
|
||||
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
|
||||
void clutter_input_focus_focus_in (ClutterInputFocus *focus);
|
||||
CLUTTER_AVAILABLE_IN_MUTTER
|
||||
void clutter_input_focus_focus_out (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__ */
|
359
clutter/clutter/clutter-input-method.c
Normal file
359
clutter/clutter/clutter-input-method.c
Normal file
@ -0,0 +1,359 @@
|
||||
/*
|
||||
* 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.
|
||||
*
|
||||
* Author: Carlos Garnacho <carlosg@gnome.org>
|
||||
*/
|
||||
|
||||
#include "clutter-build-config.h"
|
||||
|
||||
#include "clutter-private.h"
|
||||
#include "clutter/clutter-input-method.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,
|
||||
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 *method,
|
||||
ClutterInputContentHintFlags content_hints)
|
||||
{
|
||||
ClutterInputMethodPrivate *priv;
|
||||
|
||||
priv = clutter_input_method_get_instance_private (method);
|
||||
priv->content_hints = content_hints;
|
||||
CLUTTER_INPUT_METHOD_GET_CLASS (method)->update_content_hints (method,
|
||||
content_hints);
|
||||
}
|
||||
|
||||
static void
|
||||
set_content_purpose (ClutterInputMethod *method,
|
||||
ClutterInputContentPurpose content_purpose)
|
||||
{
|
||||
ClutterInputMethodPrivate *priv;
|
||||
|
||||
priv = clutter_input_method_get_instance_private (method);
|
||||
priv->content_purpose = content_purpose;
|
||||
CLUTTER_INPUT_METHOD_GET_CLASS (method)->update_content_purpose (method,
|
||||
content_purpose);
|
||||
}
|
||||
|
||||
static void
|
||||
set_can_show_preedit (ClutterInputMethod *method,
|
||||
gboolean can_show_preedit)
|
||||
{
|
||||
ClutterInputMethodPrivate *priv;
|
||||
|
||||
priv = clutter_input_method_get_instance_private (method);
|
||||
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 *method;
|
||||
|
||||
method = CLUTTER_INPUT_METHOD (object);
|
||||
priv = clutter_input_method_get_instance_private (method);
|
||||
|
||||
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);
|
||||
|
||||
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 *method)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
clutter_input_method_focus_in (ClutterInputMethod *method,
|
||||
ClutterInputFocus *focus)
|
||||
{
|
||||
ClutterInputMethodPrivate *priv;
|
||||
ClutterInputMethodClass *klass;
|
||||
|
||||
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method));
|
||||
g_return_if_fail (CLUTTER_IS_INPUT_FOCUS (focus));
|
||||
|
||||
priv = clutter_input_method_get_instance_private (method);
|
||||
|
||||
if (priv->focus == focus)
|
||||
return;
|
||||
|
||||
if (priv->focus)
|
||||
clutter_input_method_focus_out (method);
|
||||
|
||||
g_set_object (&priv->focus, focus);
|
||||
|
||||
if (focus)
|
||||
{
|
||||
klass = CLUTTER_INPUT_METHOD_GET_CLASS (method);
|
||||
klass->focus_in (method, focus);
|
||||
|
||||
g_signal_emit_by_name (priv->focus, "focus-in", method);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
clutter_input_method_focus_out (ClutterInputMethod *method)
|
||||
{
|
||||
ClutterInputMethodPrivate *priv;
|
||||
ClutterInputMethodClass *klass;
|
||||
|
||||
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method));
|
||||
|
||||
priv = clutter_input_method_get_instance_private (method);
|
||||
|
||||
if (!priv->focus)
|
||||
return;
|
||||
|
||||
g_signal_emit_by_name (priv->focus, "focus-out");
|
||||
g_clear_object (&priv->focus);
|
||||
|
||||
klass = CLUTTER_INPUT_METHOD_GET_CLASS (method);
|
||||
klass->focus_out (method);
|
||||
|
||||
g_signal_emit (method, signals[INPUT_PANEL_STATE],
|
||||
0, CLUTTER_INPUT_PANEL_STATE_OFF);
|
||||
}
|
||||
|
||||
/**
|
||||
* clutter_input_method_get_focus:
|
||||
* @method: the #ClutterInputMethod
|
||||
*
|
||||
* Retrieves the current focus of the input method, or %NULL
|
||||
* if there is none.
|
||||
*
|
||||
* Returns: (transfer none) (nullable): the current focus
|
||||
**/
|
||||
ClutterInputFocus *
|
||||
clutter_input_method_get_focus (ClutterInputMethod *method)
|
||||
{
|
||||
ClutterInputMethodPrivate *priv;
|
||||
|
||||
priv = clutter_input_method_get_instance_private (method);
|
||||
return priv->focus;
|
||||
}
|
||||
|
||||
void
|
||||
clutter_input_method_commit (ClutterInputMethod *method,
|
||||
const gchar *text)
|
||||
{
|
||||
ClutterInputMethodPrivate *priv;
|
||||
|
||||
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method));
|
||||
|
||||
priv = clutter_input_method_get_instance_private (method);
|
||||
if (priv->focus)
|
||||
g_signal_emit_by_name (priv->focus, "commit", text);
|
||||
}
|
||||
|
||||
void
|
||||
clutter_input_method_delete_surrounding (ClutterInputMethod *method,
|
||||
guint offset,
|
||||
guint len)
|
||||
{
|
||||
ClutterInputMethodPrivate *priv;
|
||||
|
||||
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method));
|
||||
|
||||
priv = clutter_input_method_get_instance_private (method);
|
||||
if (priv->focus)
|
||||
g_signal_emit_by_name (priv->focus, "delete-surrounding", offset, len);
|
||||
}
|
||||
|
||||
void
|
||||
clutter_input_method_request_surrounding (ClutterInputMethod *method)
|
||||
{
|
||||
ClutterInputMethodPrivate *priv;
|
||||
|
||||
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method));
|
||||
|
||||
priv = clutter_input_method_get_instance_private (method);
|
||||
if (priv->focus)
|
||||
g_signal_emit_by_name (priv->focus, "request-surrounding");
|
||||
}
|
||||
|
||||
/**
|
||||
* clutter_input_method_set_preedit_text:
|
||||
* @method: a #ClutterInputMethod
|
||||
* @preedit: (nullable): the preedit text, or %NULL
|
||||
*
|
||||
* Sets the preedit text on the current input focus.
|
||||
**/
|
||||
void
|
||||
clutter_input_method_set_preedit_text (ClutterInputMethod *method,
|
||||
const gchar *preedit,
|
||||
guint cursor)
|
||||
{
|
||||
ClutterInputMethodPrivate *priv;
|
||||
|
||||
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (method));
|
||||
|
||||
priv = clutter_input_method_get_instance_private (method);
|
||||
if (priv->focus)
|
||||
g_signal_emit_by_name (priv->focus, "set-preedit-text", preedit, cursor);
|
||||
}
|
||||
|
||||
void
|
||||
clutter_input_method_notify_key_event (ClutterInputMethod *method,
|
||||
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_put (copy);
|
||||
clutter_event_free (copy);
|
||||
}
|
||||
}
|
89
clutter/clutter/clutter-input-method.h
Normal file
89
clutter/clutter/clutter-input-method.h
Normal file
@ -0,0 +1,89 @@
|
||||
/*
|
||||
* 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.
|
||||
*
|
||||
* 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 *method,
|
||||
ClutterInputFocus *actor);
|
||||
void (* focus_out) (ClutterInputMethod *method);
|
||||
|
||||
void (* reset) (ClutterInputMethod *method);
|
||||
|
||||
void (* set_cursor_location) (ClutterInputMethod *method,
|
||||
const ClutterRect *rect);
|
||||
void (* set_surrounding) (ClutterInputMethod *method,
|
||||
const gchar *text,
|
||||
guint cursor,
|
||||
guint anchor);
|
||||
void (* update_content_hints) (ClutterInputMethod *method,
|
||||
ClutterInputContentHintFlags hint);
|
||||
void (* update_content_purpose) (ClutterInputMethod *method,
|
||||
ClutterInputContentPurpose purpose);
|
||||
|
||||
gboolean (* filter_key_event) (ClutterInputMethod *method,
|
||||
const ClutterEvent *key);
|
||||
};
|
||||
|
||||
CLUTTER_AVAILABLE_IN_MUTTER
|
||||
void clutter_input_method_focus_in (ClutterInputMethod *method,
|
||||
ClutterInputFocus *focus);
|
||||
CLUTTER_AVAILABLE_IN_MUTTER
|
||||
void clutter_input_method_focus_out (ClutterInputMethod *method);
|
||||
|
||||
CLUTTER_AVAILABLE_IN_MUTTER
|
||||
ClutterInputFocus * clutter_input_method_get_focus (ClutterInputMethod *method);
|
||||
|
||||
CLUTTER_AVAILABLE_IN_MUTTER
|
||||
void clutter_input_method_commit (ClutterInputMethod *method,
|
||||
const gchar *text);
|
||||
CLUTTER_AVAILABLE_IN_MUTTER
|
||||
void clutter_input_method_delete_surrounding (ClutterInputMethod *method,
|
||||
guint offset,
|
||||
guint len);
|
||||
CLUTTER_AVAILABLE_IN_MUTTER
|
||||
void clutter_input_method_request_surrounding (ClutterInputMethod *method);
|
||||
|
||||
CLUTTER_AVAILABLE_IN_MUTTER
|
||||
void clutter_input_method_set_preedit_text (ClutterInputMethod *method,
|
||||
const gchar *preedit,
|
||||
guint cursor);
|
||||
|
||||
CLUTTER_AVAILABLE_IN_MUTTER
|
||||
void clutter_input_method_notify_key_event (ClutterInputMethod *method,
|
||||
const ClutterEvent *event,
|
||||
gboolean filtered);
|
||||
|
||||
#endif /* __CLUTTER_INPUT_METHOD_H__ */
|
@ -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
|
||||
is_off_stage (ClutterActor *stage,
|
||||
gfloat x,
|
||||
@ -2176,7 +2191,7 @@ _clutter_process_event_details (ClutterActor *stage,
|
||||
}
|
||||
}
|
||||
|
||||
emit_keyboard_event (event, device);
|
||||
process_key_event (event, device);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -40,6 +40,12 @@ gboolean _clutter_get_sync_to_vblank (void);
|
||||
CLUTTER_AVAILABLE_IN_MUTTER
|
||||
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__
|
||||
|
||||
#endif /* __CLUTTER_MUTTER_H__ */
|
||||
|
@ -267,7 +267,6 @@ clutter_stage_view_set_property (GObject *object,
|
||||
priv->layout = *layout;
|
||||
break;
|
||||
case PROP_FRAMEBUFFER:
|
||||
g_clear_pointer (&priv->framebuffer, cogl_object_unref);
|
||||
priv->framebuffer = g_value_dup_boxed (value);
|
||||
#ifndef G_DISABLE_CHECKS
|
||||
if (priv->framebuffer)
|
||||
@ -285,7 +284,6 @@ clutter_stage_view_set_property (GObject *object,
|
||||
#endif
|
||||
break;
|
||||
case PROP_OFFSCREEN:
|
||||
g_clear_pointer (&priv->offscreen, cogl_object_unref);
|
||||
priv->offscreen = g_value_dup_boxed (value);
|
||||
break;
|
||||
case PROP_SCALE:
|
||||
@ -357,7 +355,7 @@ clutter_stage_view_class_init (ClutterStageViewClass *klass)
|
||||
"Framebuffer used as intermediate buffer",
|
||||
COGL_TYPE_HANDLE,
|
||||
G_PARAM_READWRITE |
|
||||
G_PARAM_CONSTRUCT |
|
||||
G_PARAM_CONSTRUCT_ONLY |
|
||||
G_PARAM_STATIC_STRINGS);
|
||||
|
||||
obj_props[PROP_SCALE] =
|
||||
|
@ -4726,8 +4726,8 @@ capture_view (ClutterStage *stage,
|
||||
|
||||
if (paint)
|
||||
{
|
||||
_clutter_stage_maybe_setup_viewport (stage, view);
|
||||
cogl_push_framebuffer (framebuffer);
|
||||
_clutter_stage_maybe_setup_viewport (stage, view);
|
||||
clutter_stage_do_paint_view (stage, view, rect);
|
||||
}
|
||||
|
||||
@ -4810,3 +4810,93 @@ clutter_stage_capture (ClutterStage *stage,
|
||||
|
||||
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);
|
||||
}
|
||||
|
@ -63,6 +63,7 @@
|
||||
#include "clutter-units.h"
|
||||
#include "clutter-paint-volume-private.h"
|
||||
#include "clutter-scriptable.h"
|
||||
#include "clutter-input-focus.h"
|
||||
|
||||
/* cursor width in pixels */
|
||||
#define DEFAULT_CURSOR_SIZE 2
|
||||
@ -176,6 +177,9 @@ struct _ClutterTextPrivate
|
||||
/* Signal handler for when the :text-direction changes */
|
||||
guint direction_changed_id;
|
||||
|
||||
ClutterInputContentHintFlags input_hints;
|
||||
ClutterInputContentPurpose input_purpose;
|
||||
|
||||
/* bitfields */
|
||||
guint alignment : 2;
|
||||
guint wrap : 1;
|
||||
@ -236,6 +240,8 @@ enum
|
||||
PROP_SINGLE_LINE_MODE,
|
||||
PROP_SELECTED_TEXT_COLOR,
|
||||
PROP_SELECTED_TEXT_COLOR_SET,
|
||||
PROP_INPUT_HINTS,
|
||||
PROP_INPUT_PURPOSE,
|
||||
|
||||
PROP_LAST
|
||||
};
|
||||
@ -269,6 +275,7 @@ static const ClutterColor default_selected_text_color = { 0, 0, 0, 255 };
|
||||
static ClutterAnimatableIface *parent_animatable_iface = NULL;
|
||||
static ClutterScriptableIface *parent_scriptable_iface = NULL;
|
||||
|
||||
static void clutter_input_focus_iface_init (ClutterInputFocusInterface *iface);
|
||||
static void clutter_scriptable_iface_init (ClutterScriptableIface *iface);
|
||||
static void clutter_animatable_iface_init (ClutterAnimatableIface *iface);
|
||||
|
||||
@ -276,11 +283,91 @@ G_DEFINE_TYPE_WITH_CODE (ClutterText,
|
||||
clutter_text,
|
||||
CLUTTER_TYPE_ACTOR,
|
||||
G_ADD_PRIVATE (ClutterText)
|
||||
G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_INPUT_FOCUS,
|
||||
clutter_input_focus_iface_init)
|
||||
G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_SCRIPTABLE,
|
||||
clutter_scriptable_iface_init)
|
||||
G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_ANIMATABLE,
|
||||
clutter_animatable_iface_init));
|
||||
|
||||
static void
|
||||
clutter_text_input_focus_request_surrounding (ClutterInputFocus *focus)
|
||||
{
|
||||
ClutterText *clutter_text = CLUTTER_TEXT (focus);
|
||||
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 (focus);
|
||||
|
||||
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 (focus);
|
||||
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
clutter_text_input_focus_set_preedit_text (ClutterInputFocus *focus,
|
||||
const gchar *preedit_text,
|
||||
guint cursor_pos)
|
||||
{
|
||||
ClutterText *clutter_text = CLUTTER_TEXT (focus);
|
||||
|
||||
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_input_focus_iface_init (ClutterInputFocusInterface *iface)
|
||||
{
|
||||
iface->request_surrounding = clutter_text_input_focus_request_surrounding;
|
||||
iface->delete_surrounding = clutter_text_input_focus_delete_surrounding;
|
||||
iface->commit_text = clutter_text_input_focus_commit_text;
|
||||
iface->set_preedit_text = clutter_text_input_focus_set_preedit_text;
|
||||
}
|
||||
|
||||
static inline void
|
||||
clutter_text_dirty_paint_volume (ClutterText *text)
|
||||
{
|
||||
@ -1009,6 +1096,22 @@ clutter_text_position_to_coords (ClutterText *self,
|
||||
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 (CLUTTER_INPUT_FOCUS (self), &rect);
|
||||
}
|
||||
|
||||
static inline void
|
||||
clutter_text_ensure_cursor_position (ClutterText *self)
|
||||
{
|
||||
@ -1057,6 +1160,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_CHANGED], 0);
|
||||
|
||||
update_cursor_location (self);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1859,6 +1964,7 @@ clutter_text_press (ClutterActor *actor,
|
||||
return CLUTTER_EVENT_PROPAGATE;
|
||||
|
||||
clutter_actor_grab_key_focus (actor);
|
||||
clutter_input_focus_request_toggle_input_panel (CLUTTER_INPUT_FOCUS (self));
|
||||
|
||||
/* if the actor is empty we just reset everything and not
|
||||
* set up the dragging of the selection since there's nothing
|
||||
@ -2085,9 +2191,11 @@ clutter_text_key_press (ClutterActor *actor,
|
||||
g_assert (pool != NULL);
|
||||
|
||||
/* 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;
|
||||
else
|
||||
res = clutter_binding_pool_activate (pool, event->keyval,
|
||||
@ -2105,6 +2213,9 @@ clutter_text_key_press (ClutterActor *actor,
|
||||
{
|
||||
gunichar key_unichar;
|
||||
|
||||
if (clutter_input_focus_filter_key_event (CLUTTER_INPUT_FOCUS (actor), event))
|
||||
return CLUTTER_EVENT_STOP;
|
||||
|
||||
/* Skip keys when control is pressed */
|
||||
key_unichar = clutter_event_get_key_unicode ((ClutterEvent *) event);
|
||||
|
||||
@ -2141,6 +2252,16 @@ clutter_text_key_press (ClutterActor *actor,
|
||||
return CLUTTER_EVENT_PROPAGATE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
clutter_text_key_release (ClutterActor *actor,
|
||||
ClutterKeyEvent *event)
|
||||
{
|
||||
if (clutter_input_focus_filter_key_event (CLUTTER_INPUT_FOCUS (actor), event))
|
||||
return CLUTTER_EVENT_STOP;
|
||||
|
||||
return CLUTTER_EVENT_PROPAGATE;
|
||||
}
|
||||
|
||||
static void
|
||||
clutter_text_compute_layout_offsets (ClutterText *self,
|
||||
PangoLayout *layout,
|
||||
@ -2664,6 +2785,9 @@ clutter_text_key_focus_in (ClutterActor *actor)
|
||||
{
|
||||
ClutterTextPrivate *priv = CLUTTER_TEXT (actor)->priv;
|
||||
|
||||
if (priv->editable)
|
||||
clutter_input_focus_focus_in (CLUTTER_INPUT_FOCUS (actor));
|
||||
|
||||
priv->has_focus = TRUE;
|
||||
|
||||
clutter_text_queue_redraw (actor);
|
||||
@ -2676,6 +2800,9 @@ clutter_text_key_focus_out (ClutterActor *actor)
|
||||
|
||||
priv->has_focus = FALSE;
|
||||
|
||||
if (priv->editable)
|
||||
clutter_input_focus_focus_out (CLUTTER_INPUT_FOCUS (actor));
|
||||
|
||||
clutter_text_queue_redraw (actor);
|
||||
}
|
||||
|
||||
@ -3369,6 +3496,7 @@ clutter_text_class_init (ClutterTextClass *klass)
|
||||
actor_class->get_preferred_height = clutter_text_get_preferred_height;
|
||||
actor_class->allocate = clutter_text_allocate;
|
||||
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_release_event = clutter_text_button_release;
|
||||
actor_class->motion_event = clutter_text_motion;
|
||||
@ -3869,6 +3997,22 @@ clutter_text_class_init (ClutterTextClass *klass)
|
||||
obj_props[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:
|
||||
* @self: the #ClutterText that emitted the signal
|
||||
@ -4469,6 +4613,11 @@ clutter_text_set_editable (ClutterText *self,
|
||||
{
|
||||
priv->editable = editable;
|
||||
|
||||
if (!priv->editable)
|
||||
clutter_input_focus_focus_out (CLUTTER_INPUT_FOCUS (self));
|
||||
else if (priv->has_focus)
|
||||
clutter_input_focus_focus_in (CLUTTER_INPUT_FOCUS (self));
|
||||
|
||||
clutter_text_queue_redraw (CLUTTER_ACTOR (self));
|
||||
|
||||
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_EDITABLE]);
|
||||
@ -6298,3 +6447,49 @@ clutter_text_get_cursor_rect (ClutterText *self,
|
||||
|
||||
*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;
|
||||
clutter_input_focus_set_content_hints (CLUTTER_INPUT_FOCUS (self), 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;
|
||||
clutter_input_focus_set_content_purpose (CLUTTER_INPUT_FOCUS (self), 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;
|
||||
}
|
||||
|
@ -302,6 +302,20 @@ void clutter_text_get_layout_offsets (ClutterText *
|
||||
gint *x,
|
||||
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
|
||||
|
||||
#endif /* __CLUTTER_TEXT_H__ */
|
||||
|
@ -97,6 +97,9 @@ typedef struct _ClutterInputDeviceTool ClutterInputDeviceTool;
|
||||
typedef struct _ClutterInputDevice ClutterInputDevice;
|
||||
typedef struct _ClutterVirtualInputDevice ClutterVirtualInputDevice;
|
||||
|
||||
typedef struct _ClutterInputMethod ClutterInputMethod;
|
||||
typedef struct _ClutterInputFocus ClutterInputFocus;
|
||||
|
||||
typedef CoglMatrix ClutterMatrix;
|
||||
|
||||
typedef union _ClutterEvent ClutterEvent;
|
||||
|
@ -115,6 +115,19 @@ clutter_virtual_input_device_notify_keyval (ClutterVirtualInputDevice *virtual_d
|
||||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
* clutter_virtual_input_device_get_manager:
|
||||
* @virtual_device: a virtual device
|
||||
|
@ -76,6 +76,11 @@ struct _ClutterVirtualInputDeviceClass
|
||||
uint64_t time_us,
|
||||
uint32_t keyval,
|
||||
ClutterKeyState key_state);
|
||||
|
||||
void (*notify_discrete_scroll) (ClutterVirtualInputDevice *virtual_device,
|
||||
uint64_t time_us,
|
||||
ClutterScrollDirection direction,
|
||||
ClutterScrollSource scroll_source);
|
||||
};
|
||||
|
||||
CLUTTER_AVAILABLE_IN_ALL
|
||||
@ -108,6 +113,13 @@ void clutter_virtual_input_device_notify_keyval (ClutterVirtualInputDevice *virt
|
||||
uint32_t keyval,
|
||||
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
|
||||
ClutterDeviceManager * clutter_virtual_input_device_get_manager (ClutterVirtualInputDevice *virtual_device);
|
||||
|
||||
|
@ -72,6 +72,8 @@
|
||||
#include "clutter-image.h"
|
||||
#include "clutter-input-device.h"
|
||||
#include "clutter-input-device-tool.h"
|
||||
#include "clutter-input-method.h"
|
||||
#include "clutter-input-focus.h"
|
||||
#include "clutter-interval.h"
|
||||
#include "clutter-keyframe-transition.h"
|
||||
#include "clutter-keysyms.h"
|
||||
|
@ -48,6 +48,7 @@
|
||||
#include "clutter-private.h"
|
||||
#include "clutter-main.h"
|
||||
#include "clutter-stage-private.h"
|
||||
#include "clutter-settings-private.h"
|
||||
|
||||
#ifdef COGL_HAS_EGL_SUPPORT
|
||||
#include "clutter-egl.h"
|
||||
@ -60,6 +61,8 @@ clutter_backend_egl_native_dispose (GObject *gobject)
|
||||
{
|
||||
ClutterBackendEglNative *backend_egl_native = CLUTTER_BACKEND_EGL_NATIVE (gobject);
|
||||
|
||||
g_clear_object (&backend_egl_native->xsettings);
|
||||
|
||||
if (backend_egl_native->event_timer != NULL)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
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
|
||||
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 ();
|
||||
}
|
||||
|
||||
|
@ -61,6 +61,9 @@ struct _ClutterBackendEglNative
|
||||
|
||||
/* event timer */
|
||||
GTimer *event_timer;
|
||||
|
||||
/* "xsettings" is still the defacto place for Xft settings, even in Wayland */
|
||||
GSettings *xsettings;
|
||||
};
|
||||
|
||||
struct _ClutterBackendEglNativeClass
|
||||
|
@ -59,9 +59,6 @@
|
||||
|
||||
#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
|
||||
* pointer and core keyboard).
|
||||
@ -400,120 +397,6 @@ notify_relative_tool_motion (ClutterInputDevice *input_device,
|
||||
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,
|
||||
@ -1153,40 +1036,6 @@ process_base_event (ClutterDeviceManagerEvdev *manager_evdev,
|
||||
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
|
||||
translate_scroll_source (enum libinput_pointer_axis_source source)
|
||||
{
|
||||
@ -1334,6 +1183,68 @@ seat_from_device (ClutterInputDevice *device)
|
||||
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
|
||||
process_device_event (ClutterDeviceManagerEvdev *manager_evdev,
|
||||
struct libinput_event *event)
|
||||
@ -1460,17 +1371,12 @@ process_device_event (ClutterDeviceManagerEvdev *manager_evdev,
|
||||
|
||||
case LIBINPUT_EVENT_POINTER_AXIS:
|
||||
{
|
||||
gdouble dx = 0.0, dy = 0.0;
|
||||
gdouble discrete_x = 0.0, discrete_y = 0.0;
|
||||
guint64 time_us;
|
||||
gboolean wheel = FALSE;
|
||||
enum libinput_pointer_axis axis;
|
||||
enum libinput_pointer_axis_source source;
|
||||
struct libinput_event_pointer *axis_event =
|
||||
libinput_event_get_pointer_event (event);
|
||||
ClutterSeatEvdev *seat;
|
||||
ClutterScrollSource scroll_source;
|
||||
ClutterScrollFinishFlags finish_flags = 0;
|
||||
|
||||
device = libinput_device_get_user_data (libinput_device);
|
||||
seat = _clutter_input_device_evdev_get_seat (CLUTTER_INPUT_DEVICE_EVDEV (device));
|
||||
@ -1484,63 +1390,20 @@ process_device_event (ClutterDeviceManagerEvdev *manager_evdev,
|
||||
backwards-compat with existing clients, we just send multiples of
|
||||
the click count. */
|
||||
|
||||
if (source == LIBINPUT_POINTER_AXIS_SOURCE_WHEEL)
|
||||
wheel = TRUE;
|
||||
|
||||
axis = LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL;
|
||||
if (libinput_event_pointer_has_axis (axis_event, axis))
|
||||
switch (scroll_source)
|
||||
{
|
||||
discrete_y = libinput_event_pointer_get_axis_value_discrete (axis_event, axis);
|
||||
dy = libinput_event_pointer_get_axis_value (axis_event, axis);
|
||||
|
||||
if (wheel)
|
||||
seat->accum_scroll_dy = 0;
|
||||
else if (fabs (dy) < DBL_EPSILON)
|
||||
{
|
||||
finish_flags |= CLUTTER_SCROLL_FINISHED_VERTICAL;
|
||||
seat->accum_scroll_dy = 0;
|
||||
}
|
||||
else
|
||||
seat->accum_scroll_dy += dy;
|
||||
case CLUTTER_SCROLL_SOURCE_WHEEL:
|
||||
notify_discrete_axis (seat, device, time_us, scroll_source,
|
||||
axis_event);
|
||||
break;
|
||||
case CLUTTER_SCROLL_SOURCE_FINGER:
|
||||
case CLUTTER_SCROLL_SOURCE_CONTINUOUS:
|
||||
case CLUTTER_SCROLL_SOURCE_UNKNOWN:
|
||||
notify_continuous_axis (seat, device, time_us, scroll_source,
|
||||
axis_event);
|
||||
break;
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
case LIBINPUT_EVENT_TOUCH_DOWN:
|
||||
@ -2060,6 +1923,18 @@ clutter_device_manager_evdev_compress_motion (ClutterDeviceManager *device_mange
|
||||
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
|
||||
*/
|
||||
@ -2202,6 +2077,7 @@ clutter_device_manager_evdev_class_init (ClutterDeviceManagerEvdevClass *klass)
|
||||
manager_class->get_device = clutter_device_manager_evdev_get_device;
|
||||
manager_class->create_virtual_device = clutter_device_manager_evdev_create_virtual_device;
|
||||
manager_class->compress_motion = clutter_device_manager_evdev_compress_motion;
|
||||
manager_class->apply_kbd_a11y_settings = clutter_device_manager_evdev_apply_kbd_a11y_settings;
|
||||
}
|
||||
|
||||
static void
|
||||
@ -2322,7 +2198,7 @@ _clutter_device_manager_evdev_acquire_device_id (ClutterDeviceManagerEvdev *mana
|
||||
|
||||
first = g_list_first (priv->free_device_ids);
|
||||
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;
|
||||
}
|
||||
@ -2441,7 +2317,7 @@ clutter_evdev_update_xkb_state (ClutterDeviceManagerEvdev *manager_evdev)
|
||||
0, /* depressed */
|
||||
latched_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->num_lock_led = xkb_keymap_led_get_index (priv->keymap, XKB_LED_NAME_NUM);
|
||||
@ -2589,6 +2465,7 @@ clutter_evdev_set_keyboard_layout_index (ClutterDeviceManager *evdev,
|
||||
xkb_mod_mask_t latched_mods;
|
||||
xkb_mod_mask_t locked_mods;
|
||||
struct xkb_state *state;
|
||||
GSList *l;
|
||||
|
||||
g_return_if_fail (CLUTTER_IS_DEVICE_MANAGER_EVDEV (evdev));
|
||||
|
||||
@ -2600,6 +2477,12 @@ clutter_evdev_set_keyboard_layout_index (ClutterDeviceManager *evdev,
|
||||
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);
|
||||
for (l = manager_evdev->priv->seats; l; l = l->next)
|
||||
{
|
||||
ClutterSeatEvdev *seat = l->data;
|
||||
|
||||
seat->layout_idx = idx;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2609,12 +2492,9 @@ xkb_layout_index_t
|
||||
clutter_evdev_get_keyboard_layout_index (ClutterDeviceManager *evdev)
|
||||
{
|
||||
ClutterDeviceManagerEvdev *manager_evdev;
|
||||
struct xkb_state *state;
|
||||
|
||||
manager_evdev = CLUTTER_DEVICE_MANAGER_EVDEV (evdev);
|
||||
state = manager_evdev->priv->main_seat->xkb;
|
||||
|
||||
return xkb_state_serialize_layout (state, XKB_STATE_LAYOUT_LOCKED);
|
||||
return manager_evdev->priv->main_seat->layout_idx;
|
||||
}
|
||||
|
||||
/**
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -70,6 +70,29 @@ struct _ClutterInputDeviceEvdev
|
||||
cairo_matrix_t device_matrix;
|
||||
gdouble device_aspect_ratio; /* w:h */
|
||||
gdouble output_ratio; /* w:h */
|
||||
|
||||
/* 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;
|
||||
@ -111,6 +134,9 @@ void clutter_input_device_evdev_translate_coordinates (Clut
|
||||
gfloat *x,
|
||||
gfloat *y);
|
||||
|
||||
void clutter_input_device_evdev_apply_kbd_a11y_settings (ClutterInputDeviceEvdev *device,
|
||||
ClutterKbdA11ySettings *settings);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __CLUTTER_INPUT_DEVICE_EVDEV_H__ */
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "clutter-seat-evdev.h"
|
||||
|
||||
#include <linux/input.h>
|
||||
#include <math.h>
|
||||
|
||||
#include "clutter-event-private.h"
|
||||
#include "clutter-input-device-evdev.h"
|
||||
@ -42,6 +43,8 @@
|
||||
|
||||
#define AUTOREPEAT_VALUE 2
|
||||
|
||||
#define DISCRETE_SCROLL_STEP 10.0
|
||||
|
||||
void
|
||||
clutter_seat_evdev_set_libinput_seat (ClutterSeatEvdev *seat,
|
||||
struct libinput_seat *libinput_seat)
|
||||
@ -569,6 +572,194 @@ clutter_seat_evdev_notify_button (ClutterSeatEvdev *seat,
|
||||
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_free (ClutterSeatEvdev *seat)
|
||||
{
|
||||
|
@ -58,6 +58,7 @@ struct _ClutterSeatEvdev
|
||||
xkb_led_index_t caps_lock_led;
|
||||
xkb_led_index_t num_lock_led;
|
||||
xkb_led_index_t scroll_lock_led;
|
||||
xkb_layout_index_t layout_idx;
|
||||
uint32_t button_state;
|
||||
int button_count[KEY_CNT];
|
||||
|
||||
@ -106,6 +107,21 @@ void clutter_seat_evdev_notify_button (ClutterSeatEvdev *seat,
|
||||
uint32_t button,
|
||||
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_set_libinput_seat (ClutterSeatEvdev *seat,
|
||||
struct libinput_seat *libinput_seat);
|
||||
|
||||
|
@ -156,6 +156,9 @@ clutter_virtual_input_device_evdev_notify_relative_motion (ClutterVirtualInputDe
|
||||
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_relative_motion (virtual_evdev->seat,
|
||||
virtual_evdev->device,
|
||||
time_us,
|
||||
@ -172,6 +175,9 @@ clutter_virtual_input_device_evdev_notify_absolute_motion (ClutterVirtualInputDe
|
||||
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_absolute_motion (virtual_evdev->seat,
|
||||
virtual_evdev->device,
|
||||
time_us,
|
||||
@ -189,6 +195,9 @@ clutter_virtual_input_device_evdev_notify_button (ClutterVirtualInputDevice *vir
|
||||
CLUTTER_VIRTUAL_INPUT_DEVICE_EVDEV (virtual_device);
|
||||
int button_count;
|
||||
|
||||
if (time_us == CLUTTER_CURRENT_TIME)
|
||||
time_us = g_get_monotonic_time ();
|
||||
|
||||
if (get_button_type (button) != EVDEV_BUTTON_TYPE_BUTTON)
|
||||
{
|
||||
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);
|
||||
int key_count;
|
||||
|
||||
if (time_us == CLUTTER_CURRENT_TIME)
|
||||
time_us = g_get_monotonic_time ();
|
||||
|
||||
if (get_button_type (key) != EVDEV_BUTTON_TYPE_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;
|
||||
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,
|
||||
keyval, &keycode, &level))
|
||||
{
|
||||
@ -382,6 +397,57 @@ clutter_virtual_input_device_evdev_notify_keyval (ClutterVirtualInputDevice *vir
|
||||
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_get_property (GObject *object,
|
||||
guint prop_id,
|
||||
@ -485,6 +551,7 @@ 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_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_discrete_scroll = clutter_virtual_input_device_evdev_notify_discrete_scroll;
|
||||
|
||||
obj_props[PROP_SEAT] = g_param_spec_pointer ("seat",
|
||||
P_("ClutterSeatEvdev"),
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include "clutter-event-translator.h"
|
||||
#include "clutter-stage-private.h"
|
||||
#include "clutter-private.h"
|
||||
#include "clutter-xkb-a11y-x11.h"
|
||||
|
||||
enum
|
||||
{
|
||||
@ -352,9 +353,11 @@ static void
|
||||
clutter_device_manager_x11_constructed (GObject *gobject)
|
||||
{
|
||||
ClutterDeviceManagerX11 *manager_x11;
|
||||
ClutterDeviceManager *manager;
|
||||
ClutterBackendX11 *backend_x11;
|
||||
|
||||
manager_x11 = CLUTTER_DEVICE_MANAGER_X11 (gobject);
|
||||
manager = CLUTTER_DEVICE_MANAGER (gobject);
|
||||
|
||||
g_object_get (gobject, "backend", &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,
|
||||
manager_x11->core_pointer);
|
||||
|
||||
clutter_device_manager_x11_a11y_init (manager);
|
||||
|
||||
if (G_OBJECT_CLASS (clutter_device_manager_x11_parent_class)->constructed)
|
||||
G_OBJECT_CLASS (clutter_device_manager_x11_parent_class)->constructed (gobject);
|
||||
}
|
||||
@ -532,6 +537,7 @@ clutter_device_manager_x11_class_init (ClutterDeviceManagerX11Class *klass)
|
||||
manager_class->get_core_device = clutter_device_manager_x11_get_core_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->apply_kbd_a11y_settings = clutter_device_manager_x11_apply_kbd_a11y_settings;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -40,6 +40,7 @@
|
||||
#include "clutter-event-translator.h"
|
||||
#include "clutter-stage-private.h"
|
||||
#include "clutter-private.h"
|
||||
#include "clutter-xkb-a11y-x11.h"
|
||||
|
||||
#include <X11/extensions/XInput2.h>
|
||||
|
||||
@ -1987,6 +1988,8 @@ clutter_device_manager_xi2_constructed (GObject *gobject)
|
||||
|
||||
XSync (backend_x11->xdpy, False);
|
||||
|
||||
clutter_device_manager_x11_a11y_init (manager);
|
||||
|
||||
if (G_OBJECT_CLASS (clutter_device_manager_xi2_parent_class)->constructed)
|
||||
G_OBJECT_CLASS (clutter_device_manager_xi2_parent_class)->constructed (gobject);
|
||||
}
|
||||
@ -2049,6 +2052,7 @@ clutter_device_manager_xi2_class_init (ClutterDeviceManagerXI2Class *klass)
|
||||
manager_class->get_device = clutter_device_manager_xi2_get_device;
|
||||
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->apply_kbd_a11y_settings = clutter_device_manager_x11_apply_kbd_a11y_settings;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -14,7 +14,6 @@ static const struct {
|
||||
{ "Xft/HintStyle", "font-hint-style" },
|
||||
{ "Xft/RGBA", "font-subpixel-order" },
|
||||
{ "Fontconfig/Timestamp", "fontconfig-timestamp" },
|
||||
{ "Gdk/UnscaledDPI", "unscaled-font-dpi" },
|
||||
};
|
||||
|
||||
static const gint _n_clutter_settings_map = G_N_ELEMENTS (_clutter_settings_map);
|
||||
|
328
clutter/clutter/x11/clutter-xkb-a11y-x11.c
Normal file
328
clutter/clutter/x11/clutter-xkb-a11y-x11.c
Normal 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;
|
||||
}
|
39
clutter/clutter/x11/clutter-xkb-a11y-x11.h
Normal file
39
clutter/clutter/x11/clutter-xkb-a11y-x11.h
Normal 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 */
|
@ -407,7 +407,8 @@ test_scale_center (TestState *state)
|
||||
g_assert (scale_x == 4.0);
|
||||
g_assert (scale_y == 2.0);
|
||||
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);
|
||||
assert_coords (state, 100 + 10 - 10 * 4, 200 + 20 - 20 * 2,
|
||||
100 + 10 + (RECT_WIDTH - 10) * 4,
|
||||
|
@ -43,6 +43,7 @@
|
||||
#include <cogl/winsys/cogl-winsys-private.h>
|
||||
|
||||
void cogl_renderer_set_custom_winsys (CoglRenderer *renderer,
|
||||
CoglCustomWinsysVtableGetter winsys_vtable_getter);
|
||||
CoglCustomWinsysVtableGetter winsys_vtable_getter,
|
||||
void *user_data);
|
||||
|
||||
#endif /* __COGL_MUTTER_H___ */
|
||||
|
@ -54,6 +54,7 @@ struct _CoglRenderer
|
||||
const CoglDriverVtable *driver_vtable;
|
||||
const CoglTextureDriver *texture_driver;
|
||||
const CoglWinsysVtable *winsys_vtable;
|
||||
void *custom_winsys_user_data;
|
||||
CoglCustomWinsysVtableGetter custom_winsys_vtable_getter;
|
||||
CoglWinsysID winsys_id_override;
|
||||
GList *constraints;
|
||||
|
@ -566,8 +566,10 @@ _cogl_renderer_choose_driver (CoglRenderer *renderer,
|
||||
|
||||
void
|
||||
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;
|
||||
}
|
||||
|
||||
|
45
configure.ac
45
configure.ac
@ -1,8 +1,8 @@
|
||||
AC_PREREQ(2.62)
|
||||
|
||||
m4_define([mutter_major_version], [3])
|
||||
m4_define([mutter_minor_version], [25])
|
||||
m4_define([mutter_micro_version], [91])
|
||||
m4_define([mutter_minor_version], [27])
|
||||
m4_define([mutter_micro_version], [1])
|
||||
|
||||
m4_define([mutter_version],
|
||||
[mutter_major_version.mutter_minor_version.mutter_micro_version])
|
||||
@ -80,6 +80,7 @@ CANBERRA_GTK_VERSION=0.26
|
||||
LIBWACOM_VERSION=0.13
|
||||
|
||||
MUTTER_PC_MODULES="
|
||||
gl
|
||||
egl
|
||||
gtk+-3.0 >= 3.19.8
|
||||
gio-unix-2.0 >= 2.35.1
|
||||
@ -104,6 +105,7 @@ MUTTER_PC_MODULES="
|
||||
xcb-randr
|
||||
xcb-res
|
||||
"
|
||||
XWAYLAND_GRAB_DEFAULT_ACCESS_RULES="gnome-boxes,remote-viewer,virt-viewer,virt-manager,vinagre,vncviewer,Xephyr"
|
||||
|
||||
GLIB_GSETTINGS
|
||||
|
||||
@ -225,10 +227,10 @@ AC_MSG_CHECKING([gudev])
|
||||
if test x$with_gudev = xno ; then
|
||||
AC_MSG_RESULT([disabled])
|
||||
else
|
||||
if $PKG_CONFIG --exists gudev-1.0; then
|
||||
if $PKG_CONFIG --exists "gudev-1.0 >= 232"; then
|
||||
have_gudev=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])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
@ -238,6 +240,20 @@ else
|
||||
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.4"
|
||||
PKG_CHECK_EXISTS([libpipewire-0.1], [
|
||||
pw_micro=`$PKG_CONFIG --modversion libpipewire-0.1 | cut -d. -f3`
|
||||
AC_DEFINE_UNQUOTED([PIPEWIRE_VERSION_MICRO],[$pw_micro], [Pipewire micro version used])
|
||||
])
|
||||
AC_DEFINE([HAVE_REMOTE_DESKTOP],[1], [Defined if screen cast and remote desktop support is enabled])
|
||||
])
|
||||
AM_CONDITIONAL([HAVE_REMOTE_DESKTOP],[test "$enable_remote_desktop" = "yes"])
|
||||
|
||||
INTROSPECTION_VERSION=0.9.5
|
||||
GOBJECT_INTROSPECTION_CHECK([$INTROSPECTION_VERSION])
|
||||
|
||||
@ -267,8 +283,7 @@ AS_IF([test "$have_native_backend" = "yes"], [
|
||||
AM_CONDITIONAL([HAVE_NATIVE_BACKEND],[test "$have_native_backend" = "yes"])
|
||||
|
||||
AC_ARG_ENABLE(egl-device,
|
||||
AS_HELP_STRING([--enable-egl-device], [enable support for EGLDevice on top of KMS]),
|
||||
enable_egl_device=yes,
|
||||
AS_HELP_STRING([--enable-egl-device], [enable support for EGLDevice on top of KMS]),,
|
||||
enable_egl_device=no
|
||||
)
|
||||
AS_IF([test "$enable_egl_device" = "yes"], [
|
||||
@ -292,12 +307,27 @@ AS_IF([test "$have_wayland" = "yes"], [
|
||||
AC_SUBST([WAYLAND_SCANNER])
|
||||
AC_DEFINE([HAVE_WAYLAND],[1],[Define if you want to enable Wayland support])
|
||||
|
||||
PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, [wayland-protocols >= 1.9],
|
||||
PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, [wayland-protocols >= 1.10],
|
||||
[ac_wayland_protocols_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`])
|
||||
AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, $ac_wayland_protocols_pkgdatadir)
|
||||
])
|
||||
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],
|
||||
AC_DEFINE([HAVE_XI23],[1],[Define if you have support for XInput 2.3 or greater]))
|
||||
|
||||
@ -513,6 +543,7 @@ mutter-$VERSION
|
||||
Wayland: ${have_wayland}
|
||||
Native (KMS) backend: ${have_native_backend}
|
||||
EGLDevice: ${enable_egl_device}
|
||||
Remote desktop: ${enable_remote_desktop}
|
||||
"
|
||||
|
||||
|
||||
|
10
data/50-mutter-wayland.xml
Normal file
10
data/50-mutter-wayland.xml
Normal 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>
|
@ -12,6 +12,11 @@ xml_DATA = \
|
||||
50-mutter-system.xml \
|
||||
50-mutter-windows.xml
|
||||
|
||||
if HAVE_WAYLAND
|
||||
xml_DATA += \
|
||||
50-mutter-wayland.xml
|
||||
endif
|
||||
|
||||
gschema_in_files = \
|
||||
org.gnome.mutter.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
|
||||
$(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 $@
|
||||
|
||||
@GSETTINGS_RULES@
|
||||
|
@ -120,6 +120,10 @@
|
||||
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.
|
||||
</description>
|
||||
</key>
|
||||
|
||||
|
@ -50,8 +50,52 @@
|
||||
<summary>Switch to VT 12</summary>
|
||||
</key>
|
||||
<key name="restore-shortcuts" type="as">
|
||||
<default><![CDATA[['<Shift><Control>Escape']]]></default>
|
||||
<default><![CDATA[['<Super>Escape']]]></default>
|
||||
<summary>Re-enable shortcuts</summary>
|
||||
</key>
|
||||
</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>
|
||||
|
@ -2,6 +2,7 @@
|
||||
# Please keep this file sorted alphabetically.
|
||||
data/50-mutter-navigation.xml
|
||||
data/50-mutter-system.xml
|
||||
data/50-mutter-wayland.xml
|
||||
data/50-mutter-windows.xml
|
||||
data/mutter.desktop.in
|
||||
data/org.gnome.mutter.gschema.xml.in
|
||||
@ -13,18 +14,18 @@ src/compositor/meta-background.c
|
||||
src/core/bell.c
|
||||
src/core/core.c
|
||||
src/core/display.c
|
||||
src/core/errors.c
|
||||
src/core/keybindings.c
|
||||
src/core/main.c
|
||||
src/core/meta-close-dialog-default.c
|
||||
src/core/mutter.c
|
||||
src/core/prefs.c
|
||||
src/core/screen.c
|
||||
src/core/util.c
|
||||
src/core/window.c
|
||||
src/ui/frames.c
|
||||
src/ui/theme.c
|
||||
src/wayland/meta-wayland-tablet-pad.c
|
||||
src/x11/meta-x11-display.c
|
||||
src/x11/meta-x11-errors.c
|
||||
src/x11/session.c
|
||||
src/x11/window-props.c
|
||||
src/x11/xprops.c
|
||||
|
771
po/ar.po
771
po/ar.po
@ -11,8 +11,8 @@ msgstr ""
|
||||
"Project-Id-Version: metacity.HEAD\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mutter&"
|
||||
"keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-06-18 21:26+0200\n"
|
||||
"PO-Revision-Date: 2017-06-18 21:27+0200\n"
|
||||
"POT-Creation-Date: 2017-11-03 10:20+0200\n"
|
||||
"PO-Revision-Date: 2017-11-03 10:22+0200\n"
|
||||
"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
|
||||
"Language-Team: Arabic <doc@arabeyes.org>\n"
|
||||
"Language: ar\n"
|
||||
@ -24,448 +24,10 @@ msgstr ""
|
||||
"X-Generator: Virtaal 1.0.0-beta1\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. It’s 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 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: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. Don’t 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
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1866
|
||||
#: ../src/backends/meta-input-settings.c:2167
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr ""
|
||||
@ -473,113 +35,113 @@ msgstr ""
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1888
|
||||
#: ../src/backends/meta-input-settings.c:2190
|
||||
msgid "Switch monitor"
|
||||
msgstr "غيّر الشاشة"
|
||||
|
||||
#: src/backends/meta-input-settings.c:1890
|
||||
#: ../src/backends/meta-input-settings.c:2192
|
||||
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"
|
||||
msgstr "شاشة مدمجة"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:902
|
||||
#: ../src/backends/meta-monitor-manager.c:923
|
||||
msgid "Unknown"
|
||||
msgstr "غير معروفة"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:904
|
||||
#: ../src/backends/meta-monitor-manager.c:925
|
||||
msgid "Unknown Display"
|
||||
msgstr "شاشة غير معروفة"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:912
|
||||
#: ../src/backends/meta-monitor-manager.c:933
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
|
||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||
#. * we have no way to get it to exit
|
||||
#: src/compositor/compositor.c:476
|
||||
#, fuzzy, c-format
|
||||
#: ../src/compositor/compositor.c:476
|
||||
#, c-format
|
||||
msgid ""
|
||||
"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"
|
||||
msgstr "حدث جرس"
|
||||
|
||||
#: src/core/display.c:608
|
||||
#, fuzzy, c-format
|
||||
#: ../src/core/display.c:608
|
||||
#, c-format
|
||||
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"
|
||||
msgstr "عطّل الاتصال بمدير الجلسة"
|
||||
|
||||
#: src/core/main.c:195
|
||||
#: ../src/core/main.c:195
|
||||
msgid "Replace the running window manager"
|
||||
msgstr "استبدل بمدير النوافذ الذي يعمل"
|
||||
|
||||
#: src/core/main.c:201
|
||||
#: ../src/core/main.c:201
|
||||
msgid "Specify session management ID"
|
||||
msgstr "حدّد رقم هويّة إدارة الجلسة"
|
||||
|
||||
#: src/core/main.c:206
|
||||
#: ../src/core/main.c:206
|
||||
msgid "X Display to use"
|
||||
msgstr "معراض س الذي سيستعمل"
|
||||
|
||||
#: src/core/main.c:212
|
||||
#: ../src/core/main.c:212
|
||||
msgid "Initialize session from savefile"
|
||||
msgstr "ابدأ الجلسة من ملف محفوظ"
|
||||
|
||||
#: src/core/main.c:218
|
||||
#: ../src/core/main.c:218
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "اجعل نداءات س متزامنة"
|
||||
|
||||
#: src/core/main.c:225
|
||||
#: ../src/core/main.c:225
|
||||
msgid "Run as a wayland compositor"
|
||||
msgstr ""
|
||||
|
||||
#: src/core/main.c:231
|
||||
#: ../src/core/main.c:231
|
||||
msgid "Run as a nested compositor"
|
||||
msgstr ""
|
||||
|
||||
#: src/core/main.c:239
|
||||
#: ../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
|
||||
#: ../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
|
||||
#: ../src/core/meta-close-dialog-default.c:149
|
||||
msgid "Application is not responding."
|
||||
msgstr "لا يستجيب التطبيق"
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:154
|
||||
#: ../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
|
||||
#: ../src/core/meta-close-dialog-default.c:161
|
||||
msgid "_Force Quit"
|
||||
msgstr "أ_جبر الإنهاء"
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:161
|
||||
#: ../src/core/meta-close-dialog-default.c:161
|
||||
msgid "_Wait"
|
||||
msgstr "ا_نتظر"
|
||||
|
||||
#: src/core/mutter.c:39
|
||||
#, fuzzy, c-format
|
||||
#: ../src/core/mutter.c:39
|
||||
#, c-format
|
||||
msgid ""
|
||||
"mutter %s\n"
|
||||
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
|
||||
@ -592,56 +154,289 @@ msgstr ""
|
||||
"هذا برنامج حر، راجع المصدر لشروط النسخ.\n"
|
||||
"لا يوجد أي ضمان: و لا حتى ضمان قابلية التسويق أو المناسبة لأي هدف.\n"
|
||||
|
||||
#: src/core/mutter.c:53
|
||||
#: ../src/core/mutter.c:53
|
||||
msgid "Print version"
|
||||
msgstr "اطبع الإصدارة"
|
||||
|
||||
#: src/core/mutter.c:59
|
||||
#: ../src/core/mutter.c:59
|
||||
msgid "Mutter plugin to use"
|
||||
msgstr "ملحق مَتَر الذي سيُستخدم"
|
||||
|
||||
#: src/core/prefs.c:1997
|
||||
#: ../src/core/prefs.c:1997
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "مساحة العمل %d"
|
||||
|
||||
#: src/core/screen.c:580
|
||||
#, fuzzy, c-format
|
||||
#: ../src/core/screen.c:583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Display “%s” already has a window manager; try using the --replace option to "
|
||||
"replace the current window manager."
|
||||
msgstr ""
|
||||
"الشاشة \"%s\" لها مدير نوافذ بالفعل، حاول استعمال خيار التبديل --replace "
|
||||
"لتحُلّ محلّ مدير النوافذ الحالي."
|
||||
"الشاشة ”%s“ لها مدير نوافذ بالفعل، حاول استعمال خيار التبديل --replace لتحُلّ"
|
||||
" محلّ مدير النوافذ الحالي."
|
||||
|
||||
#: src/core/screen.c:665
|
||||
#, fuzzy, c-format
|
||||
#: ../src/core/screen.c:668
|
||||
#, c-format
|
||||
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"
|
||||
msgstr "جُمِّع مَتَر دون دعم للنمط المطنب\n"
|
||||
|
||||
#: src/wayland/meta-wayland-tablet-pad.c:563
|
||||
#: ../src/wayland/meta-wayland-tablet-pad.c:563
|
||||
#, c-format
|
||||
msgid "Mode Switch: Mode %d"
|
||||
msgstr ""
|
||||
|
||||
#: src/x11/session.c:1815
|
||||
#, fuzzy
|
||||
#: ../src/x11/session.c:1815
|
||||
msgid ""
|
||||
"These windows do not support “save current setup” and will have to be "
|
||||
"restarted manually next time you log in."
|
||||
msgstr ""
|
||||
"هذه النوافذ لا تدعم "احفظ الضبط الحالي" يجب إعادة تشغيلها يدويا "
|
||||
"عند الولوج المرة القادمة."
|
||||
"هذه النوافذ لا تدعم ” الضبط الحالي" إعادة تشغيلها يدويا عند الولوج "
|
||||
"المرة القادمة."
|
||||
|
||||
#: src/x11/window-props.c:559
|
||||
#: ../src/x11/window-props.c:559
|
||||
#, c-format
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (على %s)"
|
||||
|
||||
#~ msgid "Navigation"
|
||||
#~ msgstr "الإبحار"
|
||||
|
||||
#~ msgid "Move window to workspace 1"
|
||||
#~ msgstr "انقل النافذة إلى مساحة العمل 1"
|
||||
|
||||
#~ msgid "Move window to workspace 2"
|
||||
#~ msgstr "انقل النافذة إلى مساحة العمل 2"
|
||||
|
||||
#~ msgid "Move window to workspace 3"
|
||||
#~ msgstr "انقل النافذة إلى مساحة العمل 3"
|
||||
|
||||
#~ msgid "Move window to workspace 4"
|
||||
#~ msgstr "انقل النافذة إلى مساحة العمل 4"
|
||||
|
||||
#~ msgid "Move window to last workspace"
|
||||
#~ msgstr "انقل النافذة إلى مساحة العمل الأخيرة"
|
||||
|
||||
#~ msgid "Move window one workspace to the left"
|
||||
#~ msgstr "انقل النافذة مساحة عمل واحدة إلى اليسار"
|
||||
|
||||
#~ msgid "Move window one workspace to the right"
|
||||
#~ msgstr "انقل النافذة مساحة عمل واحدة إلى اليمين"
|
||||
|
||||
#~ msgid "Move window one workspace up"
|
||||
#~ msgstr "انقل النافذة مساحة عمل واحدة إلى الأعلى"
|
||||
|
||||
#~ msgid "Move window one workspace down"
|
||||
#~ msgstr "انقل النافذة مساحة عمل واحدة إلى الأسفل"
|
||||
|
||||
#~ msgid "Move window one monitor to the left"
|
||||
#~ msgstr "انقل النافذة شاشة واحدة إلى اليسار"
|
||||
|
||||
#~ msgid "Move window one monitor to the right"
|
||||
#~ msgstr "انقل النافذة شاشة واحدة إلى اليمين"
|
||||
|
||||
#~ msgid "Move window one monitor up"
|
||||
#~ msgstr "انقل النافذة شاشة واحدة إلى الأعلى"
|
||||
|
||||
#~ msgid "Move window one monitor down"
|
||||
#~ msgstr "انقل النافذة شاشة واحدة إلى الأسفل"
|
||||
|
||||
#~ msgid "Switch applications"
|
||||
#~ msgstr "تنقل بين التطبيقات"
|
||||
|
||||
#~ msgid "Switch to previous application"
|
||||
#~ msgstr "انتقل إلى التطبيق السابق"
|
||||
|
||||
#~ msgid "Switch windows"
|
||||
#~ msgstr "تنقل بين النوافذ"
|
||||
|
||||
#~ msgid "Switch to previous window"
|
||||
#~ msgstr "انتقل إلى النافذة السابقة"
|
||||
|
||||
#~ msgid "Switch windows of an application"
|
||||
#~ msgstr "تنقل بين نوافذ التطبيق"
|
||||
|
||||
#~ msgid "Switch to previous window of an application"
|
||||
#~ msgstr "انتقل إلى نافذة التطبيق السابقة"
|
||||
|
||||
#~ msgid "Switch 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"
|
||||
#~ msgstr "طلب معلومات نافذة مجهول: %d"
|
||||
|
||||
|
96
po/be.po
96
po/be.po
@ -5,8 +5,8 @@ msgstr ""
|
||||
"Project-Id-Version: mutter.master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-04-21 21:33+0000\n"
|
||||
"PO-Revision-Date: 2017-04-23 16:56+0300\n"
|
||||
"POT-Creation-Date: 2017-08-29 16:09+0000\n"
|
||||
"PO-Revision-Date: 2017-09-01 18:44+0300\n"
|
||||
"Last-Translator: Yuras Shumovich <shumovichy@gmail.com>\n"
|
||||
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
|
||||
"Language: be\n"
|
||||
@ -409,7 +409,10 @@ msgid ""
|
||||
"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."
|
||||
"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 ""
|
||||
"Каб уключыць эксперыментальныя функцыі, дадайце адпаведнае ключавое слова ў "
|
||||
"гэты ліст. Некаторыя функцыі могуць патрабаваць перазапуску кампазітара. "
|
||||
@ -418,16 +421,27 @@ msgstr ""
|
||||
"\"scale-monitor-framebuffer\" - прымушае mutter прадвызначана размяшчаць "
|
||||
"лагічныя маніторы ў лагічнай прасторы каардынат пікселаў, пры гэтым "
|
||||
"маштабаваць кадравы буфер, а не змесціва акна, для падтрымкі 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"
|
||||
msgstr "Выбраць акно з выплыўнога акенца"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:146
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
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
|
||||
msgid "Switch to VT 1"
|
||||
msgstr "Перайсці ў віртуальны тэрмінал 1"
|
||||
@ -476,10 +490,14 @@ msgstr "Перайсці ў віртуальны тэрмінал 11"
|
||||
msgid "Switch to VT 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
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1848
|
||||
#: src/backends/meta-input-settings.c:2151
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "Пераключыць рэжым (група %d)"
|
||||
@ -487,37 +505,37 @@ msgstr "Пераключыць рэжым (група %d)"
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1870
|
||||
#: src/backends/meta-input-settings.c:2174
|
||||
msgid "Switch monitor"
|
||||
msgstr "Пераключыць манітор"
|
||||
|
||||
#: src/backends/meta-input-settings.c:1872
|
||||
#: src/backends/meta-input-settings.c:2176
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Паказаць экранную даведку"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:783
|
||||
#: src/backends/meta-monitor-manager.c:903
|
||||
msgid "Built-in display"
|
||||
msgstr "Убудаваны дысплей"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:806
|
||||
#: src/backends/meta-monitor-manager.c:926
|
||||
msgid "Unknown"
|
||||
msgstr "Невядомы"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:808
|
||||
#: src/backends/meta-monitor-manager.c:928
|
||||
msgid "Unknown Display"
|
||||
msgstr "Невядомы дысплей"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:816
|
||||
#: src/backends/meta-monitor-manager.c:936
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
|
||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||
#. * we have no way to get it to exit
|
||||
#: src/compositor/compositor.c:474
|
||||
#: src/compositor/compositor.c:476
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display “%s”."
|
||||
@ -528,31 +546,6 @@ msgstr ""
|
||||
msgid "Bell event"
|
||||
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
|
||||
#, c-format
|
||||
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"
|
||||
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
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
21
po/ca.po
21
po/ca.po
@ -5,7 +5,7 @@
|
||||
# Jesús Moreno <jmmolas@wanadoo.es>, 2002.
|
||||
# Jordi Mallach <jordi@sindominio.net>, 2003, 2004, 2005, 2006, 2007, 2008.
|
||||
# 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.
|
||||
#
|
||||
msgid ""
|
||||
@ -13,7 +13,7 @@ msgstr ""
|
||||
"Project-Id-Version: metacity 2.24\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-08-21 04:46+0000\n"
|
||||
"POT-Creation-Date: 2017-08-29 16:09+0000\n"
|
||||
"PO-Revision-Date: 2017-08-25 13:23+0200\n"
|
||||
"Last-Translator: Jordi Mas <jmas@softcatala.org>\n"
|
||||
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
|
||||
@ -240,7 +240,7 @@ msgstr ""
|
||||
|
||||
#: data/50-mutter-windows.xml:31
|
||||
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
|
||||
msgid "Raise window above other windows"
|
||||
@ -306,7 +306,7 @@ msgstr ""
|
||||
#: data/org.gnome.mutter.gschema.xml.in:30
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
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"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:31
|
||||
@ -424,22 +424,25 @@ msgid ""
|
||||
"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."
|
||||
"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:141
|
||||
#: data/org.gnome.mutter.gschema.xml.in:145
|
||||
msgid "Select window from tab popup"
|
||||
msgstr "Selecció de finestra entre les emergents d'una pestanya"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:146
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
msgstr "Cancel·lació de les finestres emergents a les pestanyes"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:151
|
||||
#: data/org.gnome.mutter.gschema.xml.in:155
|
||||
msgid "Switch monitor configurations"
|
||||
msgstr "Canvia configuracions de monitor"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:156
|
||||
#: data/org.gnome.mutter.gschema.xml.in:160
|
||||
msgid "Rotates the built-in monitor configuration"
|
||||
msgstr "Gira la configuració del monitor integrada"
|
||||
|
||||
|
1663
po/ca@valencia.po
1663
po/ca@valencia.po
File diff suppressed because it is too large
Load Diff
55
po/cs.po
55
po/cs.po
@ -13,10 +13,10 @@ msgstr ""
|
||||
"Project-Id-Version: mutter\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-08-21 04:46+0000\n"
|
||||
"PO-Revision-Date: 2017-08-22 18:29+0200\n"
|
||||
"POT-Creation-Date: 2017-11-10 18:16+0000\n"
|
||||
"PO-Revision-Date: 2017-11-15 13:31+0100\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"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@ -177,7 +177,7 @@ msgstr "Přesunout na plochu nad"
|
||||
msgid "Move to workspace below"
|
||||
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"
|
||||
msgstr "Systém"
|
||||
|
||||
@ -189,6 +189,10 @@ msgstr "Zobrazit řádek ke spuštění příkazu"
|
||||
msgid "Show the activities overview"
|
||||
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
|
||||
msgid "Windows"
|
||||
msgstr "Okna"
|
||||
@ -413,32 +417,37 @@ msgid ""
|
||||
"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."
|
||||
"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 ""
|
||||
"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é "
|
||||
"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í "
|
||||
"přidáno něco, co by do budoucna přineslo vylepšení. V současné době jsou "
|
||||
"možná tato klíčová slova: • „scale-monitor-framebuffer“ – zajistí, "
|
||||
"aby byl mutter výchozí pro logické uspořádání monitorů v logickém "
|
||||
"souřadnicovém prostoru pixelů, zatímco škáluje přímo v grafické vyrovnávací "
|
||||
"paměti, namísto v obsahu oken, aby se postaral o správu montorů s HiDPI. "
|
||||
"Nevyžaduje restart."
|
||||
"možná tato klíčová slova: • „scale-monitor-framebuffer“ – zajistí, aby byl "
|
||||
"mutter výchozí pro logické uspořádání monitorů v logickém souřadnicovém "
|
||||
"prostoru pixelů, zatímco škáluje přímo v grafické vyrovnávací paměti, "
|
||||
"namísto v obsahu oken, aby se postaral o správu montorů s HiDPI. Nevyžaduje "
|
||||
"restart. • „remote-desktop“ – zapne podporu pro vzdálenou pracovní plochu. "
|
||||
"Pro podporu vzdálené plochy se sdílením obrazovky musít být zapnuto také "
|
||||
"„screen-cast“. • „screen-cast“ – zapne podporu pro vysílání obsahu obrazovky."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:141
|
||||
#: data/org.gnome.mutter.gschema.xml.in:145
|
||||
msgid "Select window from tab popup"
|
||||
msgstr "Vybrat okno z překryvné nabídky tabulátoru"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:146
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
msgstr "Zrušit překryvné okno tabulátoru"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:151
|
||||
#: data/org.gnome.mutter.gschema.xml.in:155
|
||||
msgid "Switch monitor configurations"
|
||||
msgstr "Přepnout nastavení monitoru"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:156
|
||||
#: data/org.gnome.mutter.gschema.xml.in:160
|
||||
msgid "Rotates the built-in monitor configuration"
|
||||
msgstr "Postupně mění vestavěná nastavení monitoru"
|
||||
|
||||
@ -497,7 +506,7 @@ msgstr "Znovu povolit klávesové zkratky"
|
||||
#. TRANSLATORS: This string refers to a button that switches between
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2151
|
||||
#: src/backends/meta-input-settings.c:2167
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "Přepínač režimu (skupina %d)"
|
||||
@ -505,30 +514,30 @@ msgstr "Přepínač režimu (skupina %d)"
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2174
|
||||
#: src/backends/meta-input-settings.c:2190
|
||||
msgid "Switch monitor"
|
||||
msgstr "Přepnout monitor"
|
||||
|
||||
#: src/backends/meta-input-settings.c:2176
|
||||
#: src/backends/meta-input-settings.c:2192
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Zobrazit nápovědu na obrazovce"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:903
|
||||
#: src/backends/meta-monitor-manager.c:900
|
||||
msgid "Built-in display"
|
||||
msgstr "Vestavěný displej"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:926
|
||||
#: src/backends/meta-monitor-manager.c:923
|
||||
msgid "Unknown"
|
||||
msgstr "Neznámý"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:928
|
||||
#: src/backends/meta-monitor-manager.c:925
|
||||
msgid "Unknown Display"
|
||||
msgstr "Neznámý displej"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:936
|
||||
#: src/backends/meta-monitor-manager.c:933
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
@ -641,7 +650,7 @@ msgstr "Zásuvný modul Mutter, který se má použít"
|
||||
msgid "Workspace %d"
|
||||
msgstr "Plocha %d"
|
||||
|
||||
#: src/core/screen.c:580
|
||||
#: src/core/screen.c:583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Display “%s” already has a window manager; try using the --replace option to "
|
||||
@ -650,7 +659,7 @@ msgstr ""
|
||||
"Displej „%s“ již správce oken má; zkuste prosím nahradit aktuálního správce "
|
||||
"oken pomocí přepínače --replace."
|
||||
|
||||
#: src/core/screen.c:665
|
||||
#: src/core/screen.c:668
|
||||
#, c-format
|
||||
msgid "Screen %d on display “%s” is invalid\n"
|
||||
msgstr "Obrazovka %d na displeji „%s“ je neplatná\n"
|
||||
|
129
po/de.po
129
po/de.po
@ -5,7 +5,7 @@
|
||||
# Hendrik Richter <hendrikr@gnome.org>, 2005, 2006, 2007, 2008.
|
||||
# Mario Blättermann <mario.blaettermann@gmail.com>, 2010-2013, 2016-2017.
|
||||
# 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.
|
||||
#
|
||||
msgid ""
|
||||
@ -13,16 +13,16 @@ msgstr ""
|
||||
"Project-Id-Version: mutter master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-05-10 19:07+0000\n"
|
||||
"PO-Revision-Date: 2017-05-12 17:35+0200\n"
|
||||
"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
|
||||
"POT-Creation-Date: 2017-11-10 18:18+0000\n"
|
||||
"PO-Revision-Date: 2017-11-11 17:57+0100\n"
|
||||
"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
|
||||
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 2.0.1\n"
|
||||
"X-Generator: Poedit 2.0.4\n"
|
||||
|
||||
#: data/50-mutter-navigation.xml:6
|
||||
msgid "Navigation"
|
||||
@ -134,7 +134,7 @@ msgstr "Systemsteuerungen sofort umschalten"
|
||||
|
||||
#: data/50-mutter-navigation.xml:108
|
||||
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
|
||||
msgid "Hide all normal windows"
|
||||
@ -176,7 +176,7 @@ msgstr "Auf Arbeitsfläche darüber verschieben"
|
||||
msgid "Move to workspace below"
|
||||
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"
|
||||
msgstr "System"
|
||||
|
||||
@ -188,6 +188,10 @@ msgstr "Den »Befehl ausführen«-Dialog anzeigen"
|
||||
msgid "Show the activities overview"
|
||||
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
|
||||
msgid "Windows"
|
||||
msgstr "Fenster"
|
||||
@ -412,7 +416,6 @@ msgid "Enable experimental features"
|
||||
msgstr "Experimentelle Funktionsmerkmale aktivieren"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:108
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To enable experimental features, add the feature keyword to the list. "
|
||||
"Whether the feature requires restarting the compositor depends on the given "
|
||||
@ -421,23 +424,43 @@ msgid ""
|
||||
"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."
|
||||
"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 ""
|
||||
"Um experimentelle Funktionsmerkmale zu aktivieren, fügen Sie das "
|
||||
"entsprechende Schlüsselwort zur Liste hinzu. Möglicherweise muss der "
|
||||
"Compositor neu gestartet werden, um es zu aktivieren. Für diese "
|
||||
"experimentellen Funktionsmerkmale gilt, dass sie nicht unbedingt dauerhaft "
|
||||
"verfügbar sein werden, oder Einstellungen möglich sind. Derzeit mögliche "
|
||||
"Schlüsselwörter: • “scale-monitor-framebuffer” — "
|
||||
"Compositor neu gestartet werden, um es zu aktivieren, dies ist vom "
|
||||
"Funktionsmerkmal abhängig. Für diese experimentellen Funktionsmerkmale gilt, "
|
||||
"dass sie nicht unbedingt dauerhaft verfügbar sein werden, oder Einstellungen "
|
||||
"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"
|
||||
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"
|
||||
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
|
||||
msgid "Switch to VT 1"
|
||||
msgstr "Zum virtuellen Terminal 1 wechseln"
|
||||
@ -486,10 +509,14 @@ msgstr "Zum virtuellen Terminal 11 wechseln"
|
||||
msgid "Switch to VT 12"
|
||||
msgstr "Zum virtuellen Terminal 12 wechseln"
|
||||
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:54
|
||||
msgid "Re-enable shortcuts"
|
||||
msgstr "Tastenkombinationen erneut aktivieren"
|
||||
|
||||
#. TRANSLATORS: This string refers to a button that switches between
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1848
|
||||
#: src/backends/meta-input-settings.c:2167
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "Moduswechsel (Gruppe %d)"
|
||||
@ -497,37 +524,37 @@ msgstr "Moduswechsel (Gruppe %d)"
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1870
|
||||
#: src/backends/meta-input-settings.c:2190
|
||||
msgid "Switch monitor"
|
||||
msgstr "Bildschirm wechseln"
|
||||
|
||||
#: src/backends/meta-input-settings.c:1872
|
||||
#: src/backends/meta-input-settings.c:2192
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Bildschirmhilfe anzeigen"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:783
|
||||
#: src/backends/meta-monitor-manager.c:908
|
||||
msgid "Built-in display"
|
||||
msgstr "Eingebaute Anzeige"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:806
|
||||
#: src/backends/meta-monitor-manager.c:931
|
||||
msgid "Unknown"
|
||||
msgstr "Unbekannt"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:808
|
||||
#: src/backends/meta-monitor-manager.c:933
|
||||
msgid "Unknown Display"
|
||||
msgstr "Unbekannte Anzeige"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:816
|
||||
#: src/backends/meta-monitor-manager.c:941
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
|
||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||
#. * we have no way to get it to exit
|
||||
#: src/compositor/compositor.c:474
|
||||
#: src/compositor/compositor.c:476
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display “%s”."
|
||||
@ -539,32 +566,6 @@ msgstr ""
|
||||
msgid "Bell event"
|
||||
msgstr "Klangereignis"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: src/core/delete.c:127
|
||||
#, c-format
|
||||
msgid "“%s” is not responding."
|
||||
msgstr "»%s« antwortet nicht."
|
||||
|
||||
#: src/core/delete.c:129
|
||||
msgid "Application is not responding."
|
||||
msgstr "Die Anwendung antwortet nicht."
|
||||
|
||||
#: 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 ""
|
||||
"Sie können der Anwendung noch etwas Zeit geben oder ein sofortiges Beenden "
|
||||
"erzwingen."
|
||||
|
||||
#: src/core/delete.c:141
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Beenden erzwingen"
|
||||
|
||||
#: src/core/delete.c:141
|
||||
msgid "_Wait"
|
||||
msgstr "_Warten"
|
||||
|
||||
#: src/core/display.c:608
|
||||
#, c-format
|
||||
msgid "Failed to open X Window System display “%s”\n"
|
||||
@ -606,6 +607,32 @@ msgstr "Als eingebetteten Compositor ausführen"
|
||||
msgid "Run as a full display server, rather than nested"
|
||||
msgstr "Als vollwertigen Display-Server verwenden (nicht eingebettet)"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: src/core/meta-close-dialog-default.c:147
|
||||
#, c-format
|
||||
msgid "“%s” is not responding."
|
||||
msgstr "»%s« antwortet nicht."
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:149
|
||||
msgid "Application is not responding."
|
||||
msgstr "Die Anwendung antwortet nicht."
|
||||
|
||||
#: 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 ""
|
||||
"Sie können der Anwendung noch etwas Zeit geben oder ein sofortiges Beenden "
|
||||
"erzwingen."
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:161
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Beenden erzwingen"
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:161
|
||||
msgid "_Wait"
|
||||
msgstr "_Warten"
|
||||
|
||||
# CHECK
|
||||
# c-format
|
||||
#: src/core/mutter.c:39
|
||||
@ -637,7 +664,7 @@ msgstr "Zu benutzendes Mutter-Plugin"
|
||||
msgid "Workspace %d"
|
||||
msgstr "Arbeitsfläche %d"
|
||||
|
||||
#: src/core/screen.c:580
|
||||
#: src/core/screen.c:583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Display “%s” already has a window manager; try using the --replace option to "
|
||||
@ -646,7 +673,7 @@ msgstr ""
|
||||
"Bildschirm »%s« hat bereits einen Fensterverwalter. Versuchen Sie die Option "
|
||||
"»--replace«, um den aktuellen Fensterverwalter zu ersetzen."
|
||||
|
||||
#: src/core/screen.c:665
|
||||
#: src/core/screen.c:668
|
||||
#, c-format
|
||||
msgid "Screen %d on display “%s” is invalid\n"
|
||||
msgstr "Bildschirm %d auf Anzeige »%s« ist ungültig\n"
|
||||
|
80
po/es.po
80
po/es.po
@ -14,8 +14,8 @@ msgstr ""
|
||||
"Project-Id-Version: mutter.master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-08-02 10:05+0000\n"
|
||||
"PO-Revision-Date: 2017-08-03 09:59+0200\n"
|
||||
"POT-Creation-Date: 2017-11-17 16:03+0000\n"
|
||||
"PO-Revision-Date: 2017-12-14 13:02+0100\n"
|
||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||
"Language-Team: es <gnome-es-list@gnome.org>\n"
|
||||
"Language: es\n"
|
||||
@ -177,7 +177,7 @@ msgstr "Mover al área de trabajo de la arriba"
|
||||
msgid "Move to workspace below"
|
||||
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"
|
||||
msgstr "Sistema"
|
||||
|
||||
@ -189,6 +189,10 @@ msgstr "Mostrar el elemento «ejecutar comando»"
|
||||
msgid "Show the activities overview"
|
||||
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
|
||||
msgid "Windows"
|
||||
msgstr "Ventanas"
|
||||
@ -414,49 +418,59 @@ msgid "Enable experimental features"
|
||||
msgstr "Activar las características experimentales"
|
||||
|
||||
#: 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. Don’t expect adding anything in this setting "
|
||||
#| "to be future proof. Currently possible keywords: • “monitor-config-"
|
||||
#| "manager” — use the new monitor configuration system, aimed to replace the "
|
||||
#| "old one. This enables a higher level configuration API to be used by "
|
||||
#| "configuration applications, as well as the ability to configure per "
|
||||
#| "logical monitor scale. • “scale-monitor-framebuffer” — makes mutter "
|
||||
#| "default to layout logical monitors in a logical pixel coordinate space, "
|
||||
#| "while scaling monitor framebuffers instead of window content, to manage "
|
||||
#| "HiDPI monitors. Does not require a restart. Also enabling “monitor-config-"
|
||||
#| "manager” is required for this feature to be enabled."
|
||||
msgid ""
|
||||
"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. Don’t 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."
|
||||
"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 ""
|
||||
"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 "
|
||||
"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 "
|
||||
"escenario sirva como prueba futura. Las palabras clave actualmente "
|
||||
"disponibles son: • \"monitor-config-manager\" - utiliza el nuevo sistema de "
|
||||
"configuración del monitor, destinado a sustituir el antiguo. Esto permite "
|
||||
"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 "
|
||||
"disponibles son: • \"scale-monitor-framebuffer\" - convierte a mutter en la "
|
||||
"manera predeterminada de disponer monitores lógicos en un espacio lógico de "
|
||||
"coordenadas de píxeles, al escalar framebuffers de monitores framebuffers en "
|
||||
"lugar del contenido de ventana, para administrar monitores HiDPI. No "
|
||||
"requiere un reinicio. También es necesario activar \"monitor-config-manager"
|
||||
"\" para activar esta función."
|
||||
"requiere un reinicio. • \"remote-desktop\" — activa el escritorio remoto. "
|
||||
"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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
msgstr "Rota la configuración del monitor empotrado"
|
||||
|
||||
@ -515,7 +529,7 @@ msgstr "Volver a activar los atajos"
|
||||
#. TRANSLATORS: This string refers to a button that switches between
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2118
|
||||
#: src/backends/meta-input-settings.c:2260
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "Cambiar modo (grupo %d)"
|
||||
@ -523,37 +537,37 @@ msgstr "Cambiar modo (grupo %d)"
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2141
|
||||
#: src/backends/meta-input-settings.c:2283
|
||||
msgid "Switch monitor"
|
||||
msgstr "Cambiar monitor"
|
||||
|
||||
#: src/backends/meta-input-settings.c:2143
|
||||
#: src/backends/meta-input-settings.c:2285
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Mostrar la ayuda en pantalla"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:927
|
||||
#: src/backends/meta-monitor-manager.c:900
|
||||
msgid "Built-in display"
|
||||
msgstr "Pantalla integrada"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:950
|
||||
#: src/backends/meta-monitor-manager.c:923
|
||||
msgid "Unknown"
|
||||
msgstr "Desconocida"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:952
|
||||
#: src/backends/meta-monitor-manager.c:925
|
||||
msgid "Unknown Display"
|
||||
msgstr "Pantalla desconocida"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:960
|
||||
#: src/backends/meta-monitor-manager.c:933
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
|
||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||
#. * we have no way to get it to exit
|
||||
#: src/compositor/compositor.c:476
|
||||
#: src/compositor/compositor.c:479
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display “%s”."
|
||||
@ -661,7 +675,7 @@ msgstr "Complemento de mutter que usar"
|
||||
msgid "Workspace %d"
|
||||
msgstr "Área de trabajo %d"
|
||||
|
||||
#: src/core/screen.c:580
|
||||
#: src/core/screen.c:583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"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 «--"
|
||||
"replace» para reemplazar el gestor de ventanas activo."
|
||||
|
||||
#: src/core/screen.c:665
|
||||
#: src/core/screen.c:668
|
||||
#, c-format
|
||||
msgid "Screen %d on display “%s” is invalid\n"
|
||||
msgstr "La ventana %d en la pantalla «%s» no es válida\n"
|
||||
|
156
po/eu.po
156
po/eu.po
@ -8,10 +8,10 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"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"
|
||||
"POT-Creation-Date: 2017-02-16 01:44+0000\n"
|
||||
"PO-Revision-Date: 2017-02-16 22:07+0100\n"
|
||||
"POT-Creation-Date: 2017-08-21 04:46+0000\n"
|
||||
"PO-Revision-Date: 2017-08-27 16:47+0200\n"
|
||||
"Last-Translator: Iñaki Larrañaga Murgoitio <dooteo@zundan.com>\n"
|
||||
"Language-Team: Basque <librezale@librezale.eus>\n"
|
||||
"Language: eu\n"
|
||||
@ -270,11 +270,6 @@ msgid "Modifier to use for extended window management operations"
|
||||
msgstr "Aldatzailea leihoak kudeatzeko eragiketa hedatuetan erabiltzeko"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:8
|
||||
#| msgid ""
|
||||
#| "This key will initiate the \"overlay\", which is a combination window "
|
||||
#| "overview and application launching system. The default is intended to be "
|
||||
#| "the \"Windows key\" on PC hardware. It's expected that this binding "
|
||||
#| "either the default or set to the empty string."
|
||||
msgid ""
|
||||
"This key will initiate the “overlay”, which is a combination window overview "
|
||||
"and application launching system. The default is intended to be the “Windows "
|
||||
@ -320,10 +315,6 @@ msgid "Workspaces are managed dynamically"
|
||||
msgstr "Laneko areak dinamikoki kudeatzen dira"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:41
|
||||
#| msgid ""
|
||||
#| "Determines whether workspaces are managed dynamically or whether there's "
|
||||
#| "a static number of workspaces (determined by the num-workspaces key in "
|
||||
#| "org.gnome.desktop.wm.preferences)."
|
||||
msgid ""
|
||||
"Determines whether workspaces are managed dynamically or whether there’s a "
|
||||
"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"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:69
|
||||
#| msgid ""
|
||||
#| "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
|
||||
#| "the focus will not be changed immediately when entering a window, but "
|
||||
#| "only after the pointer stops moving."
|
||||
msgid ""
|
||||
"If set to true, and the focus mode is either “sloppy” or “mouse” then the "
|
||||
"focus will not be changed immediately when entering a window, but only after "
|
||||
@ -380,9 +367,6 @@ msgid "Draggable border width"
|
||||
msgstr "Ertz arrastragarriaren zabalera"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:80
|
||||
#| msgid ""
|
||||
#| "The amount of total draggable borders. If the theme's visible borders are "
|
||||
#| "not enough, invisible borders will be added to meet this value."
|
||||
msgid ""
|
||||
"The amount of total draggable borders. If the theme’s visible borders are "
|
||||
"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 "
|
||||
"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. Don’t 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"
|
||||
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"
|
||||
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
|
||||
msgid "Switch to VT 1"
|
||||
msgstr "Aldatu 1. TBra"
|
||||
@ -470,92 +490,65 @@ msgstr "Aldatu 11. TBra"
|
||||
msgid "Switch to VT 12"
|
||||
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
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1759
|
||||
#: src/backends/meta-input-settings.c:2151
|
||||
#, c-format
|
||||
#| msgid "Mode Switch: Mode %d"
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "Modu aldaketa (%d taldea)"
|
||||
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1781
|
||||
#: src/backends/meta-input-settings.c:2174
|
||||
msgid "Switch monitor"
|
||||
msgstr "Aldatu monitorea"
|
||||
|
||||
#: src/backends/meta-input-settings.c:1783
|
||||
#: src/backends/meta-input-settings.c:2176
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Erakutsi pantailako laguntza"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:675
|
||||
#: src/backends/meta-monitor-manager.c:903
|
||||
msgid "Built-in display"
|
||||
msgstr "Bertako pantaila"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:698
|
||||
#: src/backends/meta-monitor-manager.c:926
|
||||
msgid "Unknown"
|
||||
msgstr "Ezezaguna"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:700
|
||||
#: src/backends/meta-monitor-manager.c:928
|
||||
msgid "Unknown Display"
|
||||
msgstr "Pantaila ezezaguna"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:708
|
||||
#: src/backends/meta-monitor-manager.c:936
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
|
||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||
#. * we have no way to get it to exit
|
||||
#: src/compositor/compositor.c:471
|
||||
#: src/compositor/compositor.c:476
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "Another compositing manager is already running on screen %i on display "
|
||||
#| "\"%s\"."
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display “%s”."
|
||||
msgstr ""
|
||||
"Dagoeneko beste konposatze-kudeatzailea ari da exekutatzen “%2$s“ "
|
||||
"pantailako %1$i. monitorean."
|
||||
"Dagoeneko beste konposatze-kudeatzailea ari da exekutatzen “%2$s“ pantailako "
|
||||
"%1$i. monitorean."
|
||||
|
||||
#: src/core/bell.c:194
|
||||
msgid "Bell event"
|
||||
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
|
||||
#, c-format
|
||||
#| 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"
|
||||
|
||||
@ -595,14 +588,34 @@ msgstr "Exekutatu habiaratutako konposatzaile gisa"
|
||||
msgid "Run as a full display server, rather than nested"
|
||||
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
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "mutter %s\n"
|
||||
#| "Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
|
||||
#| "This is free software; see the source for copying conditions.\n"
|
||||
#| "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
|
||||
#| "PARTICULAR PURPOSE.\n"
|
||||
msgid ""
|
||||
"mutter %s\n"
|
||||
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
|
||||
@ -631,9 +644,6 @@ msgstr "%d. laneko area"
|
||||
|
||||
#: src/core/screen.c:580
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "Display \"%s\" already has a window manager; try using the --replace "
|
||||
#| "option to replace the current window manager."
|
||||
msgid ""
|
||||
"Display “%s” already has a window manager; try using the --replace option to "
|
||||
"replace the current window manager."
|
||||
@ -643,7 +653,6 @@ msgstr ""
|
||||
|
||||
#: src/core/screen.c:665
|
||||
#, c-format
|
||||
#| msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgid "Screen %d on display “%s” is invalid\n"
|
||||
msgstr "“%2$s“ bistaratzeko %1$d pantaila ez da baliozkoa\n"
|
||||
|
||||
@ -657,9 +666,6 @@ msgid "Mode Switch: Mode %d"
|
||||
msgstr "Modu aldaketa: %d modua"
|
||||
|
||||
#: src/x11/session.c:1815
|
||||
#| msgid ""
|
||||
#| "These windows do not support "save current setup" and will have "
|
||||
#| "to be restarted manually next time you log in."
|
||||
msgid ""
|
||||
"These windows do not support “save current setup” and will have to be "
|
||||
"restarted manually next time you log in."
|
||||
|
455
po/fi.po
455
po/fi.po
@ -12,10 +12,10 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"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"
|
||||
"POT-Creation-Date: 2015-03-13 11:15+0000\n"
|
||||
"PO-Revision-Date: 2015-03-13 17:52+0200\n"
|
||||
"POT-Creation-Date: 2017-08-29 16:09+0000\n"
|
||||
"PO-Revision-Date: 2017-08-30 19:16+0300\n"
|
||||
"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
|
||||
"Language-Team: suomi <gnome-fi-laatu@lists.sourceforge.net>\n"
|
||||
"Language: fi\n"
|
||||
@ -24,282 +24,288 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\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"
|
||||
msgstr "Navigointi"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:2
|
||||
#: data/50-mutter-navigation.xml:9
|
||||
msgid "Move window to workspace 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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
msgstr "Vaihda sovelluksia"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:16
|
||||
#: data/50-mutter-navigation.xml:54
|
||||
msgid "Switch to previous application"
|
||||
msgstr "Vaihda edelliseen sovellukseen"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:17
|
||||
#: data/50-mutter-navigation.xml:58
|
||||
msgid "Switch windows"
|
||||
msgstr "Vaihda ikkunoita"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:18
|
||||
#: data/50-mutter-navigation.xml:63
|
||||
msgid "Switch to previous window"
|
||||
msgstr "Vaihda edelliseen ikkunaan"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:19
|
||||
#: data/50-mutter-navigation.xml:67
|
||||
msgid "Switch windows of an application"
|
||||
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"
|
||||
msgstr "Vaihda sovelluksen edelliseen ikkunaan"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:21
|
||||
#: data/50-mutter-navigation.xml:76
|
||||
#, fuzzy
|
||||
msgid "Switch system controls"
|
||||
msgstr "Vaihda järjestelmän kontrolleja"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:22
|
||||
#: data/50-mutter-navigation.xml:81
|
||||
#, fuzzy
|
||||
msgid "Switch to previous system control"
|
||||
msgstr "Vaihda järjestelmän kontrolleja"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:23
|
||||
#: data/50-mutter-navigation.xml:85
|
||||
msgid "Switch windows directly"
|
||||
msgstr "Vaihda ikkunoita suoraan"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:24
|
||||
#: data/50-mutter-navigation.xml:90
|
||||
msgid "Switch directly to previous window"
|
||||
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"
|
||||
msgstr "Vaihda sovelluksen ikkunoiden välillä suoraan"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:26
|
||||
#: data/50-mutter-navigation.xml:99
|
||||
#, fuzzy
|
||||
#| msgid "Switch windows of an application"
|
||||
msgid "Switch directly to previous window of an app"
|
||||
msgstr "Vaihda sovelluksen ikkunoiden välillä"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:27
|
||||
#: data/50-mutter-navigation.xml:103
|
||||
#, fuzzy
|
||||
msgid "Switch system controls directly"
|
||||
msgstr "Vaihda järjestelmän kontrolleja suoraan"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:28
|
||||
#: data/50-mutter-navigation.xml:108
|
||||
#, fuzzy
|
||||
msgid "Switch directly to previous system control"
|
||||
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"
|
||||
msgstr "Piilota kaikki tavalliset ikkunat"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:30
|
||||
#: data/50-mutter-navigation.xml:114
|
||||
msgid "Switch to workspace 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"
|
||||
msgstr "Siirry työtilaan 2"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:32
|
||||
#: data/50-mutter-navigation.xml:120
|
||||
msgid "Switch to workspace 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"
|
||||
msgstr "Siirry työtilaan 4"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:34
|
||||
#: data/50-mutter-navigation.xml:126
|
||||
msgid "Switch to last workspace"
|
||||
msgstr "Siirry viimeiseen työtilaan"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:35
|
||||
#: data/50-mutter-navigation.xml:129
|
||||
msgid "Move to workspace left"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
msgstr "Siirrä alla olevaan työtilaan"
|
||||
|
||||
#: ../data/50-mutter-system.xml.in.h:1
|
||||
#: data/50-mutter-system.xml:6
|
||||
msgid "System"
|
||||
msgstr "Järjestelmä"
|
||||
|
||||
#: ../data/50-mutter-system.xml.in.h:2
|
||||
#: data/50-mutter-system.xml:8
|
||||
msgid "Show the run command prompt"
|
||||
msgstr "Näytä komennonsuorituskehote"
|
||||
|
||||
#: ../data/50-mutter-system.xml.in.h:3
|
||||
#: data/50-mutter-system.xml:10
|
||||
msgid "Show the activities overview"
|
||||
msgstr "Näytä toimintojen yleisnäkymä"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:1
|
||||
#: data/50-mutter-windows.xml:6
|
||||
msgid "Windows"
|
||||
msgstr "Ikkunat"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:2
|
||||
#: data/50-mutter-windows.xml:8
|
||||
msgid "Activate the window menu"
|
||||
msgstr "Aktivoi ikkunavalikko"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:3
|
||||
#: data/50-mutter-windows.xml:10
|
||||
msgid "Toggle fullscreen mode"
|
||||
msgstr "Vaihda koko näytön tilaan tai pois"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:4
|
||||
#: data/50-mutter-windows.xml:12
|
||||
#, fuzzy
|
||||
msgid "Toggle maximization state"
|
||||
msgstr "Vaihda suurennustilaa"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:5
|
||||
#: data/50-mutter-windows.xml:14
|
||||
msgid "Maximize window"
|
||||
msgstr "Suurenna ikkuna"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:6
|
||||
#: data/50-mutter-windows.xml:16
|
||||
msgid "Restore window"
|
||||
msgstr "Palauta ikkunan koko"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:7
|
||||
#: data/50-mutter-windows.xml:18
|
||||
#, fuzzy
|
||||
msgid "Toggle shaded state"
|
||||
msgstr "Vaihda rullaustilaa"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:8
|
||||
#: data/50-mutter-windows.xml:20
|
||||
msgid "Close window"
|
||||
msgstr "Sulje ikkuna"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:9
|
||||
#: data/50-mutter-windows.xml:22
|
||||
msgid "Hide window"
|
||||
msgstr "Piilota ikkuna"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:10
|
||||
#: data/50-mutter-windows.xml:24
|
||||
msgid "Move window"
|
||||
msgstr "Siirrä ikkunaa"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:11
|
||||
#: data/50-mutter-windows.xml:26
|
||||
msgid "Resize window"
|
||||
msgstr "Muuta ikkunan kokoa"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:12
|
||||
#: data/50-mutter-windows.xml:29
|
||||
#, fuzzy
|
||||
msgid "Toggle window on all workspaces or one"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
msgstr "Laske ikkuna muiden alle"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:16
|
||||
#: data/50-mutter-windows.xml:37
|
||||
msgid "Maximize window vertically"
|
||||
msgstr "Suurenna ikkuna pystysuunnassa"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:17
|
||||
#: data/50-mutter-windows.xml:39
|
||||
msgid "Maximize window horizontally"
|
||||
msgstr "Suurenna ikkuna vaakasuunnassa"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:18
|
||||
#: data/50-mutter-windows.xml:43
|
||||
msgid "View split on left"
|
||||
msgstr ""
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:19
|
||||
#: data/50-mutter-windows.xml:47
|
||||
msgid "View split on right"
|
||||
msgstr ""
|
||||
|
||||
#: ../data/mutter.desktop.in.h:1
|
||||
#: data/mutter.desktop.in:4
|
||||
msgid "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"
|
||||
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 ""
|
||||
"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."
|
||||
"This key will initiate the “overlay”, which is a combination window overview "
|
||||
"and application launching system. The default is intended to be the “Windows "
|
||||
"key” on PC hardware. It’s expected that this binding either the default or "
|
||||
"set to the empty string."
|
||||
msgstr ""
|
||||
"Tämä avain asettaa ”overlay”-tilan (peite), joka on yhdistelmä "
|
||||
"ikkunoidenhallintaa ja sovellusten käynnistämisjärjestelmää. Oletuksena "
|
||||
"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ä."
|
||||
|
||||
#: ../data/org.gnome.mutter.gschema.xml.in.h:3
|
||||
#: data/org.gnome.mutter.gschema.xml.in:20
|
||||
msgid "Attach modal dialogs"
|
||||
msgstr "Liitä modaalisia valintaikkunoita"
|
||||
|
||||
#: ../data/org.gnome.mutter.gschema.xml.in.h:4
|
||||
#: 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 "
|
||||
@ -309,33 +315,33 @@ msgstr ""
|
||||
"liitetään pääikkunan otsikkopalkkiin ja niitä siirretään yhdessä pääikkunan "
|
||||
"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"
|
||||
msgstr ""
|
||||
|
||||
#: ../data/org.gnome.mutter.gschema.xml.in.h:6
|
||||
#: 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.h:7
|
||||
#: data/org.gnome.mutter.gschema.xml.in:40
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "Työtilat hallitaan dynaamisesti"
|
||||
|
||||
#: ../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 "
|
||||
"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.h:9
|
||||
#: data/org.gnome.mutter.gschema.xml.in:50
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Työtilat vain ensisijaisella"
|
||||
|
||||
#: ../data/org.gnome.mutter.gschema.xml.in.h:10
|
||||
#: 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."
|
||||
@ -343,222 +349,289 @@ msgstr ""
|
||||
"Määrittää tapahtuuko työtilan vaihto ikkunoille kaikilla näytöillä vaiko "
|
||||
"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"
|
||||
msgstr ""
|
||||
|
||||
#: ../data/org.gnome.mutter.gschema.xml.in.h:12
|
||||
#: 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.h:13
|
||||
#: data/org.gnome.mutter.gschema.xml.in:68
|
||||
msgid "Delay focus changes until the pointer stops moving"
|
||||
msgstr ""
|
||||
"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 ""
|
||||
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
|
||||
"the focus will not be changed immediately when entering a window, but only "
|
||||
"after the pointer stops moving."
|
||||
"If set to true, and the focus mode is either “sloppy” or “mouse” then the "
|
||||
"focus will not be changed immediately when entering a window, but only after "
|
||||
"the pointer stops moving."
|
||||
msgstr ""
|
||||
|
||||
#: ../data/org.gnome.mutter.gschema.xml.in.h:15
|
||||
#: data/org.gnome.mutter.gschema.xml.in:79
|
||||
msgid "Draggable border width"
|
||||
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 ""
|
||||
"The amount of total draggable borders. If the theme's visible borders are "
|
||||
"The amount of total draggable borders. If the theme’s visible borders are "
|
||||
"not enough, invisible borders will be added to meet this value."
|
||||
msgstr ""
|
||||
"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."
|
||||
|
||||
#: ../data/org.gnome.mutter.gschema.xml.in.h:17
|
||||
#: data/org.gnome.mutter.gschema.xml.in:89
|
||||
msgid "Auto maximize nearly monitor sized windows"
|
||||
msgstr ""
|
||||
|
||||
#: ../data/org.gnome.mutter.gschema.xml.in.h:18
|
||||
#: 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.h:19
|
||||
#: data/org.gnome.mutter.gschema.xml.in:98
|
||||
msgid "Place new windows in the center"
|
||||
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 ""
|
||||
"When true, the new windows will always be put in the center of the active "
|
||||
"screen of the monitor."
|
||||
msgstr ""
|
||||
|
||||
#: ../data/org.gnome.mutter.gschema.xml.in.h:21
|
||||
#: 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. Don’t 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
|
||||
msgid "Select window from tab popup"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
msgstr "Siirry virtuaalikonsoliin 7"
|
||||
|
||||
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:8
|
||||
#| msgid "Switch to VT 1"
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:34
|
||||
msgid "Switch to VT 8"
|
||||
msgstr "Siirry virtuaalikonsoliin 8"
|
||||
|
||||
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:9
|
||||
#| msgid "Switch to VT 1"
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:38
|
||||
msgid "Switch to VT 9"
|
||||
msgstr "Siirry virtuaalikonsoliin 9"
|
||||
|
||||
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:10
|
||||
#| msgid "Switch to VT 1"
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:42
|
||||
msgid "Switch to VT 10"
|
||||
msgstr "Siirry virtuaalikonsoliin 10"
|
||||
|
||||
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:11
|
||||
#| msgid "Switch to VT 1"
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:46
|
||||
msgid "Switch to VT 11"
|
||||
msgstr "Siirry virtuaalikonsoliin 11"
|
||||
|
||||
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:12
|
||||
#| msgid "Switch to VT 1"
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:50
|
||||
msgid "Switch to VT 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"
|
||||
msgstr "Sisäänrakennettu näyttö"
|
||||
|
||||
#: ../src/backends/meta-monitor-manager.c:391
|
||||
#: src/backends/meta-monitor-manager.c:926
|
||||
msgid "Unknown"
|
||||
msgstr "Tuntematon"
|
||||
|
||||
#: ../src/backends/meta-monitor-manager.c:393
|
||||
#: src/backends/meta-monitor-manager.c:928
|
||||
msgid "Unknown Display"
|
||||
msgstr "Tuntematon näyttö"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: ../src/backends/meta-monitor-manager.c:401
|
||||
#: src/backends/meta-monitor-manager.c:936
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
|
||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||
#. * we have no way to get it to exit
|
||||
#: ../src/compositor/compositor.c:456
|
||||
#, c-format
|
||||
#: src/compositor/compositor.c:476
|
||||
#, fuzzy, c-format
|
||||
#| msgid ""
|
||||
#| "Another compositing manager is already running on screen %i on display "
|
||||
#| "\"%s\"."
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
"Another compositing manager is already running on screen %i on display “%s”."
|
||||
msgstr ""
|
||||
"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"
|
||||
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
|
||||
msgid "“%s” is not responding."
|
||||
msgstr "\"%s\" ei vastaa."
|
||||
|
||||
#: ../src/core/delete.c:129
|
||||
#: src/core/meta-close-dialog-default.c:149
|
||||
msgid "Application is not responding."
|
||||
msgstr "Sovellus ei vastaa."
|
||||
|
||||
#: ../src/core/delete.c:134
|
||||
#: 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 ""
|
||||
"Voit odottaa sovellusta vielä hetken tai sulkea sovelluksen väkisin heti."
|
||||
|
||||
#: ../src/core/delete.c:141
|
||||
msgid "_Wait"
|
||||
msgstr "_Odota"
|
||||
|
||||
#: ../src/core/delete.c:141
|
||||
#: src/core/meta-close-dialog-default.c:161
|
||||
msgid "_Force Quit"
|
||||
msgstr "Sulje _väkisin"
|
||||
|
||||
#: ../src/core/display.c:562
|
||||
#, 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/meta-close-dialog-default.c:161
|
||||
msgid "_Wait"
|
||||
msgstr "_Odota"
|
||||
|
||||
#: ../src/core/main.c:176
|
||||
msgid "Disable connection to session manager"
|
||||
msgstr "Estä yhteys sessionhallintaan"
|
||||
|
||||
#: ../src/core/main.c:182
|
||||
msgid "Replace the running window manager"
|
||||
msgstr "Vaihda käytössä oleva ikkunanhallinta"
|
||||
|
||||
#: ../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
|
||||
#: src/core/mutter.c:39
|
||||
#, fuzzy, c-format
|
||||
#| msgid ""
|
||||
#| "mutter %s\n"
|
||||
#| "Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
|
||||
#| "This is free software; see the source for copying conditions.\n"
|
||||
#| "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
|
||||
#| "PARTICULAR PURPOSE.\n"
|
||||
msgid ""
|
||||
"mutter %s\n"
|
||||
"Copyright (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"
|
||||
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
|
||||
"PARTICULAR PURPOSE.\n"
|
||||
@ -569,49 +642,59 @@ msgstr ""
|
||||
"Ei MINKÄÄNLAISTA takuuta: ei edes takuuta MYYNTIKELPOISUUDESTA tai\n"
|
||||
"SOPIVUUDESTA JOHONKIN KÄYTTÖÖN.\n"
|
||||
|
||||
#: ../src/core/mutter.c:53
|
||||
#: src/core/mutter.c:53
|
||||
msgid "Print version"
|
||||
msgstr "Näytä versio"
|
||||
|
||||
#: ../src/core/mutter.c:59
|
||||
#: src/core/mutter.c:59
|
||||
msgid "Mutter plugin to use"
|
||||
msgstr "Käytettävä Mutter-liitännäinen"
|
||||
|
||||
#: ../src/core/prefs.c:2004
|
||||
#: src/core/prefs.c:1997
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Työtila %d"
|
||||
|
||||
#: ../src/core/screen.c:525
|
||||
#, c-format
|
||||
#: src/core/screen.c:580
|
||||
#, fuzzy, c-format
|
||||
#| msgid ""
|
||||
#| "Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
#| "replace option to replace the current window manager.\n"
|
||||
#| "Display \"%s\" already has a window manager; try using the --replace "
|
||||
#| "option to replace the current window manager."
|
||||
msgid ""
|
||||
"Display \"%s\" already has a window manager; try using the --replace option "
|
||||
"to replace the current window manager."
|
||||
"Display “%s” already has a window manager; try using the --replace option to "
|
||||
"replace the current window manager."
|
||||
msgstr ""
|
||||
"Näytöllä ”%s” on jo ikkunointiohjelma: kokeile valitsinta --replace, jos "
|
||||
"haluat korvata nykyisen ikkunointiohjelman."
|
||||
|
||||
#: ../src/core/screen.c:607
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
#: src/core/screen.c:665
|
||||
#, fuzzy, c-format
|
||||
#| 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"
|
||||
|
||||
#: ../src/core/util.c:118
|
||||
#: src/core/util.c:120
|
||||
msgid "Mutter was compiled without support for verbose mode\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 "save current setup" and will have "
|
||||
#| "to be restarted manually next time you log in."
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
"These windows do not support “save current setup” and will have to be "
|
||||
"restarted manually next time you log in."
|
||||
msgstr ""
|
||||
"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."
|
||||
|
||||
#: ../src/x11/window-props.c:549
|
||||
#: src/x11/window-props.c:559
|
||||
#, c-format
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s @ %s"
|
||||
|
235
po/fr.po
235
po/fr.po
@ -13,20 +13,24 @@
|
||||
# Stéphane Raimbault <stephane.raimbault@gmail.com>, 2007.
|
||||
# Claude Paroz <claude@2xlibre.net>, 2008-2017.
|
||||
# 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 ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: mutter master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-08-13 15:47+0000\n"
|
||||
"PO-Revision-Date: 2017-08-15 09:16+0200\n"
|
||||
"Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
|
||||
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
|
||||
"POT-Creation-Date: 2017-11-10 18:18+0000\n"
|
||||
"PO-Revision-Date: 2017-11-10 23:07+0100\n"
|
||||
"Last-Translator: Charles Monzat <superboa@hotmail.fr>\n"
|
||||
"Language-Team: français <gnomefr@traduc.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Gtranslator 2.91.7\n"
|
||||
|
||||
#: data/50-mutter-navigation.xml:6
|
||||
msgid "Navigation"
|
||||
@ -34,19 +38,19 @@ msgstr "Navigation"
|
||||
|
||||
#: data/50-mutter-navigation.xml:9
|
||||
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 l’espace de travail 1"
|
||||
|
||||
#: data/50-mutter-navigation.xml:12
|
||||
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 l’espace de travail 2"
|
||||
|
||||
#: data/50-mutter-navigation.xml:15
|
||||
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 l’espace de travail 3"
|
||||
|
||||
#: data/50-mutter-navigation.xml:18
|
||||
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 l’espace de travail 4"
|
||||
|
||||
#: data/50-mutter-navigation.xml:21
|
||||
msgid "Move window to last workspace"
|
||||
@ -54,43 +58,43 @@ msgstr "Déplacer la fenêtre vers le dernier espace de travail"
|
||||
|
||||
#: data/50-mutter-navigation.xml:24
|
||||
msgid "Move window one workspace to the left"
|
||||
msgstr "Déplacer la fenêtre d'un espace de travail vers la gauche"
|
||||
msgstr "Déplacer la fenêtre d’un espace de travail vers la gauche"
|
||||
|
||||
#: data/50-mutter-navigation.xml:27
|
||||
msgid "Move window one workspace to the right"
|
||||
msgstr "Déplacer la fenêtre d'un espace de travail vers la droite"
|
||||
msgstr "Déplacer la fenêtre d’un espace de travail vers la droite"
|
||||
|
||||
#: data/50-mutter-navigation.xml:30
|
||||
msgid "Move window one workspace up"
|
||||
msgstr "Déplacer la fenêtre d'un espace de travail vers le haut"
|
||||
msgstr "Déplacer la fenêtre d’un espace de travail vers le haut"
|
||||
|
||||
#: data/50-mutter-navigation.xml:33
|
||||
msgid "Move window one workspace down"
|
||||
msgstr "Déplacer la fenêtre d'un espace de travail vers le bas"
|
||||
msgstr "Déplacer la fenêtre d’un espace de travail vers le bas"
|
||||
|
||||
#: data/50-mutter-navigation.xml:36
|
||||
msgid "Move window one monitor to the left"
|
||||
msgstr "Déplacer la fenêtre d'un écran vers la gauche"
|
||||
msgstr "Déplacer la fenêtre d’un écran vers la gauche"
|
||||
|
||||
#: 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"
|
||||
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"
|
||||
msgstr "Déplacer la fenêtre d’un écran vers le haut"
|
||||
|
||||
#: data/50-mutter-navigation.xml:45
|
||||
msgid "Move window one monitor down"
|
||||
msgstr "Déplacer la fenêtre d'un écran vers le bas"
|
||||
msgstr "Déplacer la fenêtre d’un écran vers le bas"
|
||||
|
||||
#: data/50-mutter-navigation.xml:49
|
||||
msgid "Switch applications"
|
||||
msgstr "Changer d'application"
|
||||
msgstr "Changer d’application"
|
||||
|
||||
#: data/50-mutter-navigation.xml:54
|
||||
msgid "Switch to previous application"
|
||||
msgstr "Passer à l'application précédente"
|
||||
msgstr "Passer à l’application précédente"
|
||||
|
||||
#: data/50-mutter-navigation.xml:58
|
||||
msgid "Switch windows"
|
||||
@ -102,11 +106,11 @@ msgstr "Passer à la fenêtre précédente"
|
||||
|
||||
#: data/50-mutter-navigation.xml:67
|
||||
msgid "Switch windows of an application"
|
||||
msgstr "Changer de fenêtre d'une application"
|
||||
msgstr "Changer de fenêtre d’une application"
|
||||
|
||||
#: data/50-mutter-navigation.xml:72
|
||||
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 d’une application"
|
||||
|
||||
#: data/50-mutter-navigation.xml:76
|
||||
msgid "Switch system controls"
|
||||
@ -126,11 +130,11 @@ msgstr "Passer directement à la fenêtre précédente"
|
||||
|
||||
#: data/50-mutter-navigation.xml:94
|
||||
msgid "Switch windows of an app directly"
|
||||
msgstr "Changer de fenêtre d'une application directement"
|
||||
msgstr "Changer de fenêtre d’une application directement"
|
||||
|
||||
#: data/50-mutter-navigation.xml:99
|
||||
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 d’une application"
|
||||
|
||||
#: data/50-mutter-navigation.xml:103
|
||||
msgid "Switch system controls directly"
|
||||
@ -146,19 +150,19 @@ msgstr "Masquer toutes les fenêtres normales"
|
||||
|
||||
#: data/50-mutter-navigation.xml:114
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "Passer à l'espace de travail 1"
|
||||
msgstr "Passer à l’espace de travail 1"
|
||||
|
||||
#: data/50-mutter-navigation.xml:117
|
||||
msgid "Switch to workspace 2"
|
||||
msgstr "Passer à l'espace de travail 2"
|
||||
msgstr "Passer à l’espace de travail 2"
|
||||
|
||||
#: data/50-mutter-navigation.xml:120
|
||||
msgid "Switch to workspace 3"
|
||||
msgstr "Passer à l'espace de travail 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"
|
||||
msgstr "Passer à l’espace de travail 4"
|
||||
|
||||
#: data/50-mutter-navigation.xml:126
|
||||
msgid "Switch to last workspace"
|
||||
@ -166,21 +170,21 @@ msgstr "Passer au dernier espace de travail"
|
||||
|
||||
#: data/50-mutter-navigation.xml:129
|
||||
msgid "Move to workspace left"
|
||||
msgstr "Déplacer vers l'espace de travail de gauche"
|
||||
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"
|
||||
msgstr "Déplacer vers l’espace de travail de droite"
|
||||
|
||||
#: data/50-mutter-navigation.xml:135
|
||||
msgid "Move to workspace above"
|
||||
msgstr "Déplacer vers l'espace de travail du dessus"
|
||||
msgstr "Déplacer vers l’espace de travail du dessus"
|
||||
|
||||
#: data/50-mutter-navigation.xml:138
|
||||
msgid "Move to workspace below"
|
||||
msgstr "Déplacer vers l'espace de travail du dessous"
|
||||
msgstr "Déplacer vers l’espace de travail du dessous"
|
||||
|
||||
#: data/50-mutter-system.xml:6
|
||||
#: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
|
||||
msgid "System"
|
||||
msgstr "Système"
|
||||
|
||||
@ -190,7 +194,11 @@ msgstr "Afficher la fenêtre pour lancer une commande"
|
||||
|
||||
#: data/50-mutter-system.xml:10
|
||||
msgid "Show the activities overview"
|
||||
msgstr "Afficher l'aperçu des activités"
|
||||
msgstr "Afficher l’aperç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
|
||||
msgid "Windows"
|
||||
@ -206,7 +214,7 @@ msgstr "Basculer le mode plein écran"
|
||||
|
||||
#: data/50-mutter-windows.xml:12
|
||||
msgid "Toggle maximization state"
|
||||
msgstr "Basculer l'état d'agrandissement"
|
||||
msgstr "Basculer l’état d’agrandissement"
|
||||
|
||||
#: data/50-mutter-windows.xml:14
|
||||
msgid "Maximize window"
|
||||
@ -218,7 +226,7 @@ msgstr "Restaurer la fenêtre"
|
||||
|
||||
#: data/50-mutter-windows.xml:18
|
||||
msgid "Toggle shaded state"
|
||||
msgstr "Basculer l'état de repli"
|
||||
msgstr "Basculer l’état de repli"
|
||||
|
||||
#: data/50-mutter-windows.xml:20
|
||||
msgid "Close window"
|
||||
@ -243,7 +251,7 @@ msgstr "Placer la fenêtre sur tous les espaces de travail, ou sur un seul"
|
||||
#: data/50-mutter-windows.xml:31
|
||||
msgid "Raise window if covered, otherwise lower it"
|
||||
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 à l’arrière-plan"
|
||||
|
||||
#: data/50-mutter-windows.xml:33
|
||||
msgid "Raise window above other windows"
|
||||
@ -284,8 +292,8 @@ msgid ""
|
||||
"key” on PC hardware. It’s expected that this binding either the default or "
|
||||
"set to the empty string."
|
||||
msgstr ""
|
||||
"Cette touche initie l'« overlay », une combinaison d'aperçu des fenêtres et "
|
||||
"d'un système de lancement d'applications. La touche par défaut sur le "
|
||||
"Cette touche initie l’« overlay », une combinaison d’aperçu des fenêtres et "
|
||||
"d’un système de lancement d’applications. La touche par défaut sur le "
|
||||
"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."
|
||||
|
||||
@ -299,13 +307,13 @@ msgid ""
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
"the parent window."
|
||||
msgstr ""
|
||||
"Si vrai, au lieu d'avoir des barres de titre indépendantes, les boîtes de "
|
||||
"Si vrai, au lieu d’avoir des barres de titre indépendantes, les boîtes de "
|
||||
"dialogue apparaissent attachées à la barre de titre de la fenêtre parente et "
|
||||
"sont déplacées ensembles avec elle."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:30
|
||||
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 l’empilage des fenêtres déposées sur les bords de l’écran"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:31
|
||||
msgid ""
|
||||
@ -313,10 +321,10 @@ msgid ""
|
||||
"vertically and resizes them horizontally to cover half of the available "
|
||||
"area. Dropping windows on the top screen edge maximizes them completely."
|
||||
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 "
|
||||
"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
|
||||
msgid "Workspaces are managed dynamically"
|
||||
@ -329,20 +337,20 @@ msgid ""
|
||||
"gnome.desktop.wm.preferences)."
|
||||
msgstr ""
|
||||
"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 d’espaces de travail est fixe (déterminé par la clé num-workspaces "
|
||||
"dans org.gnome.desktop.wm.preferences)."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:50
|
||||
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
|
||||
msgid ""
|
||||
"Determines whether workspace switching should happen for windows on all "
|
||||
"monitors or only for windows on the primary monitor."
|
||||
msgstr ""
|
||||
"Détermine si le changement d'espace de travail doit se produire pour les "
|
||||
"fenêtres de tous les écrans ou seulement pour les fenêtres de l'écran "
|
||||
"Détermine si le changement d’espace de travail doit se produire pour les "
|
||||
"fenêtres de tous les écrans ou seulement pour les fenêtres de l’écran "
|
||||
"principal."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:59
|
||||
@ -354,12 +362,12 @@ msgid ""
|
||||
"Determines whether the use of popup and highlight frame should be disabled "
|
||||
"for window cycling."
|
||||
msgstr ""
|
||||
"Détermine si l'utilisation de fenêtres surgissantes et de mise en valeur "
|
||||
"Détermine si l’utilisation de fenêtres surgissantes et de mise en valeur "
|
||||
"doit être désactivée pour la consultation des fenêtres."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:68
|
||||
msgid "Delay focus changes until the pointer stops moving"
|
||||
msgstr "Attend l'arrêt du pointeur avant le changement de focus"
|
||||
msgstr "Attend l’arrêt du pointeur avant le changement de focus"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:69
|
||||
msgid ""
|
||||
@ -369,7 +377,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"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, "
|
||||
"mais seulement après que le pointeur s'arrête."
|
||||
"mais seulement après que le pointeur s’arrête."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:79
|
||||
msgid "Draggable border width"
|
||||
@ -380,7 +388,7 @@ 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 ""
|
||||
"La taille totale des bordures que l'on peut déplacer. Si les bordures "
|
||||
"La taille totale des bordures que l’on peut déplacer. Si les bordures "
|
||||
"visibles du thème ne sont pas suffisantes, des bordures invisibles sont "
|
||||
"ajoutées pour arriver à cette valeur."
|
||||
|
||||
@ -388,15 +396,15 @@ msgstr ""
|
||||
msgid "Auto maximize nearly monitor sized windows"
|
||||
msgstr ""
|
||||
"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
|
||||
msgid ""
|
||||
"If enabled, new windows that are initially the size of the monitor "
|
||||
"automatically get maximized."
|
||||
msgstr ""
|
||||
"Si activé, les nouvelles fenêtres qui ont presque la taille de l'écran à "
|
||||
"l'ouverture seront maximisées automatiquement."
|
||||
"Si activé, les nouvelles fenêtres qui ont presque la taille de l’écran à "
|
||||
"l’ouverture seront maximisées automatiquement."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:98
|
||||
msgid "Place new windows in the center"
|
||||
@ -408,7 +416,7 @@ msgid ""
|
||||
"screen of the monitor."
|
||||
msgstr ""
|
||||
"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
|
||||
msgid "Enable experimental features"
|
||||
@ -420,96 +428,93 @@ msgid ""
|
||||
"Whether the feature requires restarting the compositor depends on the given "
|
||||
"feature. Any experimental feature is not required to still be available, or "
|
||||
"configurable. Don’t 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."
|
||||
"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 ""
|
||||
"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 "
|
||||
"de redémarrer le compositeur. Chaque fonctionnalité expérimentale peut "
|
||||
"disparaître ou ne plus être configurable. N'attendez pas à ce que le contenu de "
|
||||
"ce réglage soit stable dans le temps. Les mots-clés actuellement possibles "
|
||||
"sont : • « monitor-config-manager » — utiliser le nouveau système de "
|
||||
"configuration de moniteur qui remplacera l'ancien à terme. Cela active une "
|
||||
"API de configuration de plus haut niveau exploitable par les applications de "
|
||||
"configuration. Il permet aussi de configurer par échelle de moniteur logique. "
|
||||
"• « scale-monitor-framebuffer » — demande à mutter d'utiliser par défaut une "
|
||||
"disposition par moniteur logique dans un espace de coordonnées de pixels logique, "
|
||||
"tout en mettant à l'échelle les « framebuffers » de moniteur au lieu des contenus "
|
||||
"de fenêtre pour pouvoir gérer les moniteurs à haute densité. Cela ne nécessite "
|
||||
"pas de redémarrage. L'activation de « monitor-config-manager » est requis pour "
|
||||
"que cette fonctionnalité soit activée."
|
||||
"fonctionnalité dans la liste. Selon la fonctionnalité, il peut être "
|
||||
"nécessaire de redémarrer le compositeur. Chaque fonctionnalité expérimentale "
|
||||
"peut disparaître ou ne plus être configurable. Ne vous attendez pas à ce que "
|
||||
"le contenu de ce réglage soit stable dans le temps. Les mots-clés "
|
||||
"actuellement possibles sont : • « scale-monitor-framebuffer » — demande à "
|
||||
"mutter d’utiliser par défaut une disposition par moniteur logique dans un "
|
||||
"espace de coordonnées de pixels logique, tout en mettant à l’échelle les "
|
||||
"« framebuffers » de moniteur au lieu des contenus de fenêtre pour pouvoir "
|
||||
"gérer les moniteurs à haute densité. Cela ne nécessite pas de redémarrage. • "
|
||||
"« remote-desktop » — active la prise en charge du bureau à distance. Pour la "
|
||||
"prise en charge du bureau distant avec partage de l’écran, « screen-cast » "
|
||||
"doit aussi être activé. • « screen-cast » — active la diffusion de l’écran. "
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:151
|
||||
#: data/org.gnome.mutter.gschema.xml.in:145
|
||||
msgid "Select window from tab popup"
|
||||
msgstr ""
|
||||
"Sélectionner la fenêtre dans la vue qui apparaît suite à un appui sur la "
|
||||
"touche tab"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:156
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
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"
|
||||
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"
|
||||
msgstr "Passe à la prochaine configuration intégrée de moniteur"
|
||||
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:6
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
msgid "Re-enable shortcuts"
|
||||
@ -518,7 +523,7 @@ msgstr "Réactiver les raccourcis"
|
||||
#. TRANSLATORS: This string refers to a button that switches between
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2118
|
||||
#: src/backends/meta-input-settings.c:2167
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "Changement de mode (groupe %d)"
|
||||
@ -526,30 +531,30 @@ msgstr "Changement de mode (groupe %d)"
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2141
|
||||
#: src/backends/meta-input-settings.c:2190
|
||||
msgid "Switch monitor"
|
||||
msgstr "Changer de moniteur"
|
||||
|
||||
#: src/backends/meta-input-settings.c:2143
|
||||
#: src/backends/meta-input-settings.c:2192
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Afficher l'aide à l'écran"
|
||||
msgstr "Afficher l’aide à l’écran"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:927
|
||||
#: src/backends/meta-monitor-manager.c:908
|
||||
msgid "Built-in display"
|
||||
msgstr "Affichage intégré"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:950
|
||||
#: src/backends/meta-monitor-manager.c:931
|
||||
msgid "Unknown"
|
||||
msgstr "Inconnu"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:952
|
||||
#: src/backends/meta-monitor-manager.c:933
|
||||
msgid "Unknown Display"
|
||||
msgstr "Affichage inconnu"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:960
|
||||
#: src/backends/meta-monitor-manager.c:941
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
@ -561,8 +566,8 @@ msgstr "%s %s"
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display “%s”."
|
||||
msgstr ""
|
||||
"Un autre gestionnaire de composition est déjà lancé sur l'écran %i de "
|
||||
"l'affichage « %s »."
|
||||
"Un autre gestionnaire de composition est déjà lancé sur l’écran %i de "
|
||||
"l’affichage « %s »."
|
||||
|
||||
#: src/core/bell.c:194
|
||||
msgid "Bell event"
|
||||
@ -571,7 +576,7 @@ msgstr "Évènement sonore"
|
||||
#: src/core/display.c:608
|
||||
#, c-format
|
||||
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 d’ouvrir l’affichage « %s » du système X Window\n"
|
||||
|
||||
#: src/core/main.c:189
|
||||
msgid "Disable connection to session manager"
|
||||
@ -583,7 +588,7 @@ msgstr "Remplacer le gestionnaire de fenêtres en cours de fonctionnement"
|
||||
|
||||
#: src/core/main.c:201
|
||||
msgid "Specify session management ID"
|
||||
msgstr "Indiquer l'ID de gestion de sessions"
|
||||
msgstr "Indiquer l’ID de gestion de sessions"
|
||||
|
||||
#: src/core/main.c:206
|
||||
msgid "X Display to use"
|
||||
@ -607,7 +612,7 @@ msgstr "Lancer comme un compositeur imbriqué"
|
||||
|
||||
#: src/core/main.c:239
|
||||
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 d’affichage complet, plutôt qu’imbriqué"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: src/core/meta-close-dialog-default.c:147
|
||||
@ -617,14 +622,14 @@ msgstr "« %s » ne répond pas."
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:149
|
||||
msgid "Application is not responding."
|
||||
msgstr "L'application ne répond pas."
|
||||
msgstr "L’application ne répond pas."
|
||||
|
||||
#: 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 ""
|
||||
"Vous pouvez patienter un instant pour continuer ou forcer l'application à "
|
||||
"Vous pouvez patienter un instant pour continuer ou forcer l’application à "
|
||||
"quitter définitivement."
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:161
|
||||
@ -648,8 +653,8 @@ msgstr ""
|
||||
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., et autres.\n"
|
||||
"Ceci est un logiciel libre ; consultez le code source pour les\n"
|
||||
"conditions de copie.\n"
|
||||
"Il n'y a AUCUNE garantie ; même pas de VALEUR MARCHANDE ou\n"
|
||||
"d'ADÉQUATION À UN USAGE PARTICULIER.\n"
|
||||
"Il n’y a AUCUNE garantie ; même pas de VALEUR MARCHANDE ou\n"
|
||||
"d’ADÉQUATION À UN USAGE PARTICULIER.\n"
|
||||
|
||||
#: src/core/mutter.c:53
|
||||
msgid "Print version"
|
||||
@ -664,19 +669,19 @@ msgstr "Greffon de Mutter à utiliser"
|
||||
msgid "Workspace %d"
|
||||
msgstr "Espace de travail %d"
|
||||
|
||||
#: src/core/screen.c:580
|
||||
#: src/core/screen.c:583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Display “%s” already has a window manager; try using the --replace option to "
|
||||
"replace the current window manager."
|
||||
msgstr ""
|
||||
"L'affichage « %s » a déjà un gestionnaire de fenêtres ; essayez d'utiliser "
|
||||
"l'option --replace pour remplacer le gestionnaire de fenêtres actuel."
|
||||
"L’affichage « %s » a déjà un gestionnaire de fenêtres ; essayez d’utiliser "
|
||||
"l’option --replace pour remplacer le gestionnaire de fenêtres actuel."
|
||||
|
||||
#: src/core/screen.c:665
|
||||
#: src/core/screen.c:668
|
||||
#, c-format
|
||||
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 l’affichage « %s » n’est pas valide\n"
|
||||
|
||||
#: src/core/util.c:120
|
||||
msgid "Mutter was compiled without support for verbose mode\n"
|
||||
@ -692,7 +697,7 @@ msgid ""
|
||||
"These windows do not support “save current setup” and will have to be "
|
||||
"restarted manually next time you log in."
|
||||
msgstr ""
|
||||
"Ces fenêtres ne prennent pas en charge « l'enregistrement de la "
|
||||
"Ces fenêtres ne prennent pas en charge « l’enregistrement de la "
|
||||
"configuration actuelle » et devront être redémarrées manuellement à la "
|
||||
"prochaine connexion."
|
||||
|
||||
|
43
po/gl.po
43
po/gl.po
@ -15,8 +15,8 @@ msgstr ""
|
||||
"Project-Id-Version: gl\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=mutter"
|
||||
"&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-08-21 04:46+0000\n"
|
||||
"PO-Revision-Date: 2017-08-23 12:21+0200\n"
|
||||
"POT-Creation-Date: 2017-08-29 16:09+0000\n"
|
||||
"PO-Revision-Date: 2017-08-30 22:29+0200\n"
|
||||
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
|
||||
"Language-Team: Galician\n"
|
||||
"Language: gl\n"
|
||||
@ -416,15 +416,11 @@ msgstr "Activar as características experimentais"
|
||||
#| "Whether the feature requires restarting the compositor depends on the "
|
||||
#| "given feature. Any experimental feature is not required to still be "
|
||||
#| "available, or configurable. Don’t 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."
|
||||
#| "to be future proof. Currently possible keywords: • “scale-monitor-"
|
||||
#| "framebuffer” — makes mutter default to layout logical monitors in a "
|
||||
#| "logical pixel coordinate space, while scaling monitor framebuffers "
|
||||
#| "instead of window content, to manage HiDPI monitors. Does not require a "
|
||||
#| "restart."
|
||||
msgid ""
|
||||
"To enable experimental features, add the feature keyword to the list. "
|
||||
"Whether the feature requires restarting the compositor depends on the given "
|
||||
@ -433,31 +429,38 @@ msgid ""
|
||||
"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."
|
||||
"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 ""
|
||||
"Para activar as características experimentais, engada a palabra chave da "
|
||||
"característica á lista. Depende da característica que se deba reiniciar ou "
|
||||
"non o compositor. Calquera característica experimental pode non estar "
|
||||
"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 "
|
||||
"son: “scale-monitor-framebuffer” — convirte a mutter na maneira "
|
||||
"predeterminada de dispor monitores lóxicos nun espacio lóxico de coordenadas "
|
||||
"de íxeles, a escalar framebuffers de monitores framebuffers no lugar do "
|
||||
"contido de xnalea, para administrar monitores HiDPI. Non require un reinicio."
|
||||
"son: «scale-monitor-framebuffer» — fai que mutter de maneira predeterminada "
|
||||
"dispoña os monitores lóxicos nun espacio lóxico de coordenadas de píxeles, "
|
||||
"mentres escala framebuffers de monitores no lugar do contido de xanela, para "
|
||||
"administrar monitores HiDPI. Non require un reinicio. «remote-desktop» — "
|
||||
"permite a compatibilidade con compartición de pantalla. Para admitir o "
|
||||
"escritorio remoto con compartición de pantalla tamén debe activar «screen-"
|
||||
"cast». • «screen-cast» — permite a compatibilidade coa retransmisión de "
|
||||
"pantalla."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:141
|
||||
#: data/org.gnome.mutter.gschema.xml.in:145
|
||||
msgid "Select window from tab popup"
|
||||
msgstr "Seleccionar xanela da lapela emerxente"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:146
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
msgstr "Cancelar lapela emerxente"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:151
|
||||
#: data/org.gnome.mutter.gschema.xml.in:155
|
||||
msgid "Switch monitor configurations"
|
||||
msgstr "Cambiar preferencias do monitor"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:156
|
||||
#: data/org.gnome.mutter.gschema.xml.in:160
|
||||
msgid "Rotates the built-in monitor configuration"
|
||||
msgstr "Rota a configuración do monitor embebido"
|
||||
|
||||
|
133
po/he.po
133
po/he.po
@ -11,8 +11,8 @@ msgstr ""
|
||||
"Project-Id-Version: metacity.HEAD.he\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-03-30 18:41+0300\n"
|
||||
"PO-Revision-Date: 2017-03-30 18:46+0300\n"
|
||||
"POT-Creation-Date: 2017-11-26 17:12+0200\n"
|
||||
"PO-Revision-Date: 2017-11-26 17:14+0200\n"
|
||||
"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n"
|
||||
"Language-Team: עברית <>\n"
|
||||
"Language: he\n"
|
||||
@ -174,7 +174,7 @@ msgstr "העברה למרחב העבודה שמלמעלה"
|
||||
msgid "Move to workspace below"
|
||||
msgstr "העברה למרחב העבודה שמלמטה"
|
||||
|
||||
#: data/50-mutter-system.xml:6
|
||||
#: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
|
||||
msgid "System"
|
||||
msgstr "מערכת"
|
||||
|
||||
@ -186,6 +186,10 @@ msgstr "הצגת החלונית להרצת פקודה"
|
||||
msgid "Show the activities overview"
|
||||
msgstr "הצגת סקירת הפעילויות"
|
||||
|
||||
#: data/50-mutter-wayland.xml:8
|
||||
msgid "Restore the keyboard shortcuts"
|
||||
msgstr "שחזור צירופי מקשים"
|
||||
|
||||
#: data/50-mutter-windows.xml:6
|
||||
msgid "Windows"
|
||||
msgstr "חלונות"
|
||||
@ -271,7 +275,6 @@ msgid "Modifier to use for extended window management operations"
|
||||
msgstr "Modifier to use for extended window management operations"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:8
|
||||
#,
|
||||
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 "
|
||||
@ -316,7 +319,6 @@ msgid "Workspaces are managed dynamically"
|
||||
msgstr "Workspaces are managed dynamically"
|
||||
|
||||
#: 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."
|
||||
@ -355,7 +357,6 @@ msgid "Delay focus changes until the pointer stops moving"
|
||||
msgstr "Delay focus changes until the pointer stops moving"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:69
|
||||
#,
|
||||
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 "
|
||||
@ -401,14 +402,52 @@ msgstr ""
|
||||
"When true, the new windows will always be put in the center of the active "
|
||||
"screen of the monitor."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:120
|
||||
#: data/org.gnome.mutter.gschema.xml.in: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. Don’t 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. Don’t 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"
|
||||
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"
|
||||
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
|
||||
msgid "Switch to VT 1"
|
||||
msgstr "מעבר ל־VT 1"
|
||||
@ -457,10 +496,14 @@ msgstr "מעבר ל־VT 11"
|
||||
msgid "Switch to 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
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1848
|
||||
#: src/backends/meta-input-settings.c:2260
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "מצב העברה (קבוצה %d)"
|
||||
@ -468,37 +511,37 @@ msgstr "מצב העברה (קבוצה %d)"
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1870
|
||||
#: src/backends/meta-input-settings.c:2283
|
||||
msgid "Switch monitor"
|
||||
msgstr "החלפה בין צגים"
|
||||
|
||||
#: src/backends/meta-input-settings.c:1872
|
||||
#: src/backends/meta-input-settings.c:2285
|
||||
msgid "Show on-screen help"
|
||||
msgstr "הצגת עזרה על המסך"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:630
|
||||
#: src/backends/meta-monitor-manager.c:900
|
||||
msgid "Built-in display"
|
||||
msgstr "תצוגה מובנית"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:653
|
||||
#: src/backends/meta-monitor-manager.c:923
|
||||
msgid "Unknown"
|
||||
msgstr "לא ידוע"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:655
|
||||
#: src/backends/meta-monitor-manager.c:925
|
||||
msgid "Unknown Display"
|
||||
msgstr "תצוגה לא ידועה"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:663
|
||||
#: src/backends/meta-monitor-manager.c:933
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
|
||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||
#. * we have no way to get it to exit
|
||||
#: src/compositor/compositor.c:474
|
||||
#: src/compositor/compositor.c:479
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display “%s”."
|
||||
@ -508,31 +551,6 @@ msgstr "מנהל תצוגת חלונות אחר כבר פועל במסך %i בת
|
||||
msgid "Bell event"
|
||||
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
|
||||
#, c-format
|
||||
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"
|
||||
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
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -601,7 +644,7 @@ msgstr "תוסף ה־mutter לשימוש"
|
||||
msgid "Workspace %d"
|
||||
msgstr "מרחב עבודה %d"
|
||||
|
||||
#: src/core/screen.c:580
|
||||
#: src/core/screen.c:583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"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 "
|
||||
"replace the current window manager."
|
||||
|
||||
#: src/core/screen.c:665
|
||||
#: src/core/screen.c:668
|
||||
#, c-format
|
||||
msgid "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 "
|
||||
"restarted manually next time you log in."
|
||||
msgstr ""
|
||||
"חלונות אלו אינם תומכים ב„שמירת ההגדרות הנוכחיות”, ויהיה צורך "
|
||||
"באתחול ידני בכניסה הבאה שלך."
|
||||
"חלונות אלו אינם תומכים ב„שמירת ההגדרות הנוכחיות”, ויהיה צורך באתחול ידני "
|
||||
"בכניסה הבאה שלך."
|
||||
|
||||
#: src/x11/window-props.c:559
|
||||
#, c-format
|
||||
|
34
po/hr.po
34
po/hr.po
@ -6,8 +6,8 @@ msgstr ""
|
||||
"Project-Id-Version: metacity 0\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-08-21 04:46+0000\n"
|
||||
"PO-Revision-Date: 2017-08-23 17:40+0200\n"
|
||||
"POT-Creation-Date: 2017-08-29 16:09+0000\n"
|
||||
"PO-Revision-Date: 2017-09-22 20:51+0200\n"
|
||||
"Last-Translator: gogo <trebelnik2@gmail.com>\n"
|
||||
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
|
||||
"Language: hr\n"
|
||||
@ -193,15 +193,15 @@ msgstr "Aktiviraj izbornik prozora"
|
||||
|
||||
#: data/50-mutter-windows.xml:10
|
||||
msgid "Toggle fullscreen mode"
|
||||
msgstr "Postavi preko cijelog zaslona"
|
||||
msgstr "Uklj/Isklj cjelozaslonski prikaz"
|
||||
|
||||
#: data/50-mutter-windows.xml:12
|
||||
msgid "Toggle maximization state"
|
||||
msgstr "Promijeni stanje maksimizacije"
|
||||
msgstr "Uklj/Isklj uvećanje prozora"
|
||||
|
||||
#: data/50-mutter-windows.xml:14
|
||||
msgid "Maximize window"
|
||||
msgstr "Maksimiziraj prozor"
|
||||
msgstr "Uvećaj prozor"
|
||||
|
||||
#: data/50-mutter-windows.xml:16
|
||||
msgid "Restore window"
|
||||
@ -209,7 +209,7 @@ msgstr "Vrati prozor"
|
||||
|
||||
#: data/50-mutter-windows.xml:18
|
||||
msgid "Toggle shaded state"
|
||||
msgstr "Promijeni stanje zasjenjenosti"
|
||||
msgstr "Uklj/Isklj stanje zasjenjenosti"
|
||||
|
||||
#: data/50-mutter-windows.xml:20
|
||||
msgid "Close window"
|
||||
@ -233,7 +233,7 @@ msgstr "Uklj/Isklj prozor na svim radnim prostorima"
|
||||
|
||||
#: data/50-mutter-windows.xml:31
|
||||
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
|
||||
msgid "Raise window above other windows"
|
||||
@ -241,7 +241,7 @@ msgstr "Podigni prozor iznad ostalih prozora"
|
||||
|
||||
#: data/50-mutter-windows.xml:35
|
||||
msgid "Lower window below other windows"
|
||||
msgstr "Spustiti prozor ispod ostalih prozora"
|
||||
msgstr "Spusti prozor ispod ostalih prozora"
|
||||
|
||||
#: data/50-mutter-windows.xml:37
|
||||
msgid "Maximize window vertically"
|
||||
@ -407,7 +407,10 @@ msgid ""
|
||||
"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."
|
||||
"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 ""
|
||||
"Za omogućavanje eksperimentalnih značajki, dodajte ključnu riječ značajke na "
|
||||
"popis. Zahtijeva li značajka ponovno pokretanje kompozitora ovisi o zadanoj "
|
||||
@ -417,21 +420,24 @@ msgstr ""
|
||||
"monitor-framebuffer” — čini mutter zadanim izlazu logičkih zaslona u "
|
||||
"logičnom koordinatnom prostoru piksela, dok međuspremnik okvira mijenja "
|
||||
"veličinu zaslona umjesto sadržaja prozora, upravlja kako bi upravljao "
|
||||
"(HiDPI) zaslonima visoke razlučivosti. Ne zahtijeva ponovno pokretanje."
|
||||
"(HiDPI) zaslonima visoke razlučivosti. Ne zahtijeva ponovno pokretanje. • "
|
||||
"“remote-desktop” — omogućava podršku za udaljene radne površine. Za podršku "
|
||||
"udaljene radne površine s dijeljenjem zaslona, “screen-cast” mora isto biti "
|
||||
"omogućen. • “screen-cast” — omogućuje podršku emitiranja zaslona."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:141
|
||||
#: data/org.gnome.mutter.gschema.xml.in:145
|
||||
msgid "Select window from tab popup"
|
||||
msgstr "Odaberi prozor iz skočnog prozora"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:146
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
msgstr "Prekini skočni prozor"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:151
|
||||
#: data/org.gnome.mutter.gschema.xml.in:155
|
||||
msgid "Switch monitor configurations"
|
||||
msgstr "Prebacivanje podešavanja zaslona"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:156
|
||||
#: data/org.gnome.mutter.gschema.xml.in:160
|
||||
msgid "Rotates the built-in monitor configuration"
|
||||
msgstr "Rotiraj ugrađeno podešavanje zaslona"
|
||||
|
||||
|
85
po/hu.po
85
po/hu.po
@ -12,15 +12,15 @@ msgstr ""
|
||||
"Project-Id-Version: mutter master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-08-02 10:05+0000\n"
|
||||
"PO-Revision-Date: 2017-08-09 08:51+0200\n"
|
||||
"Last-Translator: Meskó Balázs <meskobalazs@fedoraproject.org>\n"
|
||||
"POT-Creation-Date: 2017-08-29 16:09+0000\n"
|
||||
"PO-Revision-Date: 2017-09-05 17:35+0200\n"
|
||||
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
|
||||
"Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n"
|
||||
"Language: hu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\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"
|
||||
|
||||
#: data/50-mutter-navigation.xml:6
|
||||
@ -404,48 +404,60 @@ msgid "Enable experimental features"
|
||||
msgstr "Kísérleti funkciók engedélyezése"
|
||||
|
||||
#: 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. Don’t expect adding anything in this setting "
|
||||
#| "to be future proof. Currently possible keywords: • “monitor-config-"
|
||||
#| "manager” — use the new monitor configuration system, aimed to replace the "
|
||||
#| "old one. This enables a higher level configuration API to be used by "
|
||||
#| "configuration applications, as well as the ability to configure per "
|
||||
#| "logical monitor scale. • “scale-monitor-framebuffer” — makes mutter "
|
||||
#| "default to layout logical monitors in a logical pixel coordinate space, "
|
||||
#| "while scaling monitor framebuffers instead of window content, to manage "
|
||||
#| "HiDPI monitors. Does not require a restart. Also enabling “monitor-config-"
|
||||
#| "manager” is required for this feature to be enabled."
|
||||
msgid ""
|
||||
"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. Don’t 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."
|
||||
"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 ""
|
||||
"A kísérleti funkciók engedélyezéséhez adja hozzá a funkció kulcsszavát a "
|
||||
"listához. A funkció a betűszedő újraindítását igényelheti az adott "
|
||||
"funkciótól 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 "
|
||||
"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 "
|
||||
"konfigurációs rendszer használata, amely a régi leváltására készül. Ez egy "
|
||||
"magasabb szintű konfigurációs API-t biztosít a beállító alkalmazásoknak, "
|
||||
"valamint lehetővé teszi a logikai monitorok különálló méretezését. • „scale-"
|
||||
"monitor-framebuffer” — alapértelmezetté teszi a mutter programot a logikai "
|
||||
"monitorok elrendezéséhez egy logikai képpontkoordináta-térben, miközben "
|
||||
"átméretezi a monitor keretpufferét az ablaktartalom helyett azért, hogy "
|
||||
"kezelje a HiDPI monitorokat. Nem igényel újraindítást. Ezen funkció "
|
||||
"bekapcsolásához a „monitor-config-manager” engedélyezése is szükséges."
|
||||
"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 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 lehetséges "
|
||||
"kulcsszavak: • „scale-monitor-framebuffer” — alapértelmezetté teszi a mutter "
|
||||
"programot a logikai monitorok elrendezéséhez egy logikai "
|
||||
"képpontkoordináta-térben, miközben átméretezi a monitor keretpufferét az "
|
||||
"ablaktartalom helyett azért, hogy kezelje a HiDPI monitorokat. Nem igényel "
|
||||
"újraindítást. • „remote-desktop” — engedélyezi a távoli asztal támogatást. A "
|
||||
"távoli asztal képernyőmegosztással való támogatásához a „screen-cast” "
|
||||
"funkciónak is engedélyezve kell lennie. • „screen-cast” — engedélyezi a "
|
||||
"képernyőrögzítés támogatását."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:151
|
||||
#: data/org.gnome.mutter.gschema.xml.in:145
|
||||
msgid "Select window from tab popup"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
msgstr "Cserélgeti a beépített monitorkonfigurációkat"
|
||||
|
||||
@ -504,7 +516,7 @@ msgstr "Gyorsbillentyűk újraengedélyezése"
|
||||
#. TRANSLATORS: This string refers to a button that switches between
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2118
|
||||
#: src/backends/meta-input-settings.c:2151
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "Módkapcsoló (%d. csoport)"
|
||||
@ -512,30 +524,30 @@ msgstr "Módkapcsoló (%d. csoport)"
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2141
|
||||
#: src/backends/meta-input-settings.c:2174
|
||||
msgid "Switch monitor"
|
||||
msgstr "Monitorváltás"
|
||||
|
||||
#: src/backends/meta-input-settings.c:2143
|
||||
#: src/backends/meta-input-settings.c:2176
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Képernyősúgó megjelenítése"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:927
|
||||
#: src/backends/meta-monitor-manager.c:903
|
||||
msgid "Built-in display"
|
||||
msgstr "Beépített kijelző"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:950
|
||||
#: src/backends/meta-monitor-manager.c:926
|
||||
msgid "Unknown"
|
||||
msgstr "Ismeretlen"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:952
|
||||
#: src/backends/meta-monitor-manager.c:928
|
||||
msgid "Unknown Display"
|
||||
msgstr "Ismeretlen kijelző"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:960
|
||||
#: src/backends/meta-monitor-manager.c:936
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
@ -685,3 +697,4 @@ msgstr ""
|
||||
#, c-format
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (ezen: %s)"
|
||||
|
||||
|
48
po/id.po
48
po/id.po
@ -11,15 +11,15 @@ msgstr ""
|
||||
"Project-Id-Version: mutter master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-08-21 04:46+0000\n"
|
||||
"PO-Revision-Date: 2017-08-21 13:42+0700\n"
|
||||
"POT-Creation-Date: 2017-11-10 18:16+0000\n"
|
||||
"PO-Revision-Date: 2017-11-16 11:36+0700\n"
|
||||
"Last-Translator: Kukuh Syafaat <syafaatkukuh@gmail.com>\n"
|
||||
"Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n"
|
||||
"Language: id\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 2.0.3\n"
|
||||
"X-Generator: Poedit 2.0.4\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: data/50-mutter-navigation.xml:6
|
||||
@ -174,7 +174,7 @@ msgstr "Pindahkan ke ruang kerja di atas"
|
||||
msgid "Move to workspace below"
|
||||
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"
|
||||
msgstr "Sistem"
|
||||
|
||||
@ -186,6 +186,10 @@ msgstr "Tampilkan sapaan jalankan perintah"
|
||||
msgid "Show the activities overview"
|
||||
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
|
||||
msgid "Windows"
|
||||
msgstr "Jendela"
|
||||
@ -411,7 +415,10 @@ msgid ""
|
||||
"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."
|
||||
"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 ""
|
||||
"Untuk mengaktifkan fitur eksperimental, tambahkan kata kunci fitur ke dalam "
|
||||
"daftar. Apakah fitur memerlukan nyala ulang kompositor tergantung pada fitur "
|
||||
@ -421,21 +428,24 @@ msgstr ""
|
||||
"mungkin: • “scale-monitor-framebuffer” — membuat bawaan mutter untuk tata "
|
||||
"letak monitor logikal dalam ruang koordinat pixel logikal, sambil "
|
||||
"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"
|
||||
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"
|
||||
msgstr "Batalkan popup tab"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:151
|
||||
#: data/org.gnome.mutter.gschema.xml.in:155
|
||||
msgid "Switch monitor configurations"
|
||||
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"
|
||||
msgstr "Memutar konfigurasi monitor bawaan"
|
||||
|
||||
@ -494,7 +504,7 @@ msgstr "Aktifkan kembali pintasan"
|
||||
#. TRANSLATORS: This string refers to a button that switches between
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2151
|
||||
#: src/backends/meta-input-settings.c:2167
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "Tukar Mode: (Grup %d)"
|
||||
@ -502,30 +512,30 @@ msgstr "Tukar Mode: (Grup %d)"
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2174
|
||||
#: src/backends/meta-input-settings.c:2190
|
||||
msgid "Switch monitor"
|
||||
msgstr "Berpindah monitor"
|
||||
|
||||
#: src/backends/meta-input-settings.c:2176
|
||||
#: src/backends/meta-input-settings.c:2192
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Tampilkan bantuan pada layar"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:903
|
||||
#: src/backends/meta-monitor-manager.c:900
|
||||
msgid "Built-in display"
|
||||
msgstr "Tampilan bawaan"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:926
|
||||
#: src/backends/meta-monitor-manager.c:923
|
||||
msgid "Unknown"
|
||||
msgstr "Tak Dikenal"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:928
|
||||
#: src/backends/meta-monitor-manager.c:925
|
||||
msgid "Unknown Display"
|
||||
msgstr "Tampilan Tak Dikenal"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:936
|
||||
#: src/backends/meta-monitor-manager.c:933
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
@ -638,7 +648,7 @@ msgstr "Pengaya Mutter yang dipakai"
|
||||
msgid "Workspace %d"
|
||||
msgstr "Area kerja %d"
|
||||
|
||||
#: src/core/screen.c:580
|
||||
#: src/core/screen.c:583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Display “%s” already has a window manager; try using the --replace option to "
|
||||
@ -647,7 +657,7 @@ msgstr ""
|
||||
"Tampilan \"%s\" sudah memiliki manajer jendela; cobalah gunakan pilihan --"
|
||||
"replace untuk mengganti manajer jendela saat ini."
|
||||
|
||||
#: src/core/screen.c:665
|
||||
#: src/core/screen.c:668
|
||||
#, c-format
|
||||
msgid "Screen %d on display “%s” is invalid\n"
|
||||
msgstr "Layar %d pada tampilan \"%s\" tidak valid\n"
|
||||
|
48
po/it.po
48
po/it.po
@ -12,8 +12,8 @@ msgstr ""
|
||||
"Project-Id-Version: mutter\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-08-21 04:46+0000\n"
|
||||
"PO-Revision-Date: 2017-08-24 09:45+0200\n"
|
||||
"POT-Creation-Date: 2017-11-10 18:18+0000\n"
|
||||
"PO-Revision-Date: 2017-11-17 14:30+0100\n"
|
||||
"Last-Translator: Milo Casagrande <milo@milo.name>\n"
|
||||
"Language-Team: Italian <tp@lists.linux.it>\n"
|
||||
"Language: it\n"
|
||||
@ -21,7 +21,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
|
||||
"X-Generator: Poedit 1.8.12\n"
|
||||
"X-Generator: Poedit 2.0.4\n"
|
||||
|
||||
#: data/50-mutter-navigation.xml:6
|
||||
msgid "Navigation"
|
||||
@ -175,7 +175,7 @@ msgstr "Sposta su spazio di lavoro in alto"
|
||||
msgid "Move to workspace below"
|
||||
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"
|
||||
msgstr "Sistema"
|
||||
|
||||
@ -187,6 +187,10 @@ msgstr "Mostra il prompt esegui comando"
|
||||
msgid "Show the activities overview"
|
||||
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
|
||||
msgid "Windows"
|
||||
msgstr "Finestre"
|
||||
@ -423,7 +427,10 @@ msgid ""
|
||||
"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."
|
||||
"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 "
|
||||
@ -434,21 +441,24 @@ msgstr ""
|
||||
"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)."
|
||||
"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:141
|
||||
#: data/org.gnome.mutter.gschema.xml.in:145
|
||||
msgid "Select window from tab popup"
|
||||
msgstr "Seleziona finestra dal tab popup"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:146
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
msgstr "Annulla tab popup"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:151
|
||||
#: 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:156
|
||||
#: 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"
|
||||
|
||||
@ -507,7 +517,7 @@ msgstr "Riabilita scorciatoie"
|
||||
#. TRANSLATORS: This string refers to a button that switches between
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2151
|
||||
#: src/backends/meta-input-settings.c:2167
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "Cambio modalità (gruppo %d)"
|
||||
@ -515,30 +525,30 @@ msgstr "Cambio modalità (gruppo %d)"
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2174
|
||||
#: src/backends/meta-input-settings.c:2190
|
||||
msgid "Switch monitor"
|
||||
msgstr "Cambia monitor"
|
||||
|
||||
#: src/backends/meta-input-settings.c:2176
|
||||
#: src/backends/meta-input-settings.c:2192
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Mostra aiuto sullo schermo"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:903
|
||||
#: src/backends/meta-monitor-manager.c:908
|
||||
msgid "Built-in display"
|
||||
msgstr "Display integrato"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:926
|
||||
#: src/backends/meta-monitor-manager.c:931
|
||||
msgid "Unknown"
|
||||
msgstr "Sconosciuto"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:928
|
||||
#: src/backends/meta-monitor-manager.c:933
|
||||
msgid "Unknown Display"
|
||||
msgstr "Display sconosciuto"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:936
|
||||
#: src/backends/meta-monitor-manager.c:941
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
@ -652,7 +662,7 @@ msgstr "Plugin Mutter da usare"
|
||||
msgid "Workspace %d"
|
||||
msgstr "Spazio di lavoro %d"
|
||||
|
||||
#: src/core/screen.c:580
|
||||
#: src/core/screen.c:583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Display “%s” already has a window manager; try using the --replace option to "
|
||||
@ -661,7 +671,7 @@ msgstr ""
|
||||
"Il display «%s» ha già un window manager; provare a utilizzare l'opzione --"
|
||||
"replace per sostituirlo."
|
||||
|
||||
#: src/core/screen.c:665
|
||||
#: src/core/screen.c:668
|
||||
#, c-format
|
||||
msgid "Screen %d on display “%s” is invalid\n"
|
||||
msgstr "Lo schermo %d sul display «%s» non è valido\n"
|
||||
|
112
po/ko.po
112
po/ko.po
@ -18,8 +18,8 @@ msgstr ""
|
||||
"Project-Id-Version: mutter\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-02-28 06:20+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:25+0900\n"
|
||||
"POT-Creation-Date: 2017-08-29 16:09+0000\n"
|
||||
"PO-Revision-Date: 2017-09-02 12:57+0900\n"
|
||||
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
|
||||
"Language-Team: GNOME Korea <gnome-kr@googlegroups.com>\n"
|
||||
"Language: ko\n"
|
||||
@ -397,14 +397,50 @@ msgid ""
|
||||
"screen of the monitor."
|
||||
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. Don’t 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"
|
||||
msgstr "탭 팝업에서 창 선택"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:125
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
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
|
||||
msgid "Switch to VT 1"
|
||||
msgstr "가상 터미널 1로 이동"
|
||||
@ -453,10 +489,14 @@ msgstr "가상 터미널 11로 이동"
|
||||
msgid "Switch to VT 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
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1800
|
||||
#: src/backends/meta-input-settings.c:2151
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "모드 전환 (그룹 %d)"
|
||||
@ -464,37 +504,37 @@ msgstr "모드 전환 (그룹 %d)"
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1822
|
||||
#: src/backends/meta-input-settings.c:2174
|
||||
msgid "Switch monitor"
|
||||
msgstr "모니터 전환"
|
||||
|
||||
#: src/backends/meta-input-settings.c:1824
|
||||
#: src/backends/meta-input-settings.c:2176
|
||||
msgid "Show on-screen help"
|
||||
msgstr "화면 도움말 표시"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:675
|
||||
#: src/backends/meta-monitor-manager.c:903
|
||||
msgid "Built-in display"
|
||||
msgstr "내장 디스플레이"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:698
|
||||
#: src/backends/meta-monitor-manager.c:926
|
||||
msgid "Unknown"
|
||||
msgstr "알 수 없음"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:700
|
||||
#: src/backends/meta-monitor-manager.c:928
|
||||
msgid "Unknown Display"
|
||||
msgstr "알 수 없는 디스플레이"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:708
|
||||
#: src/backends/meta-monitor-manager.c:936
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
|
||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||
#. * we have no way to get it to exit
|
||||
#: src/compositor/compositor.c:471
|
||||
#: src/compositor/compositor.c:476
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display “%s”."
|
||||
@ -506,30 +546,6 @@ msgstr ""
|
||||
msgid "Bell event"
|
||||
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
|
||||
#, c-format
|
||||
msgid "Failed to open X Window System display “%s”\n"
|
||||
@ -571,6 +587,30 @@ msgstr "내장 컴포지터로 실행합니다"
|
||||
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
|
||||
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
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
36
po/lt.po
36
po/lt.po
@ -13,8 +13,8 @@ msgstr ""
|
||||
"Project-Id-Version: lt\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-08-21 04:46+0000\n"
|
||||
"PO-Revision-Date: 2017-08-22 23:17+0300\n"
|
||||
"POT-Creation-Date: 2017-08-29 06:41+0000\n"
|
||||
"PO-Revision-Date: 2017-08-29 15:57+0300\n"
|
||||
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
|
||||
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
|
||||
"Language: lt\n"
|
||||
@ -411,15 +411,11 @@ msgstr "Įjungti eksperimentines savybes"
|
||||
#| "Whether the feature requires restarting the compositor depends on the "
|
||||
#| "given feature. Any experimental feature is not required to still be "
|
||||
#| "available, or configurable. Don’t 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."
|
||||
#| "to be future proof. Currently possible keywords: • “scale-monitor-"
|
||||
#| "framebuffer” — makes mutter default to layout logical monitors in a "
|
||||
#| "logical pixel coordinate space, while scaling monitor framebuffers "
|
||||
#| "instead of window content, to manage HiDPI monitors. Does not require a "
|
||||
#| "restart."
|
||||
msgid ""
|
||||
"To enable experimental features, add the feature keyword to the list. "
|
||||
"Whether the feature requires restarting the compositor depends on the given "
|
||||
@ -428,7 +424,10 @@ msgid ""
|
||||
"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."
|
||||
"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 ""
|
||||
"Norėdami įjungti eksperimentines savybes, pridėkite į sąrašą raktinį žodį. "
|
||||
"Ar savybė reikalauja kompozitoriaus paleidimo iš naujo priklauso nuo "
|
||||
@ -438,21 +437,24 @@ msgstr ""
|
||||
"framebuffer“ — mutter numatytai išdėsto loginius monitorius loginėje "
|
||||
"pikselių koordinačių erdvėje, tuo pat ištempiant monitorių kadrų buferius "
|
||||
"vietoje langų turinio, tokiu būdu valdant didelio tankio monitorius. "
|
||||
"Nereikalauja paleisti iš naujo."
|
||||
"Nereikalauja paleisti iš naujo. • „remote-desktop“ – įjungia nutolusio "
|
||||
"darbalaukio palaikymą. Norint nutolusio darbalaukio su dalinimusi ekranu, "
|
||||
"taip pat reikia įjungti „screen-cast“. • „screen-cast“ – įjungia ekrano "
|
||||
"transliacijos palaikymą."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:141
|
||||
#: data/org.gnome.mutter.gschema.xml.in:145
|
||||
msgid "Select window from tab popup"
|
||||
msgstr "Pasirinkti langą iš tab iššokimo"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:146
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
msgstr "Atšaukti tab iššokimą"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:151
|
||||
#: data/org.gnome.mutter.gschema.xml.in:155
|
||||
msgid "Switch monitor configurations"
|
||||
msgstr "Perjungti monitorių konfigūracijas"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:156
|
||||
#: data/org.gnome.mutter.gschema.xml.in:160
|
||||
msgid "Rotates the built-in monitor configuration"
|
||||
msgstr "Suka integruotas monitorių konfigūracijas"
|
||||
|
||||
|
169
po/lv.po
169
po/lv.po
@ -13,8 +13,8 @@ msgstr ""
|
||||
"Project-Id-Version: lv\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=mutter"
|
||||
"&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-02-28 06:20+0000\n"
|
||||
"PO-Revision-Date: 2017-03-18 12:09+0200\n"
|
||||
"POT-Creation-Date: 2017-08-29 16:09+0000\n"
|
||||
"PO-Revision-Date: 2017-09-03 19:25+0200\n"
|
||||
"Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n"
|
||||
"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
|
||||
"Language: lv\n"
|
||||
@ -274,11 +274,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"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:8
|
||||
#| msgid ""
|
||||
#| "This key will initiate the \"overlay\", which is a combination window "
|
||||
#| "overview and application launching system. The default is intended to be "
|
||||
#| "the \"Windows key\" on PC hardware. It's expected that this binding "
|
||||
#| "either the default or set to the empty string."
|
||||
msgid ""
|
||||
"This key will initiate the “overlay”, which is a combination window overview "
|
||||
"and application launching system. The default is intended to be the “Windows "
|
||||
@ -323,10 +318,6 @@ msgid "Workspaces are managed dynamically"
|
||||
msgstr "Darbvirsmas tiek pārvaldītas dinamiski"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:41
|
||||
#| msgid ""
|
||||
#| "Determines whether workspaces are managed dynamically or whether there's "
|
||||
#| "a static number of workspaces (determined by the num-workspaces key in "
|
||||
#| "org.gnome.desktop.wm.preferences)."
|
||||
msgid ""
|
||||
"Determines whether workspaces are managed dynamically or whether there’s a "
|
||||
"static number of workspaces (determined by the num-workspaces key in org."
|
||||
@ -365,27 +356,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"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:69
|
||||
#| msgid ""
|
||||
#| "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
|
||||
#| "the focus will not be changed immediately when entering a window, but "
|
||||
#| "only after the pointer stops moving."
|
||||
msgid ""
|
||||
"If set to true, and the focus mode is either “sloppy” or “mouse” then the "
|
||||
"focus will not be changed immediately when entering a window, but only after "
|
||||
"the pointer stops moving."
|
||||
msgstr ""
|
||||
"Ja patiess un fokusēšanas režīms ir vai nu “sloppy” (paviršs) vai “mouse”"
|
||||
" (pele), tad fokuss nemainīsies uzreiz pēc ieiešanas logā, bet tikai pēc tam,"
|
||||
" kad rādītājs beidzis kustēties."
|
||||
"Ja patiess un fokusēšanas režīms ir vai nu “sloppy” (paviršs) vai "
|
||||
"“mouse” (pele), tad fokuss nemainīsies uzreiz pēc ieiešanas logā, bet tikai "
|
||||
"pēc tam, kad rādītājs beidzis kustēties."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:79
|
||||
msgid "Draggable border width"
|
||||
msgstr "Velkams malas platums"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:80
|
||||
#| msgid ""
|
||||
#| "The amount of total draggable borders. If the theme's visible borders are "
|
||||
#| "not enough, invisible borders will be added to meet this value."
|
||||
msgid ""
|
||||
"The amount of total draggable borders. If the theme’s visible borders are "
|
||||
"not enough, invisible borders will be added to meet this value."
|
||||
@ -416,14 +400,63 @@ msgid ""
|
||||
msgstr ""
|
||||
"Ja patiess, jaunie logi vienmēr tiks novietoti monitora aktīvā ekrāna vidū."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:120
|
||||
#: data/org.gnome.mutter.gschema.xml.in: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. Don’t expect adding anything in this setting "
|
||||
#| "to be future proof. Currently possible keywords: • “scale-monitor-"
|
||||
#| "framebuffer” — makes mutter default to layout logical monitors in a "
|
||||
#| "logical pixel coordinate space, while scaling monitor framebuffers "
|
||||
#| "instead of window content, to manage HiDPI monitors. Does not require a "
|
||||
#| "restart."
|
||||
msgid ""
|
||||
"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. Don’t 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"
|
||||
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"
|
||||
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
|
||||
msgid "Switch to VT 1"
|
||||
msgstr "Pārslēgties uz VT 1"
|
||||
@ -472,53 +505,53 @@ msgstr "Pārslēgties uz VT 11"
|
||||
msgid "Switch to 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"
|
||||
|
||||
#. TRANSLATORS: This string refers to a button that switches between
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1800
|
||||
#: src/backends/meta-input-settings.c:2151
|
||||
#, c-format
|
||||
#| msgid "Mode Switch: Mode %d"
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "Režīma slēdzis (grupa %d)"
|
||||
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1822
|
||||
#: src/backends/meta-input-settings.c:2174
|
||||
msgid "Switch monitor"
|
||||
msgstr "Pārslēgt monitoru"
|
||||
|
||||
#: src/backends/meta-input-settings.c:1824
|
||||
#: src/backends/meta-input-settings.c:2176
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Rādīt palīdzību uz ekrāna"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:675
|
||||
#: src/backends/meta-monitor-manager.c:903
|
||||
msgid "Built-in display"
|
||||
msgstr "Iebūvēts displejs"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:698
|
||||
#: src/backends/meta-monitor-manager.c:926
|
||||
msgid "Unknown"
|
||||
msgstr "Nezināms"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:700
|
||||
#: src/backends/meta-monitor-manager.c:928
|
||||
msgid "Unknown Display"
|
||||
msgstr "Nezināms displejs"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:708
|
||||
#: src/backends/meta-monitor-manager.c:936
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
|
||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||
#. * we have no way to get it to exit
|
||||
#: src/compositor/compositor.c:471
|
||||
#: src/compositor/compositor.c:476
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "Another compositing manager is already running on screen %i on display "
|
||||
#| "\"%s\"."
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display “%s”."
|
||||
msgstr "Cits kompozīcijas pārvaldnieks jau darbojas ekrānā %d displejā “%s”."
|
||||
@ -527,35 +560,8 @@ msgstr "Cits kompozīcijas pārvaldnieks jau darbojas ekrānā %d displejā “%
|
||||
msgid "Bell event"
|
||||
msgstr "Zvana notikums"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: src/core/delete.c:127
|
||||
#, c-format
|
||||
msgid "“%s” is not responding."
|
||||
msgstr "“%s” nereaģē."
|
||||
|
||||
#: src/core/delete.c:129
|
||||
msgid "Application is not responding."
|
||||
msgstr "Lietotne nereaģē."
|
||||
|
||||
#: 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 ""
|
||||
"Var uzgaidīt neilgu brīdi, līdz tā atgūstas, vai arī aizvērt to piespiedu "
|
||||
"kārtā."
|
||||
|
||||
#: src/core/delete.c:141
|
||||
msgid "_Force Quit"
|
||||
msgstr "Aizvērt _piespiedu kārtā"
|
||||
|
||||
#: src/core/delete.c:141
|
||||
msgid "_Wait"
|
||||
msgstr "_Gaidīt"
|
||||
|
||||
#: src/core/display.c:608
|
||||
#, 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"
|
||||
|
||||
@ -595,14 +601,34 @@ msgstr "Palaist kā ligzdotu kompozitoru"
|
||||
msgid "Run as a full display server, rather than nested"
|
||||
msgstr "Palaist kā pilnu attēlošanas serveri, nevis iegultu"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: src/core/meta-close-dialog-default.c:147
|
||||
#, c-format
|
||||
msgid "“%s” is not responding."
|
||||
msgstr "“%s” nereaģē."
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:149
|
||||
msgid "Application is not responding."
|
||||
msgstr "Lietotne nereaģē."
|
||||
|
||||
#: 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 ""
|
||||
"Var uzgaidīt neilgu brīdi, līdz tā atgūstas, vai arī aizvērt to piespiedu "
|
||||
"kārtā."
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:161
|
||||
msgid "_Force Quit"
|
||||
msgstr "Aizvērt _piespiedu kārtā"
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:161
|
||||
msgid "_Wait"
|
||||
msgstr "_Gaidīt"
|
||||
|
||||
#: src/core/mutter.c:39
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "mutter %s\n"
|
||||
#| "Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
|
||||
#| "This is free software; see the source for copying conditions.\n"
|
||||
#| "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
|
||||
#| "PARTICULAR PURPOSE.\n"
|
||||
msgid ""
|
||||
"mutter %s\n"
|
||||
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
|
||||
@ -631,9 +657,6 @@ msgstr "Darbvieta %d"
|
||||
|
||||
#: src/core/screen.c:580
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "Display \"%s\" already has a window manager; try using the --replace "
|
||||
#| "option to replace the current window manager."
|
||||
msgid ""
|
||||
"Display “%s” already has a window manager; try using the --replace option to "
|
||||
"replace the current window manager."
|
||||
@ -643,7 +666,6 @@ msgstr ""
|
||||
|
||||
#: src/core/screen.c:665
|
||||
#, c-format
|
||||
#| msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgid "Screen %d on display “%s” is invalid\n"
|
||||
msgstr "Ekrāna %d displejs “%s“ nav derīgs\n"
|
||||
|
||||
@ -657,9 +679,6 @@ msgid "Mode Switch: Mode %d"
|
||||
msgstr "Režīma slēdzis: režīms %d"
|
||||
|
||||
#: src/x11/session.c:1815
|
||||
#| msgid ""
|
||||
#| "These windows do not support "save current setup" and will have "
|
||||
#| "to be restarted manually next time you log in."
|
||||
msgid ""
|
||||
"These windows do not support “save current setup” and will have to be "
|
||||
"restarted manually next time you log in."
|
||||
|
129
po/nb.po
129
po/nb.po
@ -4,11 +4,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: mutter 3.23.x\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-02-16 21:09+0000\n"
|
||||
"PO-Revision-Date: 2017-02-19 17:44+0100\n"
|
||||
"Project-Id-Version: mutter 3.27.x\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-11-10 18:31+0000\n"
|
||||
"PO-Revision-Date: 2017-11-11 18:19+0100\n"
|
||||
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
|
||||
"Language-Team: Norwegian bokmål <i18n-no@lister.ping.uio.no>\n"
|
||||
"Language: nb\n"
|
||||
@ -168,7 +167,7 @@ msgstr "Flytt til arbeidsområdet over"
|
||||
msgid "Move to workspace below"
|
||||
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"
|
||||
msgstr "System"
|
||||
|
||||
@ -180,6 +179,10 @@ msgstr "Vis kommandolinje"
|
||||
msgid "Show the activities overview"
|
||||
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
|
||||
msgid "Windows"
|
||||
msgstr "Vinduer"
|
||||
@ -393,14 +396,41 @@ msgstr ""
|
||||
"Når denne er «true» vil mye vinduer alltid plasseres midt på aktivt område "
|
||||
"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. Don’t 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"
|
||||
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"
|
||||
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
|
||||
msgid "Switch to VT 1"
|
||||
msgstr "Bytt til VT 1"
|
||||
@ -449,10 +479,14 @@ msgstr "Bytt til VT 11"
|
||||
msgid "Switch to 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
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1800
|
||||
#: src/backends/meta-input-settings.c:2167
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "Modusbytte: (Gruppe %d)"
|
||||
@ -460,37 +494,37 @@ msgstr "Modusbytte: (Gruppe %d)"
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1822
|
||||
#: src/backends/meta-input-settings.c:2190
|
||||
msgid "Switch monitor"
|
||||
msgstr "Bytt skjerm"
|
||||
|
||||
#: src/backends/meta-input-settings.c:1824
|
||||
#: src/backends/meta-input-settings.c:2192
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Vis hjelp på skjermen"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:675
|
||||
#: src/backends/meta-monitor-manager.c:900
|
||||
msgid "Built-in display"
|
||||
msgstr "Innebygget skjerm"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:698
|
||||
#: src/backends/meta-monitor-manager.c:923
|
||||
msgid "Unknown"
|
||||
msgstr "Ukjent"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:700
|
||||
#: src/backends/meta-monitor-manager.c:925
|
||||
msgid "Unknown Display"
|
||||
msgstr "Ukjent skjerm"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:708
|
||||
#: src/backends/meta-monitor-manager.c:933
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
|
||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||
#. * we have no way to get it to exit
|
||||
#: src/compositor/compositor.c:471
|
||||
#: src/compositor/compositor.c:476
|
||||
#, c-format
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
#, c-format
|
||||
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"
|
||||
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
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -579,7 +613,8 @@ msgstr ""
|
||||
"mutter %s\n"
|
||||
"Opphavsrett © 2001-%d Havoc Pennington, Red Hat, Inc, og andre\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
|
||||
msgid "Print version"
|
||||
@ -594,7 +629,7 @@ msgstr "Mutter-tillegg som skal brukes"
|
||||
msgid "Workspace %d"
|
||||
msgstr "Arbeidsområde %d"
|
||||
|
||||
#: src/core/screen.c:580
|
||||
#: src/core/screen.c:583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"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 "
|
||||
"for å erstatte aktiv vindushåndterer."
|
||||
|
||||
#: src/core/screen.c:665
|
||||
#: src/core/screen.c:668
|
||||
#, c-format
|
||||
msgid "Screen %d on display “%s” is invalid\n"
|
||||
msgstr "Skjerm %d på display «%s» er ugyldig\n"
|
||||
@ -621,7 +656,9 @@ msgstr "Modusbytte: Modus %d"
|
||||
msgid ""
|
||||
"These windows do not support “save current setup” and will have to be "
|
||||
"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
|
||||
#, c-format
|
||||
|
529
po/pa.po
529
po/pa.po
@ -8,622 +8,709 @@
|
||||
# A S Alam <aalam@users.sf.net>, 2006.
|
||||
# A S Alam <aalam@users.sf.net>, 2007, 2009, 2010, 2011.
|
||||
# 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 ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: metacity.gnome-2-26\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-03-13 23:12+0000\n"
|
||||
"PO-Revision-Date: 2015-03-13 19:14-0500\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=mutter"
|
||||
"&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-08-29 16:09+0000\n"
|
||||
"PO-Revision-Date: 2017-09-10 18:24-0600\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"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\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"
|
||||
"\n"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:1
|
||||
#: data/50-mutter-navigation.xml:6
|
||||
msgid "Navigation"
|
||||
msgstr "ਨੇਵੀਗੇਸ਼ਨ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:2
|
||||
#: data/50-mutter-navigation.xml:9
|
||||
msgid "Move window to workspace 1"
|
||||
msgstr "ਵਿੰਡੋ ਨੂੰ ਵਰਕਸਪੇਸ ੧ ਵਿੱਚ ਲਿਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:3
|
||||
#: data/50-mutter-navigation.xml:12
|
||||
msgid "Move window to workspace 2"
|
||||
msgstr "ਵਿੰਡੋ ਨੂੰ ਵਰਕਸਪੇਸ ੨ ਵਿੱਚ ਲਿਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:4
|
||||
#: data/50-mutter-navigation.xml:15
|
||||
msgid "Move window to workspace 3"
|
||||
msgstr "ਵਿੰਡੋ ਨੂੰ ਵਰਕਸਪੇਸ ੩ ਵਿੱਚ ਲਿਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:5
|
||||
#: data/50-mutter-navigation.xml:18
|
||||
msgid "Move window to workspace 4"
|
||||
msgstr "ਵਿੰਡੋ ਨੂੰ ਵਰਕਸਪੇਸ ੪ ਵਿੱਚ ਲਿਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:6
|
||||
#: data/50-mutter-navigation.xml:21
|
||||
msgid "Move window to last workspace"
|
||||
msgstr "ਵਿੰਡੋ ਨੂੰ ਪਿਛਲੇ ਵਰਕਸਪੇਸ ਵਿੱਚ ਲਿਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:7
|
||||
#: data/50-mutter-navigation.xml:24
|
||||
msgid "Move window one workspace to the left"
|
||||
msgstr "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਵਰਕਸਪੇਸ ਖੱਬੇ ਵੱਲ ਲਿਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:8
|
||||
#: data/50-mutter-navigation.xml:27
|
||||
msgid "Move window one workspace to the right"
|
||||
msgstr "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਵਰਕਸਪੇਸ ਸੱਜੇ ਵੱਲ ਲਿਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:9
|
||||
#: data/50-mutter-navigation.xml:30
|
||||
msgid "Move window one workspace up"
|
||||
msgstr "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਵਰਕਸਪੇਸ ਉੱਤੇ ਲਿਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:10
|
||||
#: data/50-mutter-navigation.xml:33
|
||||
msgid "Move window one workspace down"
|
||||
msgstr "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਵਰਕਸਪੇਸ ਹੇਠਾਂ ਲਿਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:11
|
||||
#: data/50-mutter-navigation.xml:36
|
||||
msgid "Move window one monitor to the left"
|
||||
msgstr "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਮਾਨੀਟਰ ਖੱਬੇ ਵੱਲ ਲਿਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:12
|
||||
#: data/50-mutter-navigation.xml:39
|
||||
msgid "Move window one monitor to the right"
|
||||
msgstr "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਮਾਨੀਟਰ ਸੱਜੇ ਵੱਲ ਲਿਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:13
|
||||
#: data/50-mutter-navigation.xml:42
|
||||
msgid "Move window one monitor up"
|
||||
msgstr "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਮਾਨੀਟਰ ਉੱਤੇ ਲਿਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:14
|
||||
#: data/50-mutter-navigation.xml:45
|
||||
msgid "Move window one monitor down"
|
||||
msgstr "ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਮਾਨੀਟਰ ਹੇਠਾਂ ਲਿਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:15
|
||||
#: data/50-mutter-navigation.xml:49
|
||||
msgid "Switch applications"
|
||||
msgstr "ਐਪਲੀਕੇਸ਼ਨ ਬਦਲੋ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:16
|
||||
#: data/50-mutter-navigation.xml:54
|
||||
msgid "Switch to previous application"
|
||||
msgstr "ਪਿਛਲੀ ਐਪਲੀਕੇਸ਼ਨ ਲਈ ਬਦਲੋ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:17
|
||||
#: data/50-mutter-navigation.xml:58
|
||||
msgid "Switch windows"
|
||||
msgstr "ਵਿੰਡੋਜ਼ ਬਦਲੋ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:18
|
||||
#: data/50-mutter-navigation.xml:63
|
||||
msgid "Switch to previous window"
|
||||
msgstr "ਪਿਛਲੀ ਵਿੰਡੋ ਲਈ ਬਦਲੋ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:19
|
||||
#: data/50-mutter-navigation.xml:67
|
||||
msgid "Switch windows of an application"
|
||||
msgstr "ਐਪਲੀਕੇਸ਼ਨ ਦੀਆਂ ਵਿੰਡੋਜ਼ ਬਦਲੋ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:20
|
||||
#: data/50-mutter-navigation.xml:72
|
||||
msgid "Switch to previous window of an application"
|
||||
msgstr "ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਪਿਛਲੀ ਵਿੰਡੋ ਵਿੱਚ ਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:21
|
||||
#: data/50-mutter-navigation.xml:76
|
||||
msgid "Switch system controls"
|
||||
msgstr "ਸਿਸਟਮ ਕੰਟਰੋਲ ਬਦਲੋ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:22
|
||||
#: data/50-mutter-navigation.xml:81
|
||||
msgid "Switch to previous system control"
|
||||
msgstr "ਪਿਛਲੇ ਸਿਸਟਮ ਕੰਟਰੋਲ ਬਦਲੋ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:23
|
||||
#: data/50-mutter-navigation.xml:85
|
||||
msgid "Switch windows directly"
|
||||
msgstr "ਵਿੰਡੋਜ਼ ਸਿੱਧੀਆਂ ਬਦਲੋ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:24
|
||||
#: data/50-mutter-navigation.xml:90
|
||||
msgid "Switch directly to previous window"
|
||||
msgstr "ਸਿੱਧਾ ਪਿਛਲੀ ਵਿੰਡੋ ਲਈ ਬਦਲੋ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:25
|
||||
#: data/50-mutter-navigation.xml:94
|
||||
msgid "Switch windows of an app directly"
|
||||
msgstr "ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਵਿੰਡੋਜ਼ ਸਿੱਧੀ ਬਦਲੋ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:26
|
||||
#: data/50-mutter-navigation.xml:99
|
||||
msgid "Switch directly to previous window of an app"
|
||||
msgstr "ਸਿੱਧਾ ਐਪ ਦੀ ਪਿਛਲੀ ਵਿੰਡੋ ਲਈ ਬਦਲੋ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:27
|
||||
#: data/50-mutter-navigation.xml:103
|
||||
msgid "Switch system controls directly"
|
||||
msgstr "ਸਿਸਟਮ ਕੰਟਰੋਲ ਸਿੱਧੇ ਬਦਲੋ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:28
|
||||
#: data/50-mutter-navigation.xml:108
|
||||
msgid "Switch directly to previous system control"
|
||||
msgstr "ਸਿੱਧਾ ਪਿਛਲੇ ਸਿਸਟਮ ਕੰਟਰੋਲ ਲਈ ਬਦਲੋ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:29
|
||||
#: data/50-mutter-navigation.xml:111
|
||||
msgid "Hide all normal windows"
|
||||
msgstr "ਸਭ ਸਧਾਰਨ ਵਿੰਡੋਜ਼ ਓਹਲੇ ਕਰੋ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:30
|
||||
#: data/50-mutter-navigation.xml:114
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "ਵਰਕਸਪੇਸ ੧ ਵਿੱਚ ਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:31
|
||||
#: data/50-mutter-navigation.xml:117
|
||||
msgid "Switch to workspace 2"
|
||||
msgstr "ਵਰਕਸਪੇਸ ੨ ਵਿੱਚ ਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:32
|
||||
#: data/50-mutter-navigation.xml:120
|
||||
msgid "Switch to workspace 3"
|
||||
msgstr "ਵਰਕਸਪੇਸ ੩ ਵਿੱਚ ਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:33
|
||||
#: data/50-mutter-navigation.xml:123
|
||||
msgid "Switch to workspace 4"
|
||||
msgstr "ਵਰਕਸਪੇਸ ੪ ਵਿੱਚ ਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:34
|
||||
#: data/50-mutter-navigation.xml:126
|
||||
msgid "Switch to last workspace"
|
||||
msgstr "ਪਿਛਲੇ ਵਰਕਸਪੇਸ ਵਿੱਚ ਜਾਓ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:35
|
||||
#: data/50-mutter-navigation.xml:129
|
||||
msgid "Move to workspace left"
|
||||
msgstr "ਖੱਬੇ ਵਰਕਸਪੇਸ 'ਚ ਭੇਜੋ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:36
|
||||
#: data/50-mutter-navigation.xml:132
|
||||
msgid "Move to workspace right"
|
||||
msgstr "ਸੱਜੇ ਵਰਕਸਪੇਸ 'ਚ ਭੇਜੋ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:37
|
||||
#: data/50-mutter-navigation.xml:135
|
||||
msgid "Move to workspace above"
|
||||
msgstr "ਉੱਤੇ ਵਰਕਸਪੇਸ 'ਚ ਭੇਜੋ"
|
||||
|
||||
#: ../data/50-mutter-navigation.xml.in.h:38
|
||||
#: data/50-mutter-navigation.xml:138
|
||||
msgid "Move to workspace below"
|
||||
msgstr "ਹੇਠਾਂ ਵਰਕਸਪੇਸ 'ਚ ਭੇਜੋ"
|
||||
|
||||
#: ../data/50-mutter-system.xml.in.h:1
|
||||
#: data/50-mutter-system.xml:6
|
||||
msgid "System"
|
||||
msgstr "ਸਿਸਟਮ"
|
||||
|
||||
#: ../data/50-mutter-system.xml.in.h:2
|
||||
#: data/50-mutter-system.xml:8
|
||||
msgid "Show the run command prompt"
|
||||
msgstr "ਕਮਾਂਡ ਚਲਾਉ ਪਰੋਉਟ ਵੇਖੋ"
|
||||
|
||||
#: ../data/50-mutter-system.xml.in.h:3
|
||||
#: data/50-mutter-system.xml:10
|
||||
msgid "Show the activities overview"
|
||||
msgstr "ਸਰਗਰਮੀ ਸੰਖੇਪ ਜਾਣਕਾਰੀ ਵੇਖੋ"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:1
|
||||
#: data/50-mutter-windows.xml:6
|
||||
msgid "Windows"
|
||||
msgstr "ਵਿੰਡੋਜ਼"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:2
|
||||
#: data/50-mutter-windows.xml:8
|
||||
msgid "Activate the window menu"
|
||||
msgstr "ਐਕਟਿਵੇਟ ਵਿੰਡੋ ਮੇਨੂ"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:3
|
||||
#: data/50-mutter-windows.xml:10
|
||||
msgid "Toggle fullscreen mode"
|
||||
msgstr "ਪੂਰੀ ਸਕਰੀਨ ਮੋਡ ਬਦਲੋ"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:4
|
||||
#: data/50-mutter-windows.xml:12
|
||||
msgid "Toggle maximization state"
|
||||
msgstr "ਅਧਿਕਤਮ ਸਥਿਤੀ ਬਦਲੋ"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:5
|
||||
#: data/50-mutter-windows.xml:14
|
||||
msgid "Maximize window"
|
||||
msgstr "ਵਿੰਡੋ ਵੱਧੋ-ਵੱਧ"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:6
|
||||
#: data/50-mutter-windows.xml:16
|
||||
msgid "Restore window"
|
||||
msgstr "ਵਿੰਡੋ ਮੁੜ-ਸਟੋਰ"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:7
|
||||
#: data/50-mutter-windows.xml:18
|
||||
msgid "Toggle shaded state"
|
||||
msgstr "ਰੰਗਤ ਸਥਿਤੀ ਬਦਲੋ"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:8
|
||||
#: data/50-mutter-windows.xml:20
|
||||
msgid "Close window"
|
||||
msgstr "ਵਿੰਡੋ ਬੰਦ ਕਰੋ"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:9
|
||||
#: data/50-mutter-windows.xml:22
|
||||
msgid "Hide window"
|
||||
msgstr "ਵਿੰਡੋ ਓਹਲੇ"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:10
|
||||
#: data/50-mutter-windows.xml:24
|
||||
msgid "Move window"
|
||||
msgstr "ਵਿੰਡੋ ਹਿਲਾਓ"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:11
|
||||
#: data/50-mutter-windows.xml:26
|
||||
msgid "Resize window"
|
||||
msgstr "ਵਿੰਡੋ ਮੁੜ-ਅਕਾਰ"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:12
|
||||
#: data/50-mutter-windows.xml:29
|
||||
msgid "Toggle window on all workspaces or one"
|
||||
msgstr "ਵਿੰਡੋ ਸਭ ਵਰਕਸਪੇਸ ਜਾਂ ਇੱਕ ਵਿੱਚ ਬਦਲੋ"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:13
|
||||
#: data/50-mutter-windows.xml:31
|
||||
msgid "Raise window if covered, otherwise lower it"
|
||||
msgstr "ਵਿੰਡੋ ਉਭਾਰੋ, ਜੇ ਢੱਕੀ ਹੈ, ਨਹੀਂ ਤਾਂ ਹੇਠਾਂ ਭੇਜੋ"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:14
|
||||
#: data/50-mutter-windows.xml:33
|
||||
msgid "Raise window above other windows"
|
||||
msgstr "ਵਿੰਡੋ ਨੂੰ ਹੋਰ ਵਿੰਡੋਜ਼ ਤੋਂ ਉੱਤੇ ਲਿਆਓ"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:15
|
||||
#: data/50-mutter-windows.xml:35
|
||||
msgid "Lower window below other windows"
|
||||
msgstr "ਵਿੰਡੋ ਨੂੰ ਹੋਰ ਵਿੰਡੋ ਤੋਂ ਹੇਠਾਂ ਲੈ ਜਾਉ"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:16
|
||||
#: data/50-mutter-windows.xml:37
|
||||
msgid "Maximize window vertically"
|
||||
msgstr "ਵਿੰਡੋ ਖੜਵੇਂ ਰੂਪ ਵਿੱਚ ਵੱਧੋ-ਵੱਧ"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:17
|
||||
#: data/50-mutter-windows.xml:39
|
||||
msgid "Maximize window horizontally"
|
||||
msgstr "ਵਿੰਡੋ ਲੇਟਵੇਂ ਰੂਪ ਵਿੱਚ ਵੱਧੋ-ਵੱਧ"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:18
|
||||
#: data/50-mutter-windows.xml:43
|
||||
msgid "View split on left"
|
||||
msgstr "ਖੱਬੇ ਪਾਸੇ ਵੰਡ ਵੇਖੋ"
|
||||
|
||||
#: ../data/50-mutter-windows.xml.in.h:19
|
||||
#: data/50-mutter-windows.xml:47
|
||||
msgid "View split on right"
|
||||
msgstr "ਸੱਜੇ ਪਾਸੇ ਵੰਡ ਵੇਖੋ"
|
||||
|
||||
#: ../data/mutter.desktop.in.h:1
|
||||
#: data/mutter.desktop.in:4
|
||||
msgid "Mutter"
|
||||
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"
|
||||
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 ""
|
||||
"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."
|
||||
"This key will initiate the “overlay”, which is a combination window overview "
|
||||
"and application launching system. The default is intended to be the “Windows "
|
||||
"key” on PC hardware. It’s expected that this binding either the default or "
|
||||
"set to the empty string."
|
||||
msgstr ""
|
||||
"ਇਹ ਸਵਿੱਚ \"ਓਵਰਲੇ\" ਸ਼ੁਰੂ ਕਰਦੀ ਹੈ, ਜੋ ਕਿ ਵਿੰਡੋ ਸੰਖੇਪ ਤੇ ਐਪਲੀਕੇਸ਼ਨ ਚਲਾਉਣ ਸਿਸਟਮ "
|
||||
"ਦੀ ਜੋੜ ਹੈ। "
|
||||
"ਡਿਫਾਲਟ ਇਹ PC ਹਾਰਡਵੇਅਰ ਉੱਤੇ \"ਵਿੰਡੋਜ਼ ਸਵਿੱਚ\" ਨਾਲ ਵਰਤਣ ਲਈ ਹੈ। ਇਹ ਉਮੀਦ ਕੀਤੀ "
|
||||
"ਜਾਂਦੀ ਹੈ ਕਿ "
|
||||
"ਇਹ ਸਵਿੱਚ ”ਓਵਰਲੇ” ਸ਼ੁਰੂ ਕਰਦੀ ਹੈ, ਜੋ ਕਿ ਵਿੰਡੋ ਸੰਖੇਪ ਤੇ ਐਪਲੀਕੇਸ਼ਨ ਚਲਾਉਣ ਸਿਸਟਮ ਦੀ"
|
||||
" ਜੋੜ ਹੈ। "
|
||||
"ਡਿਫਾਲਟ ਇਹ PC ਹਾਰਡਵੇਅਰ ਉੱਤੇ ”ਵਿੰਡੋਜ਼ ਸਵਿੱਚ” ਨਾਲ ਵਰਤਣ ਲਈ ਹੈ। ਇਹ ਉਮੀਦ ਕੀਤੀ ਜਾਂਦੀ"
|
||||
" ਹੈ ਕਿ "
|
||||
"ਜਾਂ ਤਾਂ ਡਿਫਾਲਟ ਬਾਈਡਿੰਗ ਰੱਖੀ ਜਾਵੇ ਜਾਂ ਖਾਲੀ ਲਾਈਨ ਵਰਤੀ ਜਾਵੇ।"
|
||||
|
||||
#: ../data/org.gnome.mutter.gschema.xml.in.h:3
|
||||
#: data/org.gnome.mutter.gschema.xml.in:20
|
||||
msgid "Attach modal dialogs"
|
||||
msgstr "ਮਾਡਲ ਡਾਈਲਾਗ ਅਟੈਚਮੈਂਟ"
|
||||
|
||||
#: ../data/org.gnome.mutter.gschema.xml.in.h:4
|
||||
#: 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.h:5
|
||||
#: 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.h:6
|
||||
#: 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.h:7
|
||||
#: data/org.gnome.mutter.gschema.xml.in:40
|
||||
msgid "Workspaces are managed dynamically"
|
||||
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 ""
|
||||
"Determines whether workspaces are managed dynamically or whether there's a "
|
||||
"Determines whether workspaces are managed dynamically or whether there’s a "
|
||||
"static number of workspaces (determined by the num-workspaces key in org."
|
||||
"gnome.desktop.wm.preferences)."
|
||||
msgstr ""
|
||||
"ਦੱਸੋ ਕਿ ਕੀ ਵਰਕਸਪੇਸ ਨੂੰ ਚਲਵੇਂ ਰੂਪ ਵਿੱਚ ਰੱਖਣਾ ਹੈ ਜਾਂ ਵਰਕਸਪੇਸ ਦੀ ਗਿਣਤੀ ਸਥਿਰ ਹੋਵੇ "
|
||||
"(ਜੋ ਕਿ org."
|
||||
"ਦੱਸੋ ਕਿ ਕੀ ਵਰਕਸਪੇਸ ਨੂੰ ਚਲਵੇਂ ਰੂਪ ਵਿੱਚ ਰੱਖਣਾ ਹੈ ਜਾਂ ਵਰਕਸਪੇਸ ਦੀ ਗਿਣਤੀ ਸਥਿਰ ਹੋਵੇ"
|
||||
" (ਜੋ ਕਿ org."
|
||||
"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"
|
||||
msgstr "ਵਰਕਸਪੇਸ ਕੇਵਲ ਪ੍ਰਾਇਮਰੀ ਉੱਤੇ ਹੀ"
|
||||
|
||||
#: ../data/org.gnome.mutter.gschema.xml.in.h:10
|
||||
#: 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.h:11
|
||||
#: data/org.gnome.mutter.gschema.xml.in:59
|
||||
msgid "No tab popup"
|
||||
msgstr "ਕੋਈ ਟੈਬ ਪੋਪਅੱਪ ਨਹੀਂ"
|
||||
|
||||
#: ../data/org.gnome.mutter.gschema.xml.in.h:12
|
||||
#: 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.h:13
|
||||
#: 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.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 ""
|
||||
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
|
||||
"the focus will not be changed immediately when entering a window, but only "
|
||||
"after the pointer stops moving."
|
||||
"If set to true, and the focus mode is either “sloppy” or “mouse” then the "
|
||||
"focus will not be changed immediately when entering a window, but only after "
|
||||
"the pointer stops moving."
|
||||
msgstr ""
|
||||
"ਜੇ ਇਹ ਸਹੀਂ ਹੋਵੇ ਤਾਂ ਫੋਕਸ ਢੰਗ ਜਾਂ ਤਾਂ \"ਸਲੋਪੀ\" ਜਾਂ \"ਮਾਊਂਸ\" ਹੁੰਦਾ ਹੈ ਤਾਂ "
|
||||
"ਫੋਕਸ ਹੋਇਆ ਵਿੰਡੋ "
|
||||
"ਜੇ ਇਹ ਸਹੀਂ ਹੋਵੇ ਤਾਂ ਫੋਕਸ ਢੰਗ ਜਾਂ ਤਾਂ ”ਸਲੋਪੀ” ਜਾਂ ”ਮਾਊਂਸ” ਹੁੰਦਾ ਹੈ ਤਾਂ ਫੋਕਸ"
|
||||
" ਹੋਇਆ ਵਿੰਡੋ "
|
||||
"auto_raise_delay ਕੁੰਜੀ ਵਲੋਂ ਦਿੱਤੇ ਇੱਕ ਅੰਤਰਾਲ ਬਾਅਦ ਆਟੋਮੈਟਿਕ ਹੀ ਉਭਾਰਿਆ ਜਾਵੇਗਾ।"
|
||||
|
||||
#: ../data/org.gnome.mutter.gschema.xml.in.h:15
|
||||
#: data/org.gnome.mutter.gschema.xml.in:79
|
||||
msgid "Draggable border width"
|
||||
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 ""
|
||||
"The amount of total draggable borders. If the theme's visible borders are "
|
||||
"The amount of total draggable borders. If the theme’s visible borders are "
|
||||
"not enough, invisible borders will be added to meet this value."
|
||||
msgstr ""
|
||||
"ਕੁੱਲ ਡਰੈਗ ਹੋਣ ਯੋਗ ਬਾਰਡਰ ਦੀ ਮਾਤਰਾ। ਜੇ ਥੀਮ ਦੇ ਦਿੱਖ ਬਾਰਡਰ ਲੋੜ ਮੁਤਾਬਕ ਨਾ ਹੋਣ ਤਾਂ "
|
||||
"ਅਦਿੱਖ ਬਾਰਡਰ "
|
||||
"ਕੁੱਲ ਡਰੈਗ ਹੋਣ ਯੋਗ ਬਾਰਡਰ ਦੀ ਮਾਤਰਾ। ਜੇ ਥੀਮ ਦੇ ਦਿੱਖ ਬਾਰਡਰ ਲੋੜ ਮੁਤਾਬਕ ਨਾ ਹੋਣ ਤਾਂ"
|
||||
" ਅਦਿੱਖ ਬਾਰਡਰ "
|
||||
"ਨੂੰ ਇਹ ਮੁੱਲ ਦੇ ਬਰਾਬਰ ਕਰਨ ਲਈ ਵਧਾਇਆ ਜਾਵੇਗਾ।"
|
||||
|
||||
#: ../data/org.gnome.mutter.gschema.xml.in.h:17
|
||||
#: data/org.gnome.mutter.gschema.xml.in:89
|
||||
msgid "Auto maximize nearly monitor sized windows"
|
||||
msgstr "ਲਗਭਗ ਮਾਨੀਟਰ ਆਕਾਰ ਦੀਆਂ ਵਿੰਡੋਜ਼ ਆਪਣੇ-ਆਪ ਵੱਧੋ-ਵੱਧੋ"
|
||||
|
||||
#: ../data/org.gnome.mutter.gschema.xml.in.h:18
|
||||
#: 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.h:19
|
||||
#: data/org.gnome.mutter.gschema.xml.in:98
|
||||
msgid "Place new windows in the center"
|
||||
msgstr "ਨਵੀਆਂ ਵਿੰਡੋ ਕੇਂਦਰ ਵਿੱਚ ਰੱਖੋ"
|
||||
|
||||
#: ../data/org.gnome.mutter.gschema.xml.in.h:20
|
||||
#: 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.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. Don’t 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"
|
||||
msgstr "ਟੈਬ ਪੋਪਅੱਪ ਤੋਂ ਵਿੰਡੋ ਚੁਣੋ"
|
||||
|
||||
#: ../data/org.gnome.mutter.gschema.xml.in.h:22
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
msgstr "VT 7 ਲਈ ਬਦਲੋ"
|
||||
|
||||
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:8
|
||||
#| msgid "Switch to VT 1"
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:34
|
||||
msgid "Switch to VT 8"
|
||||
msgstr "VT 8 ਲਈ ਬਦਲੋ"
|
||||
|
||||
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:9
|
||||
#| msgid "Switch to VT 1"
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:38
|
||||
msgid "Switch to VT 9"
|
||||
msgstr "VT 9 ਲਈ ਬਦਲੋ"
|
||||
|
||||
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:10
|
||||
#| msgid "Switch to VT 1"
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:42
|
||||
msgid "Switch to VT 10"
|
||||
msgstr "VT 10 ਲਈ ਬਦਲੋ"
|
||||
|
||||
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:11
|
||||
#| msgid "Switch to VT 1"
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:46
|
||||
msgid "Switch to VT 11"
|
||||
msgstr "VT 11 ਲਈ ਬਦਲੋ"
|
||||
|
||||
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:12
|
||||
#| msgid "Switch to VT 1"
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:50
|
||||
msgid "Switch to 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"
|
||||
msgstr "ਬਿਲਟ-ਇਨ ਡਿਸਪਲੇਅ"
|
||||
|
||||
#: ../src/backends/meta-monitor-manager.c:391
|
||||
#: src/backends/meta-monitor-manager.c:926
|
||||
msgid "Unknown"
|
||||
msgstr "ਅਣਜਾਣ"
|
||||
|
||||
#: ../src/backends/meta-monitor-manager.c:393
|
||||
#: src/backends/meta-monitor-manager.c:928
|
||||
msgid "Unknown Display"
|
||||
msgstr "ਅਣਜਾਣ ਡਿਸਪਲੇਅ"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: ../src/backends/meta-monitor-manager.c:401
|
||||
#: src/backends/meta-monitor-manager.c:936
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
|
||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||
#. * we have no way to get it to exit
|
||||
#: ../src/compositor/compositor.c:456
|
||||
#: src/compositor/compositor.c:476
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "Another compositing manager is already running on screen %i on display "
|
||||
#| "\"%s\"."
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
"Another compositing manager is already running on screen %i on display “%s”."
|
||||
msgstr ""
|
||||
"ਇੱਕ ਹੋਰ ਕੰਪੋਜ਼ਟਿੰਗ ਮੈਨੇਜਰ %i ਸਕਰੀਨ ਉੱਤੇ ਡਿਸਪਲੇਅ \"%s\" ਉੱਤੇ ਪਹਿਲਾਂ ਹੀ ਚੱਲ "
|
||||
"ਰਿਹਾ ਹੈ।"
|
||||
"ਇੱਕ ਹੋਰ ਕੰਪੋਜ਼ਟਿੰਗ ਮੈਨੇਜਰ %i ਸਕਰੀਨ ਉੱਤੇ ਡਿਸਪਲੇਅ ”%s” ਉੱਤੇ ਪਹਿਲਾਂ ਹੀ ਚੱਲ ਰਿਹਾ"
|
||||
" ਹੈ।"
|
||||
|
||||
#: ../src/core/bell.c:185
|
||||
#: src/core/bell.c:194
|
||||
msgid "Bell event"
|
||||
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
|
||||
msgid "“%s” is not responding."
|
||||
msgstr "\"%s\" ਜਵਾਬ ਨਹੀਂ ਦੇ ਰਹੀ ਹੈ।"
|
||||
|
||||
#: ../src/core/delete.c:129
|
||||
#: src/core/meta-close-dialog-default.c:149
|
||||
msgid "Application is not responding."
|
||||
msgstr "ਐਪਲੀਕੇਸ਼ਨ ਜਵਾਬ ਨਹੀਂ ਦੇ ਰਹੀ ਹੈ।"
|
||||
|
||||
#: ../src/core/delete.c:134
|
||||
#: 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/delete.c:141
|
||||
msgid "_Wait"
|
||||
msgstr "ਉਡੀਕੋ(_W)"
|
||||
|
||||
#: ../src/core/delete.c:141
|
||||
#: src/core/meta-close-dialog-default.c:161
|
||||
msgid "_Force Quit"
|
||||
msgstr "ਧੱਕੇ ਨਾਲ ਬੰਦ(_F)"
|
||||
|
||||
#: ../src/core/display.c:562
|
||||
#, c-format
|
||||
msgid "Failed to open X Window System display '%s'\n"
|
||||
msgstr "X ਵਿੰਡੋ ਸਿਸਟਮ ਡਿਸਪਲੇਅ '%s' ਨੂੰ ਖੋਲਣ ਵਿੱਚ ਅਸਮਰਥ\n"
|
||||
|
||||
#: ../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
|
||||
#: src/core/meta-close-dialog-default.c:161
|
||||
msgid "_Wait"
|
||||
msgstr "ਉਡੀਕੋ(_W)"
|
||||
|
||||
#: src/core/mutter.c:39
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "mutter %s\n"
|
||||
#| "Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
|
||||
#| "This is free software; see the source for copying conditions.\n"
|
||||
#| "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
|
||||
#| "PARTICULAR PURPOSE.\n"
|
||||
msgid ""
|
||||
"mutter %s\n"
|
||||
"Copyright (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"
|
||||
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
|
||||
"PARTICULAR PURPOSE.\n"
|
||||
msgstr ""
|
||||
"ਮੱਟਰ %s\n"
|
||||
"ਹੱਕ ਰਾਖਵੇਂ ਹਨ(C) ੨੦੦੧-%d ਹਾਵੇਨ ਪੈਨਿੰਗਟੋਨ, ਰੈੱਡ ਹੈੱਟ, ਅਤੇ ਹੋਰ\n"
|
||||
"ਮੁੱਟਰ %s\n"
|
||||
"ਹੱਕ ਰਾਖਵੇਂ ਹਨ © ੨੦੦੧-%d ਹਾਵੇਨ ਪੈਨਿੰਗਟੋਨ, ਰੈੱਡ ਹੈੱਟ, ਅਤੇ ਹੋਰ\n"
|
||||
"ਇਹ ਮੁਫਤ ਸਾਫਟਵੇਅਰ ਹੈ; ਉਤਾਰਾ ਹਾਲਤਾਂ ਲਈ ਸਰੋਤ ਵੇਖੋ।\n"
|
||||
"ਇਸ ਦੀ ਕੋਈ ਗਰੰਟੀ ਨਹੀ; ਇਥੋਂ ਤੱਕ ਕਿ ਖਰੀਦਦਾਰੀ ਜਾਂ ਖਾਸ ਮਕਸਦ ਦੀ ਪੂਰਤੀ ਲਈ ਵੀ।\n"
|
||||
|
||||
#: ../src/core/mutter.c:53
|
||||
#: src/core/mutter.c:53
|
||||
msgid "Print version"
|
||||
msgstr "ਵਰਜਨ ਛਾਪੋ"
|
||||
|
||||
#: ../src/core/mutter.c:59
|
||||
#: src/core/mutter.c:59
|
||||
msgid "Mutter plugin to use"
|
||||
msgstr "ਵਰਤਣ ਲਈ ਮੁੱਟਰ ਪਲੱਗਇਨ"
|
||||
|
||||
#: ../src/core/prefs.c:2004
|
||||
#: src/core/prefs.c:1997
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "ਵਰਕਸਪੇਸ %d"
|
||||
|
||||
#: ../src/core/screen.c:525
|
||||
#: src/core/screen.c:580
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
#| "replace option to replace the current window manager.\n"
|
||||
#| "Display \"%s\" already has a window manager; try using the --replace "
|
||||
#| "option to replace the current window manager."
|
||||
msgid ""
|
||||
"Display \"%s\" already has a window manager; try using the --replace option "
|
||||
"to replace the current window manager."
|
||||
"Display “%s” already has a window manager; try using the --replace option to "
|
||||
"replace the current window manager."
|
||||
msgstr ""
|
||||
"ਡਿਸਪਲੇਅ \"%s\" ਉੱਤੇ ਪਹਿਲਾਂ ਹੀ ਵਿੰਡੋ ਮੈਨੇਜਰ ਮੌਜੂਦ ਹੈ; ਮੌਜੂਦਾ ਵਿੰਡੋ ਮੈਨੇਜਰ ਨੂੰ "
|
||||
"ਬਦਲਣ ਲਈ --replace "
|
||||
"ਡਿਸਪਲੇਅ ”%s” ਉੱਤੇ ਪਹਿਲਾਂ ਹੀ ਵਿੰਡੋ ਮੈਨੇਜਰ ਮੌਜੂਦ ਹੈ; ਮੌਜੂਦਾ ਵਿੰਡੋ ਮੈਨੇਜਰ ਨੂੰ"
|
||||
" ਬਦਲਣ ਲਈ --replace "
|
||||
"ਚੋਣ ਵਰਤ ਕੇ ਦੇਖੋ।"
|
||||
|
||||
#: ../src/core/screen.c:607
|
||||
#: src/core/screen.c:665
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "ਡਿਸਪਲੇਅ '%2$s' ਉੱਤੇ ਸਕਰੀਨ %1$d ਗਲਤ ਹੈ\n"
|
||||
#| msgid "Screen %d on display '%s' is invalid\n"
|
||||
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"
|
||||
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 "save current setup" and will have "
|
||||
#| "to be restarted manually next time you log in."
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
"These windows do not support “save current setup” and will have to be "
|
||||
"restarted manually next time you log in."
|
||||
msgstr ""
|
||||
"ਇਹ ਵਿੰਡੋ "ਮੌਜੂਦਾ ਸੈਟਅੱਪ ਸੰਭਾਲੋ" ਵਾਸਤੇ ਸਹਾਇਕ ਨਹੀਂ ਅਤੇ ਅਗਲੀ ਵਾਰ ਜਦੋਂ "
|
||||
"ਤੁਸੀਂ ਲਾਗਇਨ "
|
||||
"ਇਹ ਵਿੰਡੋ ”ਮੌਜੂਦਾ ਸੈਟਅੱਪ ਸੰਭਾਲੋ” ਵਾਸਤੇ ਸਹਾਇਕ ਨਹੀਂ ਅਤੇ ਅਗਲੀ ਵਾਰ ਜਦੋਂ ਤੁਸੀਂ"
|
||||
" ਲਾਗਇਨ "
|
||||
"ਕਰੋਗੇ ਤਾਂ ਮੁੜ ਸ਼ੁਰੂ ਕਰਨਾ ਪਵੇਗਾ।"
|
||||
|
||||
#: ../src/x11/window-props.c:549
|
||||
#: src/x11/window-props.c:559
|
||||
#, c-format
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (%s ਉੱਤੇ)"
|
||||
|
46
po/pl.po
46
po/pl.po
@ -14,8 +14,8 @@ msgstr ""
|
||||
"Project-Id-Version: mutter\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-08-21 04:46+0000\n"
|
||||
"PO-Revision-Date: 2017-08-23 04:15+0200\n"
|
||||
"POT-Creation-Date: 2017-11-10 18:18+0000\n"
|
||||
"PO-Revision-Date: 2017-11-10 18:30+0100\n"
|
||||
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
|
||||
"Language-Team: Polish <community-poland@mozilla.org>\n"
|
||||
"Language: pl\n"
|
||||
@ -177,7 +177,7 @@ msgstr "Przeniesienie na górny obszar roboczy"
|
||||
msgid "Move to workspace below"
|
||||
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"
|
||||
msgstr "System"
|
||||
|
||||
@ -189,6 +189,10 @@ msgstr "Wyświetlenie okna wykonania polecenia"
|
||||
msgid "Show the activities overview"
|
||||
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
|
||||
msgid "Windows"
|
||||
msgstr "Okna"
|
||||
@ -422,7 +426,10 @@ msgid ""
|
||||
"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."
|
||||
"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. "
|
||||
@ -431,21 +438,24 @@ msgstr ""
|
||||
"„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."
|
||||
"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:141
|
||||
#: data/org.gnome.mutter.gschema.xml.in:145
|
||||
msgid "Select window from tab popup"
|
||||
msgstr "Wybór okna z wyskakującego okna dla tabulacji"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:146
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
msgstr "Anulowanie wyskakującego okna dla tabulacji"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:151
|
||||
#: 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:156
|
||||
#: data/org.gnome.mutter.gschema.xml.in:160
|
||||
msgid "Rotates the built-in monitor configuration"
|
||||
msgstr "Obrócenie wbudowanego monitora"
|
||||
|
||||
@ -504,7 +514,7 @@ msgstr "Ponowne włączenie skrótów"
|
||||
#. TRANSLATORS: This string refers to a button that switches between
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2151
|
||||
#: src/backends/meta-input-settings.c:2167
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "Przełącznik trybu (%d. grupa)"
|
||||
@ -512,30 +522,30 @@ msgstr "Przełącznik trybu (%d. grupa)"
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2174
|
||||
#: src/backends/meta-input-settings.c:2190
|
||||
msgid "Switch monitor"
|
||||
msgstr "Przełączenie monitora"
|
||||
|
||||
#: src/backends/meta-input-settings.c:2176
|
||||
#: src/backends/meta-input-settings.c:2192
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Ekran pomocy"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:903
|
||||
#: src/backends/meta-monitor-manager.c:908
|
||||
msgid "Built-in display"
|
||||
msgstr "Wbudowany ekran"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:926
|
||||
#: src/backends/meta-monitor-manager.c:931
|
||||
msgid "Unknown"
|
||||
msgstr "Nieznany"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:928
|
||||
#: src/backends/meta-monitor-manager.c:933
|
||||
msgid "Unknown Display"
|
||||
msgstr "Nieznany ekran"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:936
|
||||
#: src/backends/meta-monitor-manager.c:941
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
@ -647,7 +657,7 @@ msgstr "Używana wtyczka menedżera Mutter"
|
||||
msgid "Workspace %d"
|
||||
msgstr "%d. obszar roboczy"
|
||||
|
||||
#: src/core/screen.c:580
|
||||
#: src/core/screen.c:583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Display “%s” already has a window manager; try using the --replace option to "
|
||||
@ -656,7 +666,7 @@ msgstr ""
|
||||
"Na ekranie „%s” działa już menedżer okien. Aby zastąpić działającego "
|
||||
"menedżera okien, należy użyć opcji „--replace”."
|
||||
|
||||
#: src/core/screen.c:665
|
||||
#: src/core/screen.c:668
|
||||
#, c-format
|
||||
msgid "Screen %d on display “%s” is invalid\n"
|
||||
msgstr "Podekran %d ekranu „%s” jest nieprawidłowy\n"
|
||||
|
594
po/pt_BR.po
594
po/pt_BR.po
@ -21,8 +21,8 @@ msgstr ""
|
||||
"Project-Id-Version: mutter\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=mutter"
|
||||
"&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-02-22 19:28+0000\n"
|
||||
"PO-Revision-Date: 2017-02-25 17:53-0200\n"
|
||||
"POT-Creation-Date: 2017-11-10 18:18+0000\n"
|
||||
"PO-Revision-Date: 2017-11-11 16:55-0200\n"
|
||||
"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
|
||||
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
|
||||
"Language: pt_BR\n"
|
||||
@ -33,6 +33,254 @@ msgstr ""
|
||||
"X-Generator: Virtaal 1.0.0-beta1\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: data/50-mutter-navigation.xml:6
|
||||
msgid "Navigation"
|
||||
msgstr "Navegação"
|
||||
|
||||
#: data/50-mutter-navigation.xml:9
|
||||
msgid "Move window to workspace 1"
|
||||
msgstr "Mover a janela para o espaço de trabalho 1"
|
||||
|
||||
#: data/50-mutter-navigation.xml:12
|
||||
msgid "Move window to workspace 2"
|
||||
msgstr "Mover a janela para o espaço de trabalho 2"
|
||||
|
||||
#: data/50-mutter-navigation.xml:15
|
||||
msgid "Move window to workspace 3"
|
||||
msgstr "Mover a janela para o espaço de trabalho 3"
|
||||
|
||||
#: data/50-mutter-navigation.xml:18
|
||||
msgid "Move window to workspace 4"
|
||||
msgstr "Mover a janela para o espaço de trabalho 4"
|
||||
|
||||
#: data/50-mutter-navigation.xml:21
|
||||
msgid "Move window to last workspace"
|
||||
msgstr "Mover a janela para o último espaço de trabalho"
|
||||
|
||||
#: data/50-mutter-navigation.xml:24
|
||||
msgid "Move window one workspace to the left"
|
||||
msgstr "Mover a janela um espaço de trabalho à esquerda"
|
||||
|
||||
#: data/50-mutter-navigation.xml:27
|
||||
msgid "Move window one workspace to the right"
|
||||
msgstr "Mover a janela um espaço de trabalho à direita"
|
||||
|
||||
#: data/50-mutter-navigation.xml:30
|
||||
msgid "Move window one workspace up"
|
||||
msgstr "Mover a janela um espaço de trabalho acima"
|
||||
|
||||
#: data/50-mutter-navigation.xml:33
|
||||
msgid "Move window one workspace down"
|
||||
msgstr "Mover a janela um espaço de trabalho abaixo"
|
||||
|
||||
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
|
||||
#: data/50-mutter-navigation.xml:36
|
||||
msgid "Move window one monitor to the left"
|
||||
msgstr "Mover janela para o monitor da esquerda"
|
||||
|
||||
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
|
||||
#: data/50-mutter-navigation.xml:39
|
||||
msgid "Move window one monitor to the right"
|
||||
msgstr "Mover janela para o monitor da direita"
|
||||
|
||||
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
|
||||
#: data/50-mutter-navigation.xml:42
|
||||
msgid "Move window one monitor up"
|
||||
msgstr "Mover janela para o monitor acima"
|
||||
|
||||
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
|
||||
#: data/50-mutter-navigation.xml:45
|
||||
msgid "Move window one monitor down"
|
||||
msgstr "Mover janela para o monitor abaixo"
|
||||
|
||||
#: data/50-mutter-navigation.xml:49
|
||||
msgid "Switch applications"
|
||||
msgstr "Alternar aplicativos"
|
||||
|
||||
#: data/50-mutter-navigation.xml:54
|
||||
msgid "Switch to previous application"
|
||||
msgstr "Alternar para o aplicativo anterior"
|
||||
|
||||
#: data/50-mutter-navigation.xml:58
|
||||
msgid "Switch windows"
|
||||
msgstr "Alternar janelas"
|
||||
|
||||
#: data/50-mutter-navigation.xml:63
|
||||
msgid "Switch to previous window"
|
||||
msgstr "Alternar para a janela anterior"
|
||||
|
||||
#: data/50-mutter-navigation.xml:67
|
||||
msgid "Switch windows of an application"
|
||||
msgstr "Alternar as janelas de um aplicativo"
|
||||
|
||||
#: data/50-mutter-navigation.xml:72
|
||||
msgid "Switch to previous window of an application"
|
||||
msgstr "Alternar para a janela anterior de um aplicativo"
|
||||
|
||||
#: data/50-mutter-navigation.xml:76
|
||||
msgid "Switch system controls"
|
||||
msgstr "Alternar controles do sistema"
|
||||
|
||||
#: data/50-mutter-navigation.xml:81
|
||||
msgid "Switch to previous system control"
|
||||
msgstr "Alternar para o controle de sistema anterior"
|
||||
|
||||
#: data/50-mutter-navigation.xml:85
|
||||
msgid "Switch windows directly"
|
||||
msgstr "Alternar as janelas diretamente"
|
||||
|
||||
#: data/50-mutter-navigation.xml:90
|
||||
msgid "Switch directly to previous window"
|
||||
msgstr "Alternar diretamente para a janela anterior"
|
||||
|
||||
#: data/50-mutter-navigation.xml:94
|
||||
msgid "Switch windows of an app directly"
|
||||
msgstr "Alternar as janelas de um aplicativo diretamente"
|
||||
|
||||
#: data/50-mutter-navigation.xml:99
|
||||
msgid "Switch directly to previous window of an app"
|
||||
msgstr "Alternar diretamente para a janela anterior de um aplicativo"
|
||||
|
||||
#: data/50-mutter-navigation.xml:103
|
||||
msgid "Switch system controls directly"
|
||||
msgstr "Alternar os controles de sistema diretamente"
|
||||
|
||||
#: data/50-mutter-navigation.xml:108
|
||||
msgid "Switch directly to previous system control"
|
||||
msgstr "Alternar diretamente para o controle de sistema anterior"
|
||||
|
||||
#: data/50-mutter-navigation.xml:111
|
||||
msgid "Hide all normal windows"
|
||||
msgstr "Ocultar todas as janelas normais"
|
||||
|
||||
#: data/50-mutter-navigation.xml:114
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "Trocar para o espaço de trabalho 1"
|
||||
|
||||
#: data/50-mutter-navigation.xml:117
|
||||
msgid "Switch to workspace 2"
|
||||
msgstr "Trocar para o espaço de trabalho 2"
|
||||
|
||||
#: data/50-mutter-navigation.xml:120
|
||||
msgid "Switch to workspace 3"
|
||||
msgstr "Trocar para o espaço de trabalho 3"
|
||||
|
||||
#: data/50-mutter-navigation.xml:123
|
||||
msgid "Switch to workspace 4"
|
||||
msgstr "Trocar para o espaço de trabalho 4"
|
||||
|
||||
#: data/50-mutter-navigation.xml:126
|
||||
msgid "Switch to last workspace"
|
||||
msgstr "Trocar para o último espaço de trabalho"
|
||||
|
||||
#: data/50-mutter-navigation.xml:129
|
||||
msgid "Move to workspace left"
|
||||
msgstr "Move para o espaço de trabalho à esquerda"
|
||||
|
||||
#: data/50-mutter-navigation.xml:132
|
||||
msgid "Move to workspace right"
|
||||
msgstr "Move para o espaço de trabalho à direita"
|
||||
|
||||
#: data/50-mutter-navigation.xml:135
|
||||
msgid "Move to workspace above"
|
||||
msgstr "Mover para o espaço de trabalho acima"
|
||||
|
||||
#: data/50-mutter-navigation.xml:138
|
||||
msgid "Move to workspace below"
|
||||
msgstr "Mover para o espaço de trabalho abaixo"
|
||||
|
||||
#: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
|
||||
msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: data/50-mutter-system.xml:8
|
||||
msgid "Show the run command prompt"
|
||||
msgstr "Mostrar o prompt de comando de execução"
|
||||
|
||||
#: data/50-mutter-system.xml:10
|
||||
msgid "Show the activities overview"
|
||||
msgstr "Mostrar o panorama de atividades"
|
||||
|
||||
#: data/50-mutter-wayland.xml:8
|
||||
msgid "Restore the keyboard shortcuts"
|
||||
msgstr "Restaurar os atalhos de teclado"
|
||||
|
||||
#: data/50-mutter-windows.xml:6
|
||||
msgid "Windows"
|
||||
msgstr "Janelas"
|
||||
|
||||
#: data/50-mutter-windows.xml:8
|
||||
msgid "Activate the window menu"
|
||||
msgstr "Ativar o menu da janela"
|
||||
|
||||
#: data/50-mutter-windows.xml:10
|
||||
msgid "Toggle fullscreen mode"
|
||||
msgstr "Alternar modo de tela inteira"
|
||||
|
||||
#: data/50-mutter-windows.xml:12
|
||||
msgid "Toggle maximization state"
|
||||
msgstr "Alternar estado de maximização"
|
||||
|
||||
#: data/50-mutter-windows.xml:14
|
||||
msgid "Maximize window"
|
||||
msgstr "Maximizar a janela"
|
||||
|
||||
#: data/50-mutter-windows.xml:16
|
||||
msgid "Restore window"
|
||||
msgstr "Restaurar janela"
|
||||
|
||||
#: data/50-mutter-windows.xml:18
|
||||
msgid "Toggle shaded state"
|
||||
msgstr "Alternar estado sombreado"
|
||||
|
||||
#: data/50-mutter-windows.xml:20
|
||||
msgid "Close window"
|
||||
msgstr "Fechar janela"
|
||||
|
||||
#: data/50-mutter-windows.xml:22
|
||||
msgid "Hide window"
|
||||
msgstr "Ocultar janela"
|
||||
|
||||
#: data/50-mutter-windows.xml:24
|
||||
msgid "Move window"
|
||||
msgstr "Mover janela"
|
||||
|
||||
#: data/50-mutter-windows.xml:26
|
||||
msgid "Resize window"
|
||||
msgstr "Redimensionar janela"
|
||||
|
||||
#: data/50-mutter-windows.xml:29
|
||||
msgid "Toggle window on all workspaces or one"
|
||||
msgstr "Alternar a janela em todos os espaços de trabalho ou em apenas um"
|
||||
|
||||
#: data/50-mutter-windows.xml:31
|
||||
msgid "Raise window if covered, otherwise lower it"
|
||||
msgstr "Elevar a janela se estiver coberta; caso contrário, a abaixa"
|
||||
|
||||
#: data/50-mutter-windows.xml:33
|
||||
msgid "Raise window above other windows"
|
||||
msgstr "Elevar a janela para frente das outras"
|
||||
|
||||
#: data/50-mutter-windows.xml:35
|
||||
msgid "Lower window below other windows"
|
||||
msgstr "Colocar a janela atrás das outras"
|
||||
|
||||
#: data/50-mutter-windows.xml:37
|
||||
msgid "Maximize window vertically"
|
||||
msgstr "Maximizar a janela verticalmente"
|
||||
|
||||
#: data/50-mutter-windows.xml:39
|
||||
msgid "Maximize window horizontally"
|
||||
msgstr "Maximizar a janela horizontalmente"
|
||||
|
||||
#: data/50-mutter-windows.xml:43
|
||||
msgid "View split on left"
|
||||
msgstr "Visualizar divisão à esquerda"
|
||||
|
||||
#: data/50-mutter-windows.xml:47
|
||||
msgid "View split on right"
|
||||
msgstr "Visualizar divisão à direita"
|
||||
|
||||
#: data/mutter.desktop.in:4
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
@ -43,11 +291,6 @@ msgstr ""
|
||||
"Modificador a ser usado para operações de gerenciamento de janelas estendido"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:8
|
||||
#| msgid ""
|
||||
#| "This key will initiate the \"overlay\", which is a combination window "
|
||||
#| "overview and application launching system. The default is intended to be "
|
||||
#| "the \"Windows key\" on PC hardware. It's expected that this binding "
|
||||
#| "either the default or set to the empty string."
|
||||
msgid ""
|
||||
"This key will initiate the “overlay”, which is a combination window overview "
|
||||
"and application launching system. The default is intended to be the “Windows "
|
||||
@ -55,8 +298,8 @@ msgid ""
|
||||
"set to the empty string."
|
||||
msgstr ""
|
||||
"Esta chave irá iniciar a “sobreposição”, que é a combinação de visão de "
|
||||
"janela e sistema de lançamento de aplicativos. O padrão pretendido é a “"
|
||||
"tecla Windows” no hardware do computador. É esperada para esta associação "
|
||||
"janela e sistema de lançamento de aplicativos. O padrão pretendido é a "
|
||||
"“tecla Windows” no hardware do computador. É esperada para esta associação "
|
||||
"tanto o padrão quanto a definição de uma string vazia."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:20
|
||||
@ -94,10 +337,6 @@ msgid "Workspaces are managed dynamically"
|
||||
msgstr "Áreas de trabalho são gerenciadas dinamicamente"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:41
|
||||
#| msgid ""
|
||||
#| "Determines whether workspaces are managed dynamically or whether there's "
|
||||
#| "a static number of workspaces (determined by the num-workspaces key in "
|
||||
#| "org.gnome.desktop.wm.preferences)."
|
||||
msgid ""
|
||||
"Determines whether workspaces are managed dynamically or whether there’s a "
|
||||
"static number of workspaces (determined by the num-workspaces key in org."
|
||||
@ -136,10 +375,6 @@ msgid "Delay focus changes until the pointer stops moving"
|
||||
msgstr "Atrasar alterações de foco até que o ponteiro pare de mover"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:69
|
||||
#| msgid ""
|
||||
#| "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
|
||||
#| "the focus will not be changed immediately when entering a window, but "
|
||||
#| "only after the pointer stops moving."
|
||||
msgid ""
|
||||
"If set to true, and the focus mode is either “sloppy” or “mouse” then the "
|
||||
"focus will not be changed immediately when entering a window, but only after "
|
||||
@ -154,9 +389,6 @@ msgid "Draggable border width"
|
||||
msgstr "Largura da borda arrastável"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:80
|
||||
#| msgid ""
|
||||
#| "The amount of total draggable borders. If the theme's visible borders are "
|
||||
#| "not enough, invisible borders will be added to meet this value."
|
||||
msgid ""
|
||||
"The amount of total draggable borders. If the theme’s visible borders are "
|
||||
"not enough, invisible borders will be added to meet this value."
|
||||
@ -189,14 +421,53 @@ msgstr ""
|
||||
"Quando verdadeiro, as novas janelas serão sempre colocadas no centro da tela "
|
||||
"ativa do monitor."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:120
|
||||
#: data/org.gnome.mutter.gschema.xml.in:107
|
||||
msgid "Enable experimental features"
|
||||
msgstr "Habilitar recursos experimentais"
|
||||
|
||||
#: 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. Don’t 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 ""
|
||||
"Para habilitar recursos experimentais, adicione a palavra-chave do recurso à "
|
||||
"lista. Se o recurso exige ou não reiniciar o compositor, depende do recurso "
|
||||
"dado. Qualquer recurso experimental não precisa estar disponível ou ser "
|
||||
"configurável. Não espere que adicionar alguma coisa nesta configuração seja "
|
||||
"a prova de futuro. Atualmente, palavras-chaves possíveis: • “scale-monitor-"
|
||||
"framebuffer” — torna o mutter padrão para a disposição de monitores lógicos "
|
||||
"em um espaço lógico coordenado por pixels, ao dimensionar buffers de quadros "
|
||||
"de monitor em vez de conteúdo de janela, para gerenciar monitores HiDPI. Não "
|
||||
"exige uma reinicialização. • “remote-desktop” — habilita suporte remoto. "
|
||||
"Para oferecer suporte a desktop remoto com compartilhamento de tela, “screen-"
|
||||
"cast” também deve estar habilitado. • “screen-cast” — habilita suporte a "
|
||||
"gravação de tela."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:145
|
||||
msgid "Select window from tab popup"
|
||||
msgstr "Selecione a janela a partir da aba instantânea"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:125
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
msgstr "Cancelar aba instantânea"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:155
|
||||
msgid "Switch monitor configurations"
|
||||
msgstr "Trocar configurações de monitor"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:160
|
||||
msgid "Rotates the built-in monitor configuration"
|
||||
msgstr "Gira a configuração de monitor embutido"
|
||||
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:6
|
||||
msgid "Switch to VT 1"
|
||||
msgstr "Trocar para o VT 1"
|
||||
@ -245,53 +516,53 @@ msgstr "Trocar para o VT 11"
|
||||
msgid "Switch to VT 12"
|
||||
msgstr "Trocar para o VT 12"
|
||||
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:54
|
||||
msgid "Re-enable shortcuts"
|
||||
msgstr "Reabilita atalhos"
|
||||
|
||||
#. TRANSLATORS: This string refers to a button that switches between
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1800
|
||||
#: src/backends/meta-input-settings.c:2167
|
||||
#, c-format
|
||||
#| msgid "Mode Switch: Mode %d"
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "Alternador de modo (Grupo %d)"
|
||||
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1822
|
||||
#: src/backends/meta-input-settings.c:2190
|
||||
msgid "Switch monitor"
|
||||
msgstr "Trocar monitor"
|
||||
|
||||
#: src/backends/meta-input-settings.c:1824
|
||||
#: src/backends/meta-input-settings.c:2192
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Mostrar ajuda na tela"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:675
|
||||
#: src/backends/meta-monitor-manager.c:908
|
||||
msgid "Built-in display"
|
||||
msgstr "Tela embutida"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:698
|
||||
#: src/backends/meta-monitor-manager.c:931
|
||||
msgid "Unknown"
|
||||
msgstr "Desconhecido"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:700
|
||||
#: src/backends/meta-monitor-manager.c:933
|
||||
msgid "Unknown Display"
|
||||
msgstr "Monitor desconhecido"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:708
|
||||
#: src/backends/meta-monitor-manager.c:941
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s de %s"
|
||||
|
||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||
#. * we have no way to get it to exit
|
||||
#: src/compositor/compositor.c:471
|
||||
#: src/compositor/compositor.c:476
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "Another compositing manager is already running on screen %i on display "
|
||||
#| "\"%s\"."
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display “%s”."
|
||||
msgstr "Outro compositor de janelas está em execução na tela %i na área “%s”."
|
||||
@ -300,35 +571,8 @@ msgstr "Outro compositor de janelas está em execução na tela %i na área “%
|
||||
msgid "Bell event"
|
||||
msgstr "Evento de som"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: src/core/delete.c:127
|
||||
#, c-format
|
||||
msgid "“%s” is not responding."
|
||||
msgstr "“%s” não está respondendo."
|
||||
|
||||
#: src/core/delete.c:129
|
||||
msgid "Application is not responding."
|
||||
msgstr "O aplicativo não está respondendo."
|
||||
|
||||
#: 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 ""
|
||||
"Você pode escolher aguardar um pouco e continuar ou forçar o aplicativo a "
|
||||
"sair completamente."
|
||||
|
||||
#: src/core/delete.c:141
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Forçar sair"
|
||||
|
||||
#: src/core/delete.c:141
|
||||
msgid "_Wait"
|
||||
msgstr "_Esperar"
|
||||
|
||||
#: src/core/display.c:608
|
||||
#, c-format
|
||||
#| msgid "Failed to open X Window System display '%s'\n"
|
||||
msgid "Failed to open X Window System display “%s”\n"
|
||||
msgstr "Falha ao abrir a exibição “%s” do sistema de janelas X\n"
|
||||
|
||||
@ -368,14 +612,34 @@ msgstr "Executar como um compositor aninhado"
|
||||
msgid "Run as a full display server, rather than nested"
|
||||
msgstr "Executar como um servidor de tela cheia, ao invés de aninhado"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: src/core/meta-close-dialog-default.c:147
|
||||
#, c-format
|
||||
msgid "“%s” is not responding."
|
||||
msgstr "“%s” não está respondendo."
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:149
|
||||
msgid "Application is not responding."
|
||||
msgstr "O aplicativo não está respondendo."
|
||||
|
||||
#: 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 ""
|
||||
"Você pode escolher aguardar um pouco e continuar ou forçar o aplicativo a "
|
||||
"sair completamente."
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:161
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Forçar sair"
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:161
|
||||
msgid "_Wait"
|
||||
msgstr "_Esperar"
|
||||
|
||||
#: src/core/mutter.c:39
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "mutter %s\n"
|
||||
#| "Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
|
||||
#| "This is free software; see the source for copying conditions.\n"
|
||||
#| "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
|
||||
#| "PARTICULAR PURPOSE.\n"
|
||||
msgid ""
|
||||
"mutter %s\n"
|
||||
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
|
||||
@ -403,11 +667,8 @@ msgstr "Plug-in do Mutter para usar"
|
||||
msgid "Workspace %d"
|
||||
msgstr "Espaço de trabalho %d"
|
||||
|
||||
#: src/core/screen.c:580
|
||||
#: src/core/screen.c:583
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "Display \"%s\" already has a window manager; try using the --replace "
|
||||
#| "option to replace the current window manager."
|
||||
msgid ""
|
||||
"Display “%s” already has a window manager; try using the --replace option to "
|
||||
"replace the current window manager."
|
||||
@ -415,9 +676,8 @@ msgstr ""
|
||||
"A exibição “%s” já possui um gerenciador de janelas; tente usar a opção --"
|
||||
"replace para substituir o gerenciador de janelas atual."
|
||||
|
||||
#: src/core/screen.c:665
|
||||
#: src/core/screen.c:668
|
||||
#, c-format
|
||||
#| msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgid "Screen %d on display “%s” is invalid\n"
|
||||
msgstr "A tela %d na exibição “%s” é inválida\n"
|
||||
|
||||
@ -431,9 +691,6 @@ msgid "Mode Switch: Mode %d"
|
||||
msgstr "Alternador de modo: Modo %d"
|
||||
|
||||
#: src/x11/session.c:1815
|
||||
#| msgid ""
|
||||
#| "These windows do not support "save current setup" and will have "
|
||||
#| "to be restarted manually next time you log in."
|
||||
msgid ""
|
||||
"These windows do not support “save current setup” and will have to be "
|
||||
"restarted manually next time you log in."
|
||||
@ -446,191 +703,6 @@ msgstr ""
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (em %s)"
|
||||
|
||||
#~ msgid "Navigation"
|
||||
#~ msgstr "Navegação"
|
||||
|
||||
#~ msgid "Move window to workspace 1"
|
||||
#~ msgstr "Mover a janela para o espaço de trabalho 1"
|
||||
|
||||
#~ msgid "Move window to workspace 2"
|
||||
#~ msgstr "Mover a janela para o espaço de trabalho 2"
|
||||
|
||||
#~ msgid "Move window to workspace 3"
|
||||
#~ msgstr "Mover a janela para o espaço de trabalho 3"
|
||||
|
||||
#~ msgid "Move window to workspace 4"
|
||||
#~ msgstr "Mover a janela para o espaço de trabalho 4"
|
||||
|
||||
#~ msgid "Move window to last workspace"
|
||||
#~ msgstr "Mover a janela para o último espaço de trabalho"
|
||||
|
||||
#~ msgid "Move window one workspace to the left"
|
||||
#~ msgstr "Mover a janela um espaço de trabalho à esquerda"
|
||||
|
||||
#~ msgid "Move window one workspace to the right"
|
||||
#~ msgstr "Mover a janela um espaço de trabalho à direita"
|
||||
|
||||
#~ msgid "Move window one workspace up"
|
||||
#~ msgstr "Mover a janela um espaço de trabalho acima"
|
||||
|
||||
#~ msgid "Move window one workspace down"
|
||||
#~ msgstr "Mover a janela um espaço de trabalho abaixo"
|
||||
|
||||
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
|
||||
#~ msgid "Move window one monitor to the left"
|
||||
#~ msgstr "Mover janela para o monitor da esquerda"
|
||||
|
||||
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
|
||||
#~ msgid "Move window one monitor to the right"
|
||||
#~ msgstr "Mover janela para o monitor da direita"
|
||||
|
||||
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
|
||||
#~ msgid "Move window one monitor up"
|
||||
#~ msgstr "Mover janela para o monitor acima"
|
||||
|
||||
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
|
||||
#~ msgid "Move window one monitor down"
|
||||
#~ msgstr "Mover janela para o monitor abaixo"
|
||||
|
||||
#~ msgid "Switch applications"
|
||||
#~ msgstr "Alternar aplicativos"
|
||||
|
||||
#~ msgid "Switch to previous application"
|
||||
#~ msgstr "Alternar para o aplicativo anterior"
|
||||
|
||||
#~ msgid "Switch windows"
|
||||
#~ msgstr "Alternar janelas"
|
||||
|
||||
#~ msgid "Switch to previous window"
|
||||
#~ msgstr "Alternar para a janela anterior"
|
||||
|
||||
#~ msgid "Switch windows of an application"
|
||||
#~ msgstr "Alternar as janelas de um aplicativo"
|
||||
|
||||
#~ msgid "Switch to previous window of an application"
|
||||
#~ msgstr "Alternar para a janela anterior de um aplicativo"
|
||||
|
||||
#~| msgid "Switch system controls directly"
|
||||
#~ msgid "Switch system controls"
|
||||
#~ msgstr "Alternar controles do sistema"
|
||||
|
||||
#~ msgid "Switch to previous system control"
|
||||
#~ msgstr "Alternar para o controle de sistema anterior"
|
||||
|
||||
#~ msgid "Switch windows directly"
|
||||
#~ msgstr "Alternar as janelas diretamente"
|
||||
|
||||
#~ msgid "Switch directly to previous window"
|
||||
#~ msgstr "Alternar diretamente para a janela anterior"
|
||||
|
||||
#~ msgid "Switch windows of an app directly"
|
||||
#~ msgstr "Alternar as janelas de um aplicativo diretamente"
|
||||
|
||||
#~ msgid "Switch directly to previous window of an app"
|
||||
#~ msgstr "Alternar diretamente para a janela anterior de um aplicativo"
|
||||
|
||||
#~ msgid "Switch system controls directly"
|
||||
#~ msgstr "Alternar os controles de sistema diretamente"
|
||||
|
||||
#~ msgid "Switch directly to previous system control"
|
||||
#~ msgstr "Alternar diretamente para o controle de sistema anterior"
|
||||
|
||||
#~ msgid "Hide all normal windows"
|
||||
#~ msgstr "Ocultar todas as janelas normais"
|
||||
|
||||
#~ msgid "Switch to workspace 1"
|
||||
#~ msgstr "Trocar para o espaço de trabalho 1"
|
||||
|
||||
#~ msgid "Switch to workspace 2"
|
||||
#~ msgstr "Trocar para o espaço de trabalho 2"
|
||||
|
||||
#~ msgid "Switch to workspace 3"
|
||||
#~ msgstr "Trocar para o espaço de trabalho 3"
|
||||
|
||||
#~ msgid "Switch to workspace 4"
|
||||
#~ msgstr "Trocar para o espaço de trabalho 4"
|
||||
|
||||
#~ msgid "Switch to last workspace"
|
||||
#~ msgstr "Trocar para o último espaço de trabalho"
|
||||
|
||||
#~ msgid "Move to workspace left"
|
||||
#~ msgstr "Move para o espaço de trabalho à esquerda"
|
||||
|
||||
#~ msgid "Move to workspace right"
|
||||
#~ msgstr "Move para o espaço de trabalho à direita"
|
||||
|
||||
#~ msgid "Move to workspace above"
|
||||
#~ msgstr "Mover para o espaço de trabalho acima"
|
||||
|
||||
#~ msgid "Move to workspace below"
|
||||
#~ msgstr "Mover para o espaço de trabalho abaixo"
|
||||
|
||||
#~ msgid "System"
|
||||
#~ msgstr "Sistema"
|
||||
|
||||
#~ msgid "Show the run command prompt"
|
||||
#~ msgstr "Mostrar o prompt de comando de execução"
|
||||
|
||||
#~ msgid "Show the activities overview"
|
||||
#~ msgstr "Mostrar o panorama de atividades"
|
||||
|
||||
#~ msgid "Windows"
|
||||
#~ msgstr "Janelas"
|
||||
|
||||
#~ msgid "Activate the window menu"
|
||||
#~ msgstr "Ativar o menu da janela"
|
||||
|
||||
#~ msgid "Toggle fullscreen mode"
|
||||
#~ msgstr "Alternar modo de tela inteira"
|
||||
|
||||
#~ msgid "Toggle maximization state"
|
||||
#~ msgstr "Alternar estado de maximização"
|
||||
|
||||
#~ msgid "Maximize window"
|
||||
#~ msgstr "Maximizar a janela"
|
||||
|
||||
#~ msgid "Restore window"
|
||||
#~ msgstr "Restaurar janela"
|
||||
|
||||
#~ msgid "Toggle shaded state"
|
||||
#~ msgstr "Alternar estado sombreado"
|
||||
|
||||
#~ msgid "Close window"
|
||||
#~ msgstr "Fechar janela"
|
||||
|
||||
#~ msgid "Hide window"
|
||||
#~ msgstr "Ocultar janela"
|
||||
|
||||
#~ msgid "Move window"
|
||||
#~ msgstr "Mover janela"
|
||||
|
||||
#~ msgid "Resize window"
|
||||
#~ msgstr "Redimensionar janela"
|
||||
|
||||
#~ msgid "Toggle window on all workspaces or one"
|
||||
#~ msgstr "Alternar a janela em todos os espaços de trabalho ou em apenas um"
|
||||
|
||||
#~ msgid "Raise window if covered, otherwise lower it"
|
||||
#~ msgstr "Elevar a janela se estiver coberta; caso contrário, a abaixa"
|
||||
|
||||
#~ msgid "Raise window above other windows"
|
||||
#~ msgstr "Elevar a janela para frente das outras"
|
||||
|
||||
#~ msgid "Lower window below other windows"
|
||||
#~ msgstr "Colocar a janela atrás das outras"
|
||||
|
||||
#~ msgid "Maximize window vertically"
|
||||
#~ msgstr "Maximizar a janela verticalmente"
|
||||
|
||||
#~ msgid "Maximize window horizontally"
|
||||
#~ msgstr "Maximizar a janela horizontalmente"
|
||||
|
||||
#~ msgid "View split on left"
|
||||
#~ msgstr "Visualizar divisão à esquerda"
|
||||
|
||||
#~ msgid "View split on right"
|
||||
#~ msgstr "Visualizar divisão à direita"
|
||||
|
||||
#~ msgid "background texture could not be created from file"
|
||||
#~ msgstr "textura de plano de fundo não pôde ser criado de arquivo"
|
||||
|
||||
|
62
po/sl.po
62
po/sl.po
@ -11,8 +11,8 @@ msgstr ""
|
||||
"Project-Id-Version: mutter master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-08-07 10:01+0200\n"
|
||||
"PO-Revision-Date: 2017-08-07 10:02+0200\n"
|
||||
"POT-Creation-Date: 2017-09-08 11:30+0200\n"
|
||||
"PO-Revision-Date: 2017-09-08 11:36+0200\n"
|
||||
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
|
||||
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
|
||||
"Language: sl_SI\n"
|
||||
@ -409,40 +409,38 @@ msgid ""
|
||||
"Whether the feature requires restarting the compositor depends on the given "
|
||||
"feature. Any experimental feature is not required to still be available, or "
|
||||
"configurable. Don’t 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."
|
||||
"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 ""
|
||||
"Za omogočanje preizkusnih možnosti, dodajte ključno besedo možnosti na "
|
||||
"seznam. Ali zahteva možnost ponovni zagon sestavljalnika, je odvisno od "
|
||||
"posamezne možnosti. Te možnosti niso zahtevane niti nastavljive. Trenutno so "
|
||||
"na voljo ključne besede: • »monitor-config-manager« – uporablja nov sistem "
|
||||
"nastavitev, ki naj bi zamenjal obstoječega. Omogoča večjo nastavljivost API, "
|
||||
"za uporabo pri prigramih za nastavitve lastnosti zaslona. • »scale-monitor-"
|
||||
"framebuffer« – določi privzeto rabo sistema mutter za logične zaslone v "
|
||||
"logičnem točkovnem koordinatnem prostoru, pri čemer prilagaja predpomnilnik "
|
||||
"in ne vsebine za upravljanje z zasloni HiDPI. Možnost ne zahteva ponovnega "
|
||||
"zagona. Za omogočanje te možnosti, mora biti omogočena tudi možnost »monitor-"
|
||||
"config-manager«."
|
||||
"Za omogočanje preizkusnih možnosti, dodajte na seznam ključne besedo "
|
||||
"možnosti. Ali vpisana možnost zahteva ponovni zagon sestavljalnika, je "
|
||||
"odvisno od posamezne možnosti. Te možnosti niso zahtevane niti nastavljive. "
|
||||
"Trenutno so na voljo ključne besede: • »scale-monitor-framebuffer« – določi "
|
||||
"privzeto rabo sistema mutter za logične zaslone v logičnem točkovnem "
|
||||
"koordinatnem prostoru, pri čemer prilagaja predpomnilnik in ne vsebine za "
|
||||
"upravljanje z zasloni HiDPI. Možnost ne zahteva ponovnega zagona. • »remote-"
|
||||
"desktop« – omogoči podporo oddaljenim namizjem. Za souporabo zaslona mora "
|
||||
"biti omogočena tudi možnost »screen-cast«. • »screen-cast« – omogoči podporo "
|
||||
"objavljanja na zaslon."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:151
|
||||
#: data/org.gnome.mutter.gschema.xml.in:145
|
||||
msgid "Select window from tab popup"
|
||||
msgstr "Izbor okna iz pojavnega zavihka"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:156
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
msgstr "Prekliči pojavni zavihek"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:161
|
||||
#: data/org.gnome.mutter.gschema.xml.in:155
|
||||
msgid "Switch monitor configurations"
|
||||
msgstr "Nastavitve nadzornika preklopa"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:166
|
||||
#: data/org.gnome.mutter.gschema.xml.in:160
|
||||
msgid "Rotates the built-in monitor configuration"
|
||||
msgstr "Zavrti vgrajene nastavitve zaslona"
|
||||
|
||||
@ -501,7 +499,7 @@ msgstr "Ponovno omogoči tipkovne bližnjice"
|
||||
#. TRANSLATORS: This string refers to a button that switches between
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2118
|
||||
#: src/backends/meta-input-settings.c:2151
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "Preklop načina (skupina %d)"
|
||||
@ -509,30 +507,30 @@ msgstr "Preklop načina (skupina %d)"
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2141
|
||||
#: src/backends/meta-input-settings.c:2174
|
||||
msgid "Switch monitor"
|
||||
msgstr "Nadzornik preklopa"
|
||||
|
||||
#: src/backends/meta-input-settings.c:2143
|
||||
#: src/backends/meta-input-settings.c:2176
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Pokaži zaslonsko pomoč"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:927
|
||||
#: src/backends/meta-monitor-manager.c:903
|
||||
msgid "Built-in display"
|
||||
msgstr "Vgrajen zaslon"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:950
|
||||
#: src/backends/meta-monitor-manager.c:926
|
||||
msgid "Unknown"
|
||||
msgstr "Neznano"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:952
|
||||
#: src/backends/meta-monitor-manager.c:928
|
||||
msgid "Unknown Display"
|
||||
msgstr "Neznan zaslon"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:960
|
||||
#: src/backends/meta-monitor-manager.c:936
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
|
86
po/sr.po
86
po/sr.po
@ -9,19 +9,20 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: mutter\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=mutter"
|
||||
"&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-08-13 15:47+0000\n"
|
||||
"PO-Revision-Date: 2017-08-15 20:40+0200\n"
|
||||
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-08-29 16:09+0000\n"
|
||||
"PO-Revision-Date: 2017-08-29 20:46+0200\n"
|
||||
"Last-Translator: Марко М. Костић <marko.m.kostic@gmail.com>\n"
|
||||
"Language-Team: српски <gnome-sr@googlegroups.org>\n"
|
||||
"Language: sr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : "
|
||||
"n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n"
|
||||
"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
"X-Generator: Poedit 2.0.3\n"
|
||||
|
||||
#: data/50-mutter-navigation.xml:6
|
||||
msgid "Navigation"
|
||||
@ -181,7 +182,7 @@ msgstr "Систем"
|
||||
|
||||
#: data/50-mutter-system.xml:8
|
||||
msgid "Show the run command prompt"
|
||||
msgstr "Приказује промпт за покретање наредбе"
|
||||
msgstr "Приказује упит за извршавање наредбе"
|
||||
|
||||
#: data/50-mutter-system.xml:10
|
||||
msgid "Show the activities overview"
|
||||
@ -197,11 +198,11 @@ msgstr "Активира мени прозора"
|
||||
|
||||
#: data/50-mutter-windows.xml:10
|
||||
msgid "Toggle fullscreen mode"
|
||||
msgstr "Искључује/укључује приказ преко целог екрана"
|
||||
msgstr "Искључује или укључује приказ преко целог екрана"
|
||||
|
||||
#: data/50-mutter-windows.xml:12
|
||||
msgid "Toggle maximization state"
|
||||
msgstr "Искључује/укључује стање увећања"
|
||||
msgstr "Искључује или укључује стање увећања"
|
||||
|
||||
#: data/50-mutter-windows.xml:14
|
||||
msgid "Maximize window"
|
||||
@ -213,7 +214,7 @@ msgstr "Враћа величину прозора"
|
||||
|
||||
#: data/50-mutter-windows.xml:18
|
||||
msgid "Toggle shaded state"
|
||||
msgstr "Искључује/укључује стање засенчености"
|
||||
msgstr "Искључује или укључује стање засенчености"
|
||||
|
||||
#: data/50-mutter-windows.xml:20
|
||||
msgid "Close window"
|
||||
@ -410,43 +411,40 @@ msgid ""
|
||||
"Whether the feature requires restarting the compositor depends on the given "
|
||||
"feature. Any experimental feature is not required to still be available, or "
|
||||
"configurable. Don’t 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."
|
||||
"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 ""
|
||||
"Да укључите експерименталне функције, додајте кључну реч функције на списак. "
|
||||
"Да ли функција захтева поновно покретање састављача зависи од дате функције. "
|
||||
"Није потребно да нека експериментална функција буде и даље доступна или "
|
||||
"подесива. Немојте очекивати да додавање било чега у овом подешавању буде "
|
||||
"будући доказ. Тренутно могуће кључне речи су: • „monitor-config-manager“ — "
|
||||
"користи нови систем подешавања монитора, који треба да замени стари. Ово "
|
||||
"омогућава да АПИ подешавања вишег нивоа буде коришћен програмима подешавања, "
|
||||
"као и могућност подешавања скале монитора на нивоу логике. • „scale-monitor-"
|
||||
"framebuffer“ — чини да матер пређе на распоред логичких монитора у логичком "
|
||||
"координатном простору пиксела, док врши сразмеравање оквира монитора уместо "
|
||||
"садржаја прозора, за управљање ХиДПИ мониторима. Не захтева поновно "
|
||||
"покретање. Такође је потребно укључити „monitor-config-manager“ да би ова "
|
||||
"функција била укључена."
|
||||
"Да укључите пробне функције, додајте кључну реч функције на списак. Да ли "
|
||||
"функција захтева поновно покретање састављача зависи од дате функције. Није "
|
||||
"потребно да нека пробна могућност буде и даље доступна или подесива. Немојте "
|
||||
"очекивати да додавање било чега у овом подешавању буде отпорно на будуће "
|
||||
"измене. Тренутно могуће кључне речи су: • „scale-monitor-framebuffer“ — чини "
|
||||
"да матер подразумевано распоређује логичке екране у логичком координантном "
|
||||
"простору пиксела, приликом промене величине спремишта кадрова екрана уместо "
|
||||
"садржаја прозора, зарад управљања екранима високе резолуције. Не захтева "
|
||||
"поновно покретање. • “remote-desktop” — омогућава удаљену техничку подршку. "
|
||||
"Да бисте подржали удаљену техничку подршку са дељењем екрана, “screen-cast” "
|
||||
"такође мора бити омогућен. • “screen-cast” — омогућава подршку за "
|
||||
"пројектовање екрана."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:151
|
||||
#: data/org.gnome.mutter.gschema.xml.in:145
|
||||
msgid "Select window from tab popup"
|
||||
msgstr "Бира прозор из језичка искакања"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:156
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
msgstr "Отказивање језичка искакања"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:161
|
||||
#| msgid "Switch monitor"
|
||||
#: data/org.gnome.mutter.gschema.xml.in:155
|
||||
msgid "Switch monitor configurations"
|
||||
msgstr "Мења подешавања монитора"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:166
|
||||
#: data/org.gnome.mutter.gschema.xml.in:160
|
||||
msgid "Rotates the built-in monitor configuration"
|
||||
msgstr "Заокреће уграђена подешавања монитора"
|
||||
|
||||
@ -505,7 +503,7 @@ msgstr "Поново укључивање пречица"
|
||||
#. TRANSLATORS: This string refers to a button that switches between
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2118
|
||||
#: src/backends/meta-input-settings.c:2151
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "Режим прекидача (група %d)"
|
||||
@ -513,30 +511,30 @@ msgstr "Режим прекидача (група %d)"
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2141
|
||||
#: src/backends/meta-input-settings.c:2174
|
||||
msgid "Switch monitor"
|
||||
msgstr "Промени монитор"
|
||||
|
||||
#: src/backends/meta-input-settings.c:2143
|
||||
#: src/backends/meta-input-settings.c:2176
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Прикажи помоћ на екрану"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:927
|
||||
#: src/backends/meta-monitor-manager.c:903
|
||||
msgid "Built-in display"
|
||||
msgstr "Уграђени дисплеј"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:950
|
||||
#: src/backends/meta-monitor-manager.c:926
|
||||
msgid "Unknown"
|
||||
msgstr "Непознато"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:952
|
||||
#: src/backends/meta-monitor-manager.c:928
|
||||
msgid "Unknown Display"
|
||||
msgstr "Непознат дисплеј"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:960
|
||||
#: src/backends/meta-monitor-manager.c:936
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
|
@ -9,19 +9,20 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: mutter\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=mutter"
|
||||
"&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-08-13 15:47+0000\n"
|
||||
"PO-Revision-Date: 2017-08-15 20:40+0200\n"
|
||||
"Last-Translator: Miroslav Nikolić <miroslavnikolic@rocketmail.com>\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-08-29 16:15+0000\n"
|
||||
"PO-Revision-Date: 2017-08-29 20:46+0200\n"
|
||||
"Last-Translator: Marko M. Kostić <marko.m.kostic@gmail.com>\n"
|
||||
"Language-Team: srpski <gnome-sr@googlegroups.org>\n"
|
||||
"Language: sr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : "
|
||||
"n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n"
|
||||
"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
"X-Generator: Poedit 2.0.3\n"
|
||||
|
||||
#: data/50-mutter-navigation.xml:6
|
||||
msgid "Navigation"
|
||||
@ -181,7 +182,7 @@ msgstr "Sistem"
|
||||
|
||||
#: data/50-mutter-system.xml:8
|
||||
msgid "Show the run command prompt"
|
||||
msgstr "Prikazuje prompt za pokretanje naredbe"
|
||||
msgstr "Prikazuje upit za izvršavanje naredbe"
|
||||
|
||||
#: data/50-mutter-system.xml:10
|
||||
msgid "Show the activities overview"
|
||||
@ -197,11 +198,11 @@ msgstr "Aktivira meni prozora"
|
||||
|
||||
#: data/50-mutter-windows.xml:10
|
||||
msgid "Toggle fullscreen mode"
|
||||
msgstr "Isključuje/uključuje prikaz preko celog ekrana"
|
||||
msgstr "Isključuje ili uključuje prikaz preko celog ekrana"
|
||||
|
||||
#: data/50-mutter-windows.xml:12
|
||||
msgid "Toggle maximization state"
|
||||
msgstr "Isključuje/uključuje stanje uvećanja"
|
||||
msgstr "Isključuje ili uključuje stanje uvećanja"
|
||||
|
||||
#: data/50-mutter-windows.xml:14
|
||||
msgid "Maximize window"
|
||||
@ -213,7 +214,7 @@ msgstr "Vraća veličinu prozora"
|
||||
|
||||
#: data/50-mutter-windows.xml:18
|
||||
msgid "Toggle shaded state"
|
||||
msgstr "Isključuje/uključuje stanje zasenčenosti"
|
||||
msgstr "Isključuje ili uključuje stanje zasenčenosti"
|
||||
|
||||
#: data/50-mutter-windows.xml:20
|
||||
msgid "Close window"
|
||||
@ -410,43 +411,40 @@ msgid ""
|
||||
"Whether the feature requires restarting the compositor depends on the given "
|
||||
"feature. Any experimental feature is not required to still be available, or "
|
||||
"configurable. Don’t 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."
|
||||
"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 ""
|
||||
"Da uključite eksperimentalne funkcije, dodajte ključnu reč funkcije na spisak. "
|
||||
"Da li funkcija zahteva ponovno pokretanje sastavljača zavisi od date funkcije. "
|
||||
"Nije potrebno da neka eksperimentalna funkcija bude i dalje dostupna ili "
|
||||
"podesiva. Nemojte očekivati da dodavanje bilo čega u ovom podešavanju bude "
|
||||
"budući dokaz. Trenutno moguće ključne reči su: • „monitor-config-manager“ — "
|
||||
"koristi novi sistem podešavanja monitora, koji treba da zameni stari. Ovo "
|
||||
"omogućava da API podešavanja višeg nivoa bude korišćen programima podešavanja, "
|
||||
"kao i mogućnost podešavanja skale monitora na nivou logike. • „scale-monitor-"
|
||||
"framebuffer“ — čini da mater pređe na raspored logičkih monitora u logičkom "
|
||||
"koordinatnom prostoru piksela, dok vrši srazmeravanje okvira monitora umesto "
|
||||
"sadržaja prozora, za upravljanje HiDPI monitorima. Ne zahteva ponovno "
|
||||
"pokretanje. Takođe je potrebno uključiti „monitor-config-manager“ da bi ova "
|
||||
"funkcija bila uključena."
|
||||
"Da uključite probne funkcije, dodajte ključnu reč funkcije na spisak. Da li "
|
||||
"funkcija zahteva ponovno pokretanje sastavljača zavisi od date funkcije. Nije "
|
||||
"potrebno da neka probna mogućnost bude i dalje dostupna ili podesiva. Nemojte "
|
||||
"očekivati da dodavanje bilo čega u ovom podešavanju bude otporno na buduće "
|
||||
"izmene. Trenutno moguće ključne reči su: • „scale-monitor-framebuffer“ — čini "
|
||||
"da mater podrazumevano raspoređuje logičke ekrane u logičkom koordinantnom "
|
||||
"prostoru piksela, prilikom promene veličine spremišta kadrova ekrana umesto "
|
||||
"sadržaja prozora, zarad upravljanja ekranima visoke rezolucije. Ne zahteva "
|
||||
"ponovno pokretanje. • “remote-desktop” — omogućava udaljenu tehničku podršku. "
|
||||
"Da biste podržali udaljenu tehničku podršku sa deljenjem ekrana, “screen-cast” "
|
||||
"takođe mora biti omogućen. • “screen-cast” — omogućava podršku za "
|
||||
"projektovanje ekrana."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:151
|
||||
#: data/org.gnome.mutter.gschema.xml.in:145
|
||||
msgid "Select window from tab popup"
|
||||
msgstr "Bira prozor iz jezička iskakanja"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:156
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
msgstr "Otkazivanje jezička iskakanja"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:161
|
||||
#| msgid "Switch monitor"
|
||||
#: data/org.gnome.mutter.gschema.xml.in:155
|
||||
msgid "Switch monitor configurations"
|
||||
msgstr "Menja podešavanja monitora"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:166
|
||||
#: data/org.gnome.mutter.gschema.xml.in:160
|
||||
msgid "Rotates the built-in monitor configuration"
|
||||
msgstr "Zaokreće ugrađena podešavanja monitora"
|
||||
|
||||
@ -505,7 +503,7 @@ msgstr "Ponovo uključivanje prečica"
|
||||
#. TRANSLATORS: This string refers to a button that switches between
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2118
|
||||
#: src/backends/meta-input-settings.c:2151
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "Režim prekidača (grupa %d)"
|
||||
@ -513,30 +511,30 @@ msgstr "Režim prekidača (grupa %d)"
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2141
|
||||
#: src/backends/meta-input-settings.c:2174
|
||||
msgid "Switch monitor"
|
||||
msgstr "Promeni monitor"
|
||||
|
||||
#: src/backends/meta-input-settings.c:2143
|
||||
#: src/backends/meta-input-settings.c:2176
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Prikaži pomoć na ekranu"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:927
|
||||
#: src/backends/meta-monitor-manager.c:903
|
||||
msgid "Built-in display"
|
||||
msgstr "Ugrađeni displej"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:950
|
||||
#: src/backends/meta-monitor-manager.c:926
|
||||
msgid "Unknown"
|
||||
msgstr "Nepoznato"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:952
|
||||
#: src/backends/meta-monitor-manager.c:928
|
||||
msgid "Unknown Display"
|
||||
msgstr "Nepoznat displej"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:960
|
||||
#: src/backends/meta-monitor-manager.c:936
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
|
134
po/sv.po
134
po/sv.po
@ -9,17 +9,17 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"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"
|
||||
"POT-Creation-Date: 2017-02-16 21:09+0000\n"
|
||||
"PO-Revision-Date: 2017-02-21 01:20+0100\n"
|
||||
"POT-Creation-Date: 2017-11-10 18:18+0000\n"
|
||||
"PO-Revision-Date: 2017-11-14 00:43+0100\n"
|
||||
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
|
||||
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
|
||||
"Language: sv\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.8.11\n"
|
||||
"X-Generator: Poedit 2.0.4\n"
|
||||
|
||||
#: data/50-mutter-navigation.xml:6
|
||||
msgid "Navigation"
|
||||
@ -173,7 +173,7 @@ msgstr "Flytta till arbetsyta ovanför"
|
||||
msgid "Move to workspace below"
|
||||
msgstr "Flytta till arbetsyta nedanför"
|
||||
|
||||
#: data/50-mutter-system.xml:6
|
||||
#: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
|
||||
msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
@ -185,6 +185,10 @@ msgstr "Visa Kör kommando-dialogen"
|
||||
msgid "Show the activities overview"
|
||||
msgstr "Visa aktivitetsöversikt"
|
||||
|
||||
#: data/50-mutter-wayland.xml:8
|
||||
msgid "Restore the keyboard shortcuts"
|
||||
msgstr "Återställ tangentbordsgenvägarna"
|
||||
|
||||
#: data/50-mutter-windows.xml:6
|
||||
msgid "Windows"
|
||||
msgstr "Fönster"
|
||||
@ -397,14 +401,54 @@ msgstr ""
|
||||
"När satt till \"true\", kommer nya fönster alltid att placeras centrerat på "
|
||||
"den aktiva skärmen."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:120
|
||||
#: data/org.gnome.mutter.gschema.xml.in:107
|
||||
msgid "Enable experimental features"
|
||||
msgstr "Aktivera experimentella funktioner"
|
||||
|
||||
#: 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. Don’t 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 ""
|
||||
"För att aktivera experimentella funktioner, lägg till funktionens nyckelord "
|
||||
"till listan. Huruvida funktionen kräver att kompositionshanteraren startas "
|
||||
"om beror på den angivna funktionen. En experimentell funktion har inget krav "
|
||||
"på sig att fortfarande vara tillgänglig eller konfigurerbar. Förvänta dig "
|
||||
"inte att något som läggs till i denna inställning garanterat kommer att "
|
||||
"fungera i framtiden. För närvarande möjliga nyckelord: • ”scale-monitor-"
|
||||
"framebuffer” — gör så att mutter som standard använder en layout med logiska "
|
||||
"skärmar i en rymd av logiska bildpunktskoordinater, medan skärmars "
|
||||
"rambuffert skalas i stället för fönsterinnehållet, för att hantera HiDPI-"
|
||||
"skärmar. Kräver inte en omstart. • ”remote-desktop” — aktiverar stöd för "
|
||||
"fjärrskrivbord. För stöd för fjärrskrivbord med skärmdelning måste “screen-"
|
||||
"cast” också vara aktiverat. • “screen-cast” — aktiverar stöd för "
|
||||
"skärminspelning."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:145
|
||||
msgid "Select window from tab popup"
|
||||
msgstr "Välj fönster från flik-popup"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:125
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
msgstr "Avbryt flik-popup"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:155
|
||||
msgid "Switch monitor configurations"
|
||||
msgstr "Växla skärmkonfiguration"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:160
|
||||
msgid "Rotates the built-in monitor configuration"
|
||||
msgstr "Roterar den inbyggda skärmkonfigurationen"
|
||||
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:6
|
||||
msgid "Switch to VT 1"
|
||||
msgstr "Växla till VT 1"
|
||||
@ -453,10 +497,14 @@ msgstr "Växla till VT 11"
|
||||
msgid "Switch to VT 12"
|
||||
msgstr "Växla till VT 12"
|
||||
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:54
|
||||
msgid "Re-enable shortcuts"
|
||||
msgstr "Återaktivera genvägar"
|
||||
|
||||
#. TRANSLATORS: This string refers to a button that switches between
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1800
|
||||
#: src/backends/meta-input-settings.c:2167
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "Lägesväxel (grupp %d)"
|
||||
@ -464,37 +512,37 @@ msgstr "Lägesväxel (grupp %d)"
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1822
|
||||
#: src/backends/meta-input-settings.c:2190
|
||||
msgid "Switch monitor"
|
||||
msgstr "Växla skärm"
|
||||
|
||||
#: src/backends/meta-input-settings.c:1824
|
||||
#: src/backends/meta-input-settings.c:2192
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Visa hjälp på skärmen"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:675
|
||||
#: src/backends/meta-monitor-manager.c:908
|
||||
msgid "Built-in display"
|
||||
msgstr "Inbyggd display"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:698
|
||||
#: src/backends/meta-monitor-manager.c:931
|
||||
msgid "Unknown"
|
||||
msgstr "Okänd"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:700
|
||||
#: src/backends/meta-monitor-manager.c:933
|
||||
msgid "Unknown Display"
|
||||
msgstr "Okänd display"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:708
|
||||
#: src/backends/meta-monitor-manager.c:941
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
|
||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||
#. * we have no way to get it to exit
|
||||
#: src/compositor/compositor.c:471
|
||||
#: src/compositor/compositor.c:476
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display “%s”."
|
||||
@ -504,32 +552,6 @@ msgstr "En annan kompositionshanterare körs redan på skärm %i på display ”
|
||||
msgid "Bell event"
|
||||
msgstr "Ljudsignalhändelse"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: src/core/delete.c:127
|
||||
#, c-format
|
||||
msgid "“%s” is not responding."
|
||||
msgstr "”%s” svarar inte."
|
||||
|
||||
#: src/core/delete.c:129
|
||||
msgid "Application is not responding."
|
||||
msgstr "Programmet svarar inte."
|
||||
|
||||
#: 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 välja att vänta en kort stund på det för att fortsätta eller tvinga "
|
||||
"programmet att helt avslutas."
|
||||
|
||||
#: src/core/delete.c:141
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Tvinga avslut"
|
||||
|
||||
#: src/core/delete.c:141
|
||||
msgid "_Wait"
|
||||
msgstr "_Vänta"
|
||||
|
||||
#: src/core/display.c:608
|
||||
#, c-format
|
||||
msgid "Failed to open X Window System display “%s”\n"
|
||||
@ -571,6 +593,32 @@ msgstr "Kör som en nästlad kompositionshanterare"
|
||||
msgid "Run as a full display server, rather than nested"
|
||||
msgstr "Kör som en full display-tjänst, i stället för nästlad"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: src/core/meta-close-dialog-default.c:147
|
||||
#, c-format
|
||||
msgid "“%s” is not responding."
|
||||
msgstr "”%s” svarar inte."
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:149
|
||||
msgid "Application is not responding."
|
||||
msgstr "Programmet svarar inte."
|
||||
|
||||
#: 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 välja att vänta en kort stund på det för att fortsätta eller tvinga "
|
||||
"programmet att helt avslutas."
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:161
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Tvinga avslut"
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:161
|
||||
msgid "_Wait"
|
||||
msgstr "_Vänta"
|
||||
|
||||
#: src/core/mutter.c:39
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -599,7 +647,7 @@ msgstr "Mutter-insticksmodul att använda"
|
||||
msgid "Workspace %d"
|
||||
msgstr "Arbetsyta %d"
|
||||
|
||||
#: src/core/screen.c:580
|
||||
#: src/core/screen.c:583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Display “%s” already has a window manager; try using the --replace option to "
|
||||
@ -608,7 +656,7 @@ msgstr ""
|
||||
"Display ”%s” har redan en fönsterhanterare; försök med flaggan --replace för "
|
||||
"att ersätta den aktuella fönsterhanteraren."
|
||||
|
||||
#: src/core/screen.c:665
|
||||
#: src/core/screen.c:668
|
||||
#, c-format
|
||||
msgid "Screen %d on display “%s” is invalid\n"
|
||||
msgstr "Skärm %d på display ”%s” är ogiltig\n"
|
||||
|
80
po/tr.po
80
po/tr.po
@ -15,10 +15,10 @@ msgstr ""
|
||||
"Project-Id-Version: mutter master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-08-13 15:47+0000\n"
|
||||
"PO-Revision-Date: 2017-08-13 18:55+0300\n"
|
||||
"POT-Creation-Date: 2017-11-10 18:18+0000\n"
|
||||
"PO-Revision-Date: 2017-11-15 23:49+0300\n"
|
||||
"Last-Translator: Muhammet Kara <muhammetk@gmail.com>\n"
|
||||
"Language-Team: Turkish <gnometurk@gnome.org>\n"
|
||||
"Language-Team: Türkçe <gnome-turk@gnome.org>\n"
|
||||
"Language: tr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@ -179,7 +179,7 @@ msgstr "Üstteki çalışma alanına taşı"
|
||||
msgid "Move to workspace below"
|
||||
msgstr "Alttaki çalışma alanına taşı"
|
||||
|
||||
#: data/50-mutter-system.xml:6
|
||||
#: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6
|
||||
msgid "System"
|
||||
msgstr "Sistem"
|
||||
|
||||
@ -191,6 +191,10 @@ msgstr "Komut çalıştırma istemini göster"
|
||||
msgid "Show the activities overview"
|
||||
msgstr "Etkinlik genel görünümünü göster"
|
||||
|
||||
#: data/50-mutter-wayland.xml:8
|
||||
msgid "Restore the keyboard shortcuts"
|
||||
msgstr "Klavye kısayollarını geri yükle"
|
||||
|
||||
#: data/50-mutter-windows.xml:6
|
||||
msgid "Windows"
|
||||
msgstr "Pencereler"
|
||||
@ -386,15 +390,15 @@ msgstr ""
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:89
|
||||
msgid "Auto maximize nearly monitor sized windows"
|
||||
msgstr "Ekran boyutuna yakın pencereleri otomatik ekranı kaplat"
|
||||
msgstr "Ekran boyutuna yakın pencereleri kendiliğinden ekranı kaplattır"
|
||||
|
||||
#: 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 ""
|
||||
"Etkinleştirildiğinde ekran boyutunda başlayan yeni pencereler otomatik "
|
||||
"olarak ekranı kaplar."
|
||||
"Etkinleştirildiğinde ekran boyutunda başlayan yeni pencereler kendiliğinden "
|
||||
"ekranı kaplar."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:98
|
||||
msgid "Place new windows in the center"
|
||||
@ -418,14 +422,13 @@ msgid ""
|
||||
"Whether the feature requires restarting the compositor depends on the given "
|
||||
"feature. Any experimental feature is not required to still be available, or "
|
||||
"configurable. Don’t 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."
|
||||
"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 ""
|
||||
"Deneysel özellikleri etkinleştirmek için özelliğin anahtar sözcüğünü listeye "
|
||||
"ekleyin. Özelliğin yeniden başlatmayı gerektirip gerektirmeyeceği verilen "
|
||||
@ -435,26 +438,29 @@ msgstr ""
|
||||
"anda kullanılabilir anahtar sözcükler: • “monitor-config-manager” — "
|
||||
"eskisinin yerini alması amaçlanan yeni monitör yapılandırma sistemini "
|
||||
"kullan. Bu, yapılandırma uygulamaları tarafından kullanılmak üzere daha "
|
||||
"yüksek düzeyde bir yapılandırma API'sini etkinleştirir ve ayrıca mantıksal "
|
||||
"yüksek düzeyde bir yapılandırma API’sini etkinleştirir ve ayrıca mantıksal "
|
||||
"monitör ölçeğinde yapılandırma yapmaya olanak tanır.• “scale-monitor-"
|
||||
"framebuffer” — mutter’in HiDPI monitörleri yönetmesi için pencere içeriği "
|
||||
"yerine monitör çerçeve arabelleğini ölçeklendirirken, mantıksal monitörleri "
|
||||
"mantıksal piksel koordinat aralığına yerleştirmesini öntanımlı yapar."
|
||||
"mantıksal piksel koordinat aralığına yerleştirmesini öntanımlı yapar. "
|
||||
"Yeniden başlatma gerektirmez. • “remote-desktop” — uzak masaüstü desteğini "
|
||||
"etkinleştirir. Uzak masaüstünü ekran paylaşmayla desteklemek için “screen-"
|
||||
"cast” mutlaka etkinleştirilmelidir. • “screen-cast” — ekran kaydı desteğini "
|
||||
"etkinleştirir."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:151
|
||||
#: data/org.gnome.mutter.gschema.xml.in:145
|
||||
msgid "Select window from tab popup"
|
||||
msgstr "Pencereyi, sekme açılır penceresinden seç"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:156
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
msgstr "Sekmeyi yeni pencerede açmayı iptal et"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:161
|
||||
#: data/org.gnome.mutter.gschema.xml.in:155
|
||||
msgid "Switch monitor configurations"
|
||||
msgstr "Monitör yapılandırmaları arasında geçiş yap"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:166
|
||||
#| msgid "Switch monitor configurations"
|
||||
#: data/org.gnome.mutter.gschema.xml.in:160
|
||||
msgid "Rotates the built-in monitor configuration"
|
||||
msgstr "Yerleşik monitör yapılandırmaları arasında geçiş yapar"
|
||||
|
||||
@ -508,12 +514,12 @@ msgstr "VT 12’ye geç"
|
||||
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:54
|
||||
msgid "Re-enable shortcuts"
|
||||
msgstr ""
|
||||
msgstr "Kısayolları yeniden etkinleştir"
|
||||
|
||||
#. TRANSLATORS: This string refers to a button that switches between
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2118
|
||||
#: src/backends/meta-input-settings.c:2167
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "Kip anahtarı (Group %d)"
|
||||
@ -521,30 +527,30 @@ msgstr "Kip anahtarı (Group %d)"
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:2141
|
||||
#: src/backends/meta-input-settings.c:2190
|
||||
msgid "Switch monitor"
|
||||
msgstr "Monitör değiştir"
|
||||
|
||||
#: src/backends/meta-input-settings.c:2143
|
||||
#: src/backends/meta-input-settings.c:2192
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Ekranda yardımı göster"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:927
|
||||
#: src/backends/meta-monitor-manager.c:908
|
||||
msgid "Built-in display"
|
||||
msgstr "Yerleşik ekran"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:950
|
||||
#: src/backends/meta-monitor-manager.c:931
|
||||
msgid "Unknown"
|
||||
msgstr "Bilinmiyor"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:952
|
||||
#: src/backends/meta-monitor-manager.c:933
|
||||
msgid "Unknown Display"
|
||||
msgstr "Bilinmeyen Ekran"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:960
|
||||
#: src/backends/meta-monitor-manager.c:941
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
@ -612,19 +618,19 @@ msgstr "“%s” yanıt vermiyor."
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:149
|
||||
msgid "Application is not responding."
|
||||
msgstr "Uygulama cevap vermiyor"
|
||||
msgstr "Uygulama yanıt vermiyor"
|
||||
|
||||
#: 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 ""
|
||||
"Uygulamanın devam etmesi için bir müddet bekleyi seçebilirsiniz ya da "
|
||||
"uygulamanın tamamen çıkması için onu zorlayabilirsiniz."
|
||||
"Uygulamanın devam etmesi için bir süre beklemeyi seçebilir veya tümüyle "
|
||||
"çıkması için zorlayabilirsiniz."
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:161
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Sonlandır"
|
||||
msgstr "_Zorla Çık"
|
||||
|
||||
#: src/core/meta-close-dialog-default.c:161
|
||||
msgid "_Wait"
|
||||
@ -658,7 +664,7 @@ msgstr "Kullanılacak Mutter eklentisi"
|
||||
msgid "Workspace %d"
|
||||
msgstr "Çalışma Alanı %d"
|
||||
|
||||
#: src/core/screen.c:580
|
||||
#: src/core/screen.c:583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Display “%s” already has a window manager; try using the --replace option to "
|
||||
@ -668,7 +674,7 @@ msgstr ""
|
||||
"yöneticisinin yerine bir başkasını koymak için --replace seçeneğini "
|
||||
"kullanmayı deneyin."
|
||||
|
||||
#: src/core/screen.c:665
|
||||
#: src/core/screen.c:668
|
||||
#, c-format
|
||||
msgid "Screen %d on display “%s” is invalid\n"
|
||||
msgstr "“%2$s” monitöründeki %1$d ekranı geçersiz\n"
|
||||
@ -688,7 +694,7 @@ msgid ""
|
||||
"restarted manually next time you log in."
|
||||
msgstr ""
|
||||
"Bu pencereler, “geçerli ayarları kaydet” özelliğini desteklemiyor ve bir "
|
||||
"dahaki girişinizde elle yeniden başlatılmak zorunda."
|
||||
"dahaki girişinizde elle yeniden başlatılmak zorundadır."
|
||||
|
||||
#: src/x11/window-props.c:559
|
||||
#, c-format
|
||||
|
249
po/vi.po
249
po/vi.po
@ -3,15 +3,15 @@
|
||||
# This file is distributed under the same license as the Metacity package.
|
||||
# Nguyễn Thái Ngọc Duy <pclouds@gmail.com>, 2002-2004, 2007, 2008, 2011-2013.
|
||||
# Clytie Siddall <clytie@riverland.net.au>, 2005-2009.
|
||||
# Trần Ngọc Quân <vnwildman@gmail.com>, 2014, 2015, 2016.
|
||||
# Trần Ngọc Quân <vnwildman@gmail.com>, 2014, 2015, 2016, 2017.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: metacity 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"
|
||||
"POT-Creation-Date: 2016-09-08 21:37+0000\n"
|
||||
"PO-Revision-Date: 2016-09-09 08:14+0700\n"
|
||||
"POT-Creation-Date: 2017-09-07 15:44+0000\n"
|
||||
"PO-Revision-Date: 2017-09-09 08:26+0700\n"
|
||||
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
|
||||
"Language-Team: Vietnamese <gnome-vi-list@gnome.org>\n"
|
||||
"Language: vi\n"
|
||||
@ -59,7 +59,7 @@ msgstr "Chuyển cửa sổ lên một không gian làm việc"
|
||||
|
||||
#: data/50-mutter-navigation.xml:33
|
||||
msgid "Move window one workspace down"
|
||||
msgstr "Chuyển cửa sổ xuống vùng một làm việc"
|
||||
msgstr "Chuyển cửa sổ xuống một không gian làm việc"
|
||||
|
||||
#: data/50-mutter-navigation.xml:36
|
||||
msgid "Move window one monitor to the left"
|
||||
@ -271,14 +271,14 @@ msgstr "Phím bổ trợ dùng cho chức năng quản lý cửa sổ mở rộn
|
||||
|
||||
#: 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."
|
||||
"This key will initiate the “overlay”, which is a combination window overview "
|
||||
"and application launching system. The default is intended to be the “Windows "
|
||||
"key” on PC hardware. It’s expected that this binding either the default or "
|
||||
"set to the empty string."
|
||||
msgstr ""
|
||||
"Phím này kích hoạt \"overlay\", một tổ hợp tổng quát cửa sổ và hệ thống chạy "
|
||||
"ứng dụng. Mặc định là \"phím Windows\" trên phần cứng PC. Chứa một tổ hợp "
|
||||
"phím, hoặc mặc định, hoặc chuỗi rỗng."
|
||||
"Phím này khởi tạo “overlay”, nơi mà tổ hợp tổng quát cửa sổ và hệ thống chạy "
|
||||
"ứng dụng. Mặc định là \"phím Windows\" trên phần cứng PC. Nó được kỳ vọng "
|
||||
"rằng tổ hợp hoặc là mặc định, hoặc chuỗi rỗng."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:20
|
||||
msgid "Attach modal dialogs"
|
||||
@ -314,13 +314,13 @@ msgstr "Không gian làm việc được quản lý động"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:41
|
||||
msgid ""
|
||||
"Determines whether workspaces are managed dynamically or whether there's a "
|
||||
"Determines whether workspaces are managed dynamically or whether there’s a "
|
||||
"static number of workspaces (determined by the num-workspaces key in org."
|
||||
"gnome.desktop.wm.preferences)."
|
||||
msgstr ""
|
||||
"Xác định không gian làm việc được quản lý động, hay cố định số không gian "
|
||||
"làm việc, xác định bởi khóa num-workspaces trong org.gnome.desktop.wm."
|
||||
"preferences."
|
||||
"làm việc (xác định bởi khóa num-workspaces trong org.gnome.desktop.wm."
|
||||
"preferences)."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:50
|
||||
msgid "Workspaces only on primary"
|
||||
@ -350,13 +350,13 @@ msgstr "Khoảng chờ con trỏ dừng di chuyển trước khi thay đổi ti
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:69
|
||||
msgid ""
|
||||
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
|
||||
"the focus will not be changed immediately when entering a window, but only "
|
||||
"after the pointer stops moving."
|
||||
"If set to true, and the focus mode is either “sloppy” or “mouse” then the "
|
||||
"focus will not be changed immediately when entering a window, but only after "
|
||||
"the pointer stops moving."
|
||||
msgstr ""
|
||||
"Nếu bật, và chế độ tiêu điểm là \"sloppy\" hay \"mouse\" thì cửa sổ có tiêu "
|
||||
"điểm sẽ được thay đổi tức thì khi vào cửa sổ, nhưng chỉ sau khi chuột ngừng "
|
||||
"di chuyển."
|
||||
"Nếu bật, và chế độ kích hoạt là “sloppy” hay “mouse” thì sự kích hoạt sẽ "
|
||||
"không thay đổi tức thì khi vào cửa sổ, mà chỉ sau khi con trỏ ngừng di "
|
||||
"chuyển."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:79
|
||||
msgid "Draggable border width"
|
||||
@ -364,7 +364,7 @@ msgstr "Độ rộng biên có thể kéo"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:80
|
||||
msgid ""
|
||||
"The amount of total draggable borders. If the theme's visible borders are "
|
||||
"The amount of total draggable borders. If the theme’s visible borders are "
|
||||
"not enough, invisible borders will be added to meet this value."
|
||||
msgstr ""
|
||||
"Kích thước biên có thể kéo. Nếu biên thấy được của chủ đề không đủ, biên vô "
|
||||
@ -389,17 +389,55 @@ msgid ""
|
||||
"When true, the new windows will always be put in the center of the active "
|
||||
"screen of the monitor."
|
||||
msgstr ""
|
||||
"Nếu đúng, các cửa sổ mới sẽ luôn được đặt tại trung tâm của màn hình đang "
|
||||
"Nếu chọn, các cửa sổ mới sẽ luôn được đặt tại trung tâm của màn hình đang "
|
||||
"hoạt động của màn hình."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:120
|
||||
#: data/org.gnome.mutter.gschema.xml.in:107
|
||||
msgid "Enable experimental features"
|
||||
msgstr "Bật các tính băng thử nghiệm"
|
||||
|
||||
#: 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. Don’t 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 ""
|
||||
"Để bật các tính năng thử nghiệm, thêm các từ khóa tính năng vào danh sách. "
|
||||
"Việc tính năng mới có yêu cầu khởi động lại hay không là phụ thuộc vào tính "
|
||||
"năng đã cho. Bất kỳ tính năng thử nghiệp nào không được yêu cầu vẫn sẵn "
|
||||
"sàng, hoặc cấu hình được. Đừng cho rằng thêm bất kỳ thứ gì trong cài đặt này "
|
||||
"thử nghiệm trong tương lai. Các từ khóa hiện có thể là: • “scale-monitor-"
|
||||
"framebuffer” — làm cho mutter default to layout logical monitors trong một "
|
||||
"không gian tọa độ điểm ảnh lôgíc, trong khi while scaling monitor "
|
||||
"framebuffers instead of window content, để quản lý các màn hình HiDPI. Không "
|
||||
"yêu cầu khởi động lại. • “remote-desktop” — cho phép điều khiển màn hình từ "
|
||||
"xa. Để hỗ trợ điều khiển màn hình từ xa bằng cách chia sẻ màn hình, “screen-"
|
||||
"cast” cũng phải được bật. • “screen-cast” — bật hỗ trợ chia sẻ màn hình."
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:145
|
||||
msgid "Select window from tab popup"
|
||||
msgstr "Chọn cửa sổ từ thanh nổi lên"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:125
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
msgstr "Hủy thanh nổi lên"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:155
|
||||
msgid "Switch monitor configurations"
|
||||
msgstr "Chuyển các cấu hình màn hình"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:160
|
||||
msgid "Rotates the built-in monitor configuration"
|
||||
msgstr "Quay cấu hình màn hình tích hợp"
|
||||
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:6
|
||||
msgid "Switch to VT 1"
|
||||
msgstr "Chuyển sang VT 1"
|
||||
@ -448,58 +486,114 @@ msgstr "Chuyển sang VT 11"
|
||||
msgid "Switch to VT 12"
|
||||
msgstr "Chuyển sang VT 12"
|
||||
|
||||
#: src/backends/meta-input-settings.c:1707
|
||||
#: data/org.gnome.mutter.wayland.gschema.xml.in:54
|
||||
msgid "Re-enable shortcuts"
|
||||
msgstr "Bật-lại phím tắt"
|
||||
|
||||
#. 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 "Chuyển chế độ(Nhóm %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 monitor"
|
||||
msgstr "Chuyển màn hình"
|
||||
|
||||
#: src/backends/meta-input-settings.c:1709
|
||||
#: src/backends/meta-input-settings.c:2176
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Hiển thị trợ giúp trên-màn-hình"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:514
|
||||
#: src/backends/meta-monitor-manager.c:903
|
||||
msgid "Built-in display"
|
||||
msgstr "Màn hình tích hợp"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:537
|
||||
#: src/backends/meta-monitor-manager.c:926
|
||||
msgid "Unknown"
|
||||
msgstr "Không rõ"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:539
|
||||
#: src/backends/meta-monitor-manager.c:928
|
||||
msgid "Unknown Display"
|
||||
msgstr "Không hiểu màn hình"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:547
|
||||
#: src/backends/meta-monitor-manager.c:936
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
|
||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||
#. * we have no way to get it to exit
|
||||
#: src/compositor/compositor.c:463
|
||||
#: src/compositor/compositor.c:476
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
"Another compositing manager is already running on screen %i on display “%s”."
|
||||
msgstr ""
|
||||
"Bộ quản lý cửa sổ đã đang chạy trên Màn hình %i trên bộ trình bày \"%s\"."
|
||||
"Bộ quản lý cửa sổ đã đang chạy trên Màn hình %i trên bộ trình bày “%s”."
|
||||
|
||||
#: src/core/bell.c:194
|
||||
msgid "Bell event"
|
||||
msgstr "Sự kiện chuông"
|
||||
|
||||
#: src/core/delete.c:127
|
||||
#: src/core/display.c:608
|
||||
#, c-format
|
||||
msgid "Failed to open X Window System display “%s”\n"
|
||||
msgstr "Gặp lỗi khi mở bộ trình bày Hệ thống Cửa sổ X “%s”\n"
|
||||
|
||||
#: src/core/main.c:189
|
||||
msgid "Disable connection to session manager"
|
||||
msgstr "Vô hiệu hóa kết nối với bộ quản lý phiên làm việc"
|
||||
|
||||
#: src/core/main.c:195
|
||||
msgid "Replace the running window manager"
|
||||
msgstr "Thay thế bộ quản lý cửa sổ đang chạy"
|
||||
|
||||
#: src/core/main.c:201
|
||||
msgid "Specify session management ID"
|
||||
msgstr "Ghi rõ mã số quản lý phiên làm việc"
|
||||
|
||||
#: src/core/main.c:206
|
||||
msgid "X Display to use"
|
||||
msgstr "Bộ trình bày X cần dùng"
|
||||
|
||||
#: src/core/main.c:212
|
||||
msgid "Initialize session from savefile"
|
||||
msgstr "Khởi động phiên làm việc từ tập tin lưu"
|
||||
|
||||
#: src/core/main.c:218
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "Khiến các cú gọi X đồng bộ với nhau"
|
||||
|
||||
#: src/core/main.c:225
|
||||
msgid "Run as a wayland compositor"
|
||||
msgstr "Chạy như là một “wayland compositor”"
|
||||
|
||||
#: src/core/main.c:231
|
||||
msgid "Run as a nested compositor"
|
||||
msgstr "Chạy như là một “nested compositor”"
|
||||
|
||||
#: src/core/main.c:239
|
||||
msgid "Run as a full display server, rather than nested"
|
||||
msgstr "Chạy như là một dịch vụ hiển thị đầy đủ, thay cho lồng nhau"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: src/core/meta-close-dialog-default.c:147
|
||||
#, c-format
|
||||
msgid "“%s” is not responding."
|
||||
msgstr "“%s” không trả lời."
|
||||
|
||||
#: src/core/delete.c:129
|
||||
#: src/core/meta-close-dialog-default.c:149
|
||||
msgid "Application is not responding."
|
||||
msgstr "Ứng dụng không trả lời."
|
||||
|
||||
#: src/core/delete.c:134
|
||||
#: 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."
|
||||
@ -507,60 +601,19 @@ msgstr ""
|
||||
"Bạn có thể chọn chờ một lúc cho nó tiếp tục hoặc buộc chấm dứt hoàn toàn ứng "
|
||||
"dụng."
|
||||
|
||||
#: src/core/delete.c:141
|
||||
msgid "_Wait"
|
||||
msgstr "_Chờ"
|
||||
|
||||
#: src/core/delete.c:141
|
||||
#: src/core/meta-close-dialog-default.c:161
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Buộc thoát"
|
||||
|
||||
#: src/core/display.c:590
|
||||
#, c-format
|
||||
msgid "Failed to open X Window System display '%s'\n"
|
||||
msgstr "Gặp lỗi khi mở bộ trình bày Hệ thống Cửa sổ X \"%s\".\n"
|
||||
|
||||
#: src/core/main.c:182
|
||||
msgid "Disable connection to session manager"
|
||||
msgstr "Vô hiệu hóa kết nối với bộ quản lý phiên làm việc"
|
||||
|
||||
#: src/core/main.c:188
|
||||
msgid "Replace the running window manager"
|
||||
msgstr "Thay thế bộ quản lý cửa sổ đang chạy"
|
||||
|
||||
#: src/core/main.c:194
|
||||
msgid "Specify session management ID"
|
||||
msgstr "Ghi rõ mã số quản lý phiên làm việc"
|
||||
|
||||
#: src/core/main.c:199
|
||||
msgid "X Display to use"
|
||||
msgstr "Bộ trình bày X cần dùng"
|
||||
|
||||
#: src/core/main.c:205
|
||||
msgid "Initialize session from savefile"
|
||||
msgstr "Khởi động phiên làm việc từ tập tin lưu"
|
||||
|
||||
#: src/core/main.c:211
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "Khiến các cú gọi X đồng bộ với nhau"
|
||||
|
||||
#: src/core/main.c:218
|
||||
msgid "Run as a wayland compositor"
|
||||
msgstr "Chạy như là một “wayland compositor”"
|
||||
|
||||
#: src/core/main.c:224
|
||||
msgid "Run as a nested compositor"
|
||||
msgstr "Chạy như là một “nested compositor”"
|
||||
|
||||
#: src/core/main.c:232
|
||||
msgid "Run as a full display server, rather than nested"
|
||||
msgstr "Chạy như là một dịch vụ hiển thị đầy đủ, thay cho lồng nhau"
|
||||
#: src/core/meta-close-dialog-default.c:161
|
||||
msgid "_Wait"
|
||||
msgstr "_Chờ"
|
||||
|
||||
#: src/core/mutter.c:39
|
||||
#, c-format
|
||||
msgid ""
|
||||
"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"
|
||||
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
|
||||
"PARTICULAR PURPOSE.\n"
|
||||
@ -585,38 +638,38 @@ msgstr "Phần bổ sung Mutter cần dùng"
|
||||
msgid "Workspace %d"
|
||||
msgstr "Không gian làm việc %d"
|
||||
|
||||
#: src/core/screen.c:521
|
||||
#: src/core/screen.c:580
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Display \"%s\" already has a window manager; try using the --replace option "
|
||||
"to replace the current window manager."
|
||||
"Display “%s” already has a window manager; try using the --replace option to "
|
||||
"replace the current window manager."
|
||||
msgstr ""
|
||||
"Màn hình \"%s\" đã có bộ quản lý cửa sổ rồi; hãy thử dùng tùy chọn “--"
|
||||
"replace” để thay thế bộ quản lý cửa sổ đang dùng."
|
||||
"Màn hình “%s” đã có bộ quản lý cửa sổ rồi; hãy thử dùng tùy chọn --replace "
|
||||
"để thay thế bộ quản lý cửa sổ đang dùng."
|
||||
|
||||
#: src/core/screen.c:606
|
||||
#: src/core/screen.c:665
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "Màn hình %d trên bộ trình bày \"%s\" không hợp lệ.\n"
|
||||
msgid "Screen %d on display “%s” is invalid\n"
|
||||
msgstr "Màn hình %d trên bộ trình bày “%s” không hợp lệ.\n"
|
||||
|
||||
#: src/core/util.c:120
|
||||
msgid "Mutter was compiled without support for verbose mode\n"
|
||||
msgstr "Mutter đã được biên dịch không hỗ trợ chế độ chi tiết\n"
|
||||
|
||||
#: src/wayland/meta-wayland-tablet-pad.c:595
|
||||
#: src/wayland/meta-wayland-tablet-pad.c:563
|
||||
#, c-format
|
||||
msgid "Mode Switch: Mode %d"
|
||||
msgstr "Chuyển chế độ: Chế độ %d"
|
||||
|
||||
#: src/x11/session.c:1815
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
"These windows do not support “save current setup” and will have to be "
|
||||
"restarted manually next time you log in."
|
||||
msgstr ""
|
||||
"Những cửa sổ này không hỗ trợ "lưu cài đặt hiện thời" và sẽ phải "
|
||||
"khởi động lại bằng tay lần kế bạn đăng nhập."
|
||||
"Những cửa sổ này không hỗ trợ “lưu cài đặt hiện tại” và sẽ phải khởi động "
|
||||
"lại bằng tay lần kế bạn đăng nhập."
|
||||
|
||||
#: src/x11/window-props.c:548
|
||||
#: src/x11/window-props.c:559
|
||||
#, c-format
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (trên %s)"
|
||||
|
124
po/zh_TW.po
124
po/zh_TW.po
@ -10,16 +10,16 @@ msgstr ""
|
||||
"Project-Id-Version: metacity 3.3.4\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-02-28 06:20+0000\n"
|
||||
"PO-Revision-Date: 2017-03-01 10:24+0800\n"
|
||||
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
|
||||
"POT-Creation-Date: 2017-09-29 14:36+0000\n"
|
||||
"PO-Revision-Date: 2017-10-01 22:57+0800\n"
|
||||
"Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n"
|
||||
"Language-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n"
|
||||
"Language: zh_TW\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 1.8.12\n"
|
||||
"X-Generator: Poedit 2.0.3\n"
|
||||
|
||||
#: data/50-mutter-navigation.xml:6
|
||||
msgid "Navigation"
|
||||
@ -383,14 +383,48 @@ msgid ""
|
||||
"screen of the monitor."
|
||||
msgstr "當設定為「true」時,新視窗會永遠置於使用中螢幕畫面的正中央。"
|
||||
|
||||
#: 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. Don’t 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” — 讓 mutter 預設採用邏輯像素座標空間的配置邏輯螢幕,而縮放螢幕 "
|
||||
"framebuffer 則取代視窗內容以管理 HiDPI 螢幕。不須要重新啟動。 • “remote-"
|
||||
"desktop” — 啟用遠端桌面支援。若要支援遠端桌面的螢幕分享,則必須也啟用“screen-"
|
||||
"cast”。• “screen-cast” — 啟用螢幕投放支援。"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:145
|
||||
msgid "Select window from tab popup"
|
||||
msgstr "從分頁彈出項選擇視窗"
|
||||
|
||||
#: data/org.gnome.mutter.gschema.xml.in:125
|
||||
#: data/org.gnome.mutter.gschema.xml.in:150
|
||||
msgid "Cancel tab popup"
|
||||
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
|
||||
msgid "Switch to VT 1"
|
||||
msgstr "切換至 VT 1"
|
||||
@ -439,10 +473,14 @@ msgstr "切換至 VT 11"
|
||||
msgid "Switch to 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
|
||||
#. * different modes.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1800
|
||||
#: src/backends/meta-input-settings.c:2157
|
||||
#, c-format
|
||||
msgid "Mode Switch (Group %d)"
|
||||
msgstr "模式切換( 群組 %d)"
|
||||
@ -450,30 +488,30 @@ msgstr "模式切換( 群組 %d)"
|
||||
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
|
||||
#. * mapping through the available outputs.
|
||||
#.
|
||||
#: src/backends/meta-input-settings.c:1822
|
||||
#: src/backends/meta-input-settings.c:2180
|
||||
msgid "Switch monitor"
|
||||
msgstr "切換監視器"
|
||||
msgstr "切換螢幕"
|
||||
|
||||
#: src/backends/meta-input-settings.c:1824
|
||||
#: src/backends/meta-input-settings.c:2182
|
||||
msgid "Show on-screen help"
|
||||
msgstr "顯示螢幕求助"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:675
|
||||
#: src/backends/meta-monitor-manager.c:894
|
||||
msgid "Built-in display"
|
||||
msgstr "內建顯示"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:698
|
||||
#: src/backends/meta-monitor-manager.c:917
|
||||
msgid "Unknown"
|
||||
msgstr "不明"
|
||||
|
||||
#: src/backends/meta-monitor-manager.c:700
|
||||
#: src/backends/meta-monitor-manager.c:919
|
||||
msgid "Unknown Display"
|
||||
msgstr "不明的顯示器"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: src/backends/meta-monitor-manager.c:708
|
||||
#: src/backends/meta-monitor-manager.c:927
|
||||
#, c-format
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
@ -481,7 +519,7 @@ msgstr "%s %s"
|
||||
# FIXME: I'm still unclear about the meaning of XGetSelectionOwner -- Abel
|
||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||
#. * we have no way to get it to exit
|
||||
#: src/compositor/compositor.c:471
|
||||
#: src/compositor/compositor.c:476
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display “%s”."
|
||||
@ -491,30 +529,6 @@ msgstr "在畫面「%2$s」中的第 %1$i 個螢幕中已啟動另一個組合
|
||||
msgid "Bell event"
|
||||
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
|
||||
#, c-format
|
||||
msgid "Failed to open X Window System display “%s”\n"
|
||||
@ -556,6 +570,30 @@ msgstr "以巢狀組合器執行"
|
||||
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
|
||||
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
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -566,8 +604,8 @@ msgid ""
|
||||
"PARTICULAR PURPOSE.\n"
|
||||
msgstr ""
|
||||
"mutter %s\n"
|
||||
"版權所有 (C) 2001-%d Havoc Pennington, Red Hat, Inc. 及其它開發者\n"
|
||||
"本程式是自由軟體;有關版權的詳情請參考源程式碼。\n"
|
||||
"著作權所有 (C) 2001-%d Havoc Pennington, Red Hat, Inc. 及其它開發者\n"
|
||||
"本程式是自由軟體;有關著作權的詳情請參考源始程式碼。\n"
|
||||
"本程式不負任何擔保責任;亦無對適售性或特定目的適用性所為的默示性擔保。\n"
|
||||
|
||||
#: src/core/mutter.c:53
|
||||
@ -584,7 +622,7 @@ msgstr "要使用的 Mutter 外掛程式"
|
||||
msgid "Workspace %d"
|
||||
msgstr "工作區 %d"
|
||||
|
||||
#: src/core/screen.c:580
|
||||
#: src/core/screen.c:582
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Display “%s” already has a window manager; try using the --replace option to "
|
||||
@ -593,7 +631,7 @@ msgstr ""
|
||||
"畫面「%s」已經有了視窗管理員;請嘗試使用 --replace 選項來替換目前的視窗管理"
|
||||
"員。"
|
||||
|
||||
#: src/core/screen.c:665
|
||||
#: src/core/screen.c:667
|
||||
#, c-format
|
||||
msgid "Screen %d on display “%s” is invalid\n"
|
||||
msgstr "畫面「%2$s」中的第 %1$d 個螢幕無效\n"
|
||||
|
@ -2,6 +2,13 @@
|
||||
|
||||
if HAVE_WAYLAND
|
||||
|
||||
test_programs = \
|
||||
mutter-test-client \
|
||||
mutter-test-runner \
|
||||
mutter-test-unit-tests \
|
||||
mutter-test-headless-start-test \
|
||||
$(NULL)
|
||||
|
||||
if BUILDOPT_INSTALL_TESTS
|
||||
stackingdir = $(pkgdatadir)/tests/stacking
|
||||
dist_stacking_DATA = \
|
||||
@ -19,9 +26,9 @@ installedtestsdir = $(datadir)/installed-tests/mutter
|
||||
installedtests_DATA = mutter-all.test
|
||||
|
||||
installedtestsbindir = $(libexecdir)/installed-tests/mutter
|
||||
installedtestsbin_PROGRAMS = mutter-test-client mutter-test-runner mutter-test-unit-tests
|
||||
installedtestsbin_PROGRAMS = $(test_programs)
|
||||
else
|
||||
noinst_PROGRAMS += mutter-test-client mutter-test-runner mutter-test-unit-tests
|
||||
noinst_PROGRAMS += $(test_programs)
|
||||
endif
|
||||
|
||||
EXTRA_DIST += tests/mutter-all.test.in
|
||||
@ -29,10 +36,15 @@ EXTRA_DIST += tests/mutter-all.test.in
|
||||
mutter_test_client_SOURCES = tests/test-client.c
|
||||
mutter_test_client_LDADD = $(MUTTER_LIBS) libmutter-$(LIBMUTTER_API_VERSION).la
|
||||
|
||||
mutter_test_runner_SOURCES = tests/test-runner.c
|
||||
mutter_test_runner_SOURCES = \
|
||||
tests/test-utils.c \
|
||||
tests/test-utils.h \
|
||||
tests/test-runner.c
|
||||
mutter_test_runner_LDADD = $(MUTTER_LIBS) libmutter-$(LIBMUTTER_API_VERSION).la
|
||||
|
||||
mutter_test_unit_tests_SOURCES = \
|
||||
tests/test-utils.c \
|
||||
tests/test-utils.h \
|
||||
tests/unit-tests.c \
|
||||
tests/meta-backend-test.c \
|
||||
tests/meta-backend-test.h \
|
||||
@ -49,7 +61,16 @@ mutter_test_unit_tests_SOURCES = \
|
||||
$(NULL)
|
||||
mutter_test_unit_tests_LDADD = $(MUTTER_LIBS) libmutter-$(LIBMUTTER_API_VERSION).la
|
||||
|
||||
.PHONY: run-tests run-test-runner-tests run-unit-tests
|
||||
mutter_test_headless_start_test_SOURCES = \
|
||||
tests/headless-start-test.c \
|
||||
tests/meta-backend-test.c \
|
||||
tests/meta-backend-test.h \
|
||||
tests/meta-monitor-manager-test.c \
|
||||
tests/meta-monitor-manager-test.h \
|
||||
$(NULL)
|
||||
mutter_test_headless_start_test_LDADD = $(MUTTER_LIBS) libmutter-$(LIBMUTTER_API_VERSION).la
|
||||
|
||||
.PHONY: run-tests run-test-runner-tests run-unit-tests run-headless-start-test
|
||||
|
||||
run-test-runner-tests: mutter-test-client mutter-test-runner
|
||||
./mutter-test-runner $(dist_stacking_DATA)
|
||||
@ -57,7 +78,10 @@ run-test-runner-tests: mutter-test-client mutter-test-runner
|
||||
run-unit-tests: mutter-test-unit-tests
|
||||
./mutter-test-unit-tests
|
||||
|
||||
run-tests: run-test-runner-tests run-unit-tests
|
||||
run-headless-start-test: mutter-test-headless-start-test
|
||||
./mutter-test-headless-start-test
|
||||
|
||||
run-tests: run-test-runner-tests run-unit-tests run-headless-start-test
|
||||
|
||||
endif
|
||||
|
||||
|
114
src/Makefile.am
114
src/Makefile.am
@ -53,6 +53,13 @@ mutter_built_sources = \
|
||||
meta-enum-types.c \
|
||||
$(NULL)
|
||||
|
||||
if HAVE_REMOTE_DESKTOP
|
||||
mutter_built_sources += \
|
||||
$(dbus_remote_desktop_built_sources) \
|
||||
$(dbus_screen_cast_built_sources) \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
if HAVE_WAYLAND
|
||||
mutter_built_sources += \
|
||||
pointer-gestures-unstable-v1-protocol.c \
|
||||
@ -75,6 +82,12 @@ mutter_built_sources += \
|
||||
linux-dmabuf-unstable-v1-server-protocol.h \
|
||||
keyboard-shortcuts-inhibit-unstable-v1-protocol.c \
|
||||
keyboard-shortcuts-inhibit-unstable-v1-server-protocol.h \
|
||||
xdg-output-unstable-v1-protocol.c \
|
||||
xdg-output-unstable-v1-server-protocol.h \
|
||||
xwayland-keyboard-grab-unstable-v1-protocol.c \
|
||||
xwayland-keyboard-grab-unstable-v1-server-protocol.h \
|
||||
gtk-text-input-protocol.c \
|
||||
gtk-text-input-server-protocol.h \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
@ -90,6 +103,8 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
|
||||
backends/meta-backend-private.h \
|
||||
backends/meta-barrier.c \
|
||||
backends/meta-barrier-private.h \
|
||||
backends/meta-crtc.c \
|
||||
backends/meta-crtc.h \
|
||||
backends/meta-cursor.c \
|
||||
backends/meta-cursor.h \
|
||||
backends/meta-cursor-tracker.c \
|
||||
@ -100,6 +115,11 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
|
||||
backends/meta-egl.c \
|
||||
backends/meta-egl.h \
|
||||
backends/meta-egl-ext.h \
|
||||
backends/meta-gles3.c \
|
||||
backends/meta-gles3.h \
|
||||
backends/meta-gles3-table.h \
|
||||
backends/meta-gpu.c \
|
||||
backends/meta-gpu.h \
|
||||
backends/meta-display-config-shared.h \
|
||||
backends/meta-idle-monitor.c \
|
||||
backends/meta-idle-monitor-private.h \
|
||||
@ -124,6 +144,8 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
|
||||
backends/meta-monitor-manager-dummy.h \
|
||||
backends/meta-orientation-manager.c \
|
||||
backends/meta-orientation-manager.h \
|
||||
backends/meta-output.c \
|
||||
backends/meta-output.h \
|
||||
backends/meta-pointer-constraint.c \
|
||||
backends/meta-pointer-constraint.h \
|
||||
backends/meta-settings.c \
|
||||
@ -142,8 +164,12 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
|
||||
backends/x11/meta-barrier-x11.h \
|
||||
backends/x11/meta-clutter-backend-x11.c \
|
||||
backends/x11/meta-clutter-backend-x11.h \
|
||||
backends/x11/meta-crtc-xrandr.c \
|
||||
backends/x11/meta-crtc-xrandr.h \
|
||||
backends/x11/meta-cursor-renderer-x11.c \
|
||||
backends/x11/meta-cursor-renderer-x11.h \
|
||||
backends/x11/meta-gpu-xrandr.c \
|
||||
backends/x11/meta-gpu-xrandr.h \
|
||||
backends/x11/cm/meta-backend-x11-cm.c \
|
||||
backends/x11/cm/meta-backend-x11-cm.h \
|
||||
backends/x11/cm/meta-renderer-x11-cm.c \
|
||||
@ -160,6 +186,8 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
|
||||
backends/x11/meta-input-settings-x11.h \
|
||||
backends/x11/meta-monitor-manager-xrandr.c \
|
||||
backends/x11/meta-monitor-manager-xrandr.h \
|
||||
backends/x11/meta-output-xrandr.c \
|
||||
backends/x11/meta-output-xrandr.h \
|
||||
backends/x11/meta-renderer-x11.c \
|
||||
backends/x11/meta-renderer-x11.h \
|
||||
backends/x11/meta-stage-x11-nested.c \
|
||||
@ -174,6 +202,8 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
|
||||
meta/boxes.h \
|
||||
core/meta-border.c \
|
||||
core/meta-border.h \
|
||||
core/meta-fraction.c \
|
||||
core/meta-fraction.h \
|
||||
compositor/clutter-utils.c \
|
||||
compositor/clutter-utils.h \
|
||||
compositor/cogl-utils.c \
|
||||
@ -247,13 +277,12 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
|
||||
core/edge-resistance.h \
|
||||
core/events.c \
|
||||
core/events.h \
|
||||
core/errors.c \
|
||||
meta/errors.h \
|
||||
core/frame.c \
|
||||
core/frame.h \
|
||||
core/meta-gesture-tracker.c \
|
||||
core/meta-gesture-tracker-private.h \
|
||||
core/meta-workspace-manager.c \
|
||||
core/meta-workspace-manager-private.h \
|
||||
meta/meta-workspace-manager.h \
|
||||
core/keybindings.c \
|
||||
core/keybindings-private.h \
|
||||
core/main-private.h \
|
||||
@ -262,6 +291,9 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
|
||||
core/place.h \
|
||||
core/prefs.c \
|
||||
meta/prefs.h \
|
||||
core/screen.c \
|
||||
core/screen-private.h \
|
||||
meta/screen.h \
|
||||
core/startup-notification.c \
|
||||
core/startup-notification-private.h \
|
||||
meta/types.h \
|
||||
@ -288,11 +320,6 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
|
||||
ui/theme-private.h \
|
||||
ui/ui.c \
|
||||
x11/atomnames.h \
|
||||
x11/meta-x11-display.c \
|
||||
x11/meta-x11-display-private.h \
|
||||
meta/meta-x11-display.h \
|
||||
x11/meta-x11-errors.c \
|
||||
meta/meta-x11-errors.h \
|
||||
x11/events.c \
|
||||
x11/events.h \
|
||||
x11/group-private.h \
|
||||
@ -314,6 +341,29 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
|
||||
x11/mutter-Xatomtype.h \
|
||||
$(NULL)
|
||||
|
||||
if HAVE_REMOTE_DESKTOP
|
||||
libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES += \
|
||||
backends/meta-dbus-session-watcher.c \
|
||||
backends/meta-dbus-session-watcher.h \
|
||||
backends/meta-remote-desktop.c \
|
||||
backends/meta-remote-desktop.h \
|
||||
backends/meta-remote-desktop-session.c \
|
||||
backends/meta-remote-desktop-session.h \
|
||||
backends/meta-screen-cast.c \
|
||||
backends/meta-screen-cast.h \
|
||||
backends/meta-screen-cast-monitor-stream.c \
|
||||
backends/meta-screen-cast-monitor-stream.h \
|
||||
backends/meta-screen-cast-monitor-stream-src.c \
|
||||
backends/meta-screen-cast-monitor-stream-src.h \
|
||||
backends/meta-screen-cast-session.c \
|
||||
backends/meta-screen-cast-session.h \
|
||||
backends/meta-screen-cast-stream.c \
|
||||
backends/meta-screen-cast-stream.h \
|
||||
backends/meta-screen-cast-stream-src.c \
|
||||
backends/meta-screen-cast-stream-src.h \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
if HAVE_WAYLAND
|
||||
libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES += \
|
||||
compositor/meta-surface-actor-wayland.c \
|
||||
@ -383,6 +433,8 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES += \
|
||||
wayland/meta-wayland-surface-role-cursor.h \
|
||||
wayland/meta-wayland-surface-role-tablet-cursor.c \
|
||||
wayland/meta-wayland-surface-role-tablet-cursor.h \
|
||||
wayland/meta-wayland-text-input.c \
|
||||
wayland/meta-wayland-text-input.h \
|
||||
wayland/meta-wayland-types.h \
|
||||
wayland/meta-wayland-versions.h \
|
||||
wayland/meta-wayland-outputs.c \
|
||||
@ -391,6 +443,8 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES += \
|
||||
wayland/meta-wayland-xdg-foreign.h \
|
||||
wayland/meta-window-wayland.c \
|
||||
wayland/meta-window-wayland.h \
|
||||
wayland/meta-window-xwayland.c \
|
||||
wayland/meta-window-xwayland.h \
|
||||
wayland/meta-wayland-xdg-shell.c \
|
||||
wayland/meta-wayland-xdg-shell.h \
|
||||
wayland/meta-wayland-wl-shell.c \
|
||||
@ -401,6 +455,8 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES += \
|
||||
wayland/meta-wayland-inhibit-shortcuts.h \
|
||||
wayland/meta-wayland-inhibit-shortcuts-dialog.c \
|
||||
wayland/meta-wayland-inhibit-shortcuts-dialog.h \
|
||||
wayland/meta-xwayland-grab-keyboard.c \
|
||||
wayland/meta-xwayland-grab-keyboard.h \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
@ -411,11 +467,15 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES += \
|
||||
backends/native/meta-backend-native-private.h \
|
||||
backends/native/meta-barrier-native.c \
|
||||
backends/native/meta-barrier-native.h \
|
||||
backends/native/meta-crtc-kms.c \
|
||||
backends/native/meta-crtc-kms.h \
|
||||
backends/native/meta-clutter-backend-native.c \
|
||||
backends/native/meta-clutter-backend-native.h \
|
||||
backends/native/meta-cursor-renderer-native.c \
|
||||
backends/native/meta-cursor-renderer-native.h \
|
||||
backends/native/meta-default-modes.h \
|
||||
backends/native/meta-gpu-kms.c \
|
||||
backends/native/meta-gpu-kms.h \
|
||||
backends/native/meta-idle-monitor-native.c \
|
||||
backends/native/meta-idle-monitor-native.h \
|
||||
backends/native/meta-input-settings-native.c \
|
||||
@ -424,8 +484,12 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES += \
|
||||
backends/native/meta-monitor-manager-kms.h \
|
||||
backends/native/meta-launcher.c \
|
||||
backends/native/meta-launcher.h \
|
||||
backends/native/meta-output-kms.c \
|
||||
backends/native/meta-output-kms.h \
|
||||
backends/native/meta-renderer-native.c \
|
||||
backends/native/meta-renderer-native.h \
|
||||
backends/native/meta-renderer-native-gles3.c \
|
||||
backends/native/meta-renderer-native-gles3.h \
|
||||
backends/native/meta-stage-native.c \
|
||||
backends/native/meta-stage-native.h \
|
||||
backends/native/dbus-utils.c \
|
||||
@ -452,6 +516,7 @@ libmutterinclude_headers = \
|
||||
meta/compositor-mutter.h \
|
||||
meta/compositor.h \
|
||||
meta/display.h \
|
||||
meta/errors.h \
|
||||
meta/group.h \
|
||||
meta/keybindings.h \
|
||||
meta/main.h \
|
||||
@ -472,10 +537,8 @@ libmutterinclude_headers = \
|
||||
meta/meta-shadow-factory.h \
|
||||
meta/meta-window-actor.h \
|
||||
meta/meta-window-shape.h \
|
||||
meta/meta-workspace-manager.h \
|
||||
meta/meta-x11-display.h \
|
||||
meta/meta-x11-errors.h \
|
||||
meta/prefs.h \
|
||||
meta/screen.h \
|
||||
meta/theme.h \
|
||||
meta/types.h \
|
||||
meta/util.h \
|
||||
@ -583,6 +646,8 @@ EXTRA_DIST += \
|
||||
org.freedesktop.login1.xml \
|
||||
org.gnome.Mutter.DisplayConfig.xml \
|
||||
org.gnome.Mutter.IdleMonitor.xml \
|
||||
org.gnome.Mutter.RemoteDesktop.xml \
|
||||
org.gnome.Mutter.ScreenCast.xml \
|
||||
backends/native/gen-default-modes.py \
|
||||
$(NULL)
|
||||
|
||||
@ -631,6 +696,26 @@ $(dbus_idle_built_sources) : Makefile.am org.gnome.Mutter.IdleMonitor.xml
|
||||
--c-generate-autocleanup all \
|
||||
$(srcdir)/org.gnome.Mutter.IdleMonitor.xml
|
||||
|
||||
if HAVE_REMOTE_DESKTOP
|
||||
dbus_remote_desktop_built_sources = meta-dbus-remote-desktop.c meta-dbus-remote-desktop.h
|
||||
|
||||
$(dbus_remote_desktop_built_sources) : Makefile.am org.gnome.Mutter.RemoteDesktop.xml
|
||||
$(AM_V_GEN)gdbus-codegen \
|
||||
--interface-prefix org.gnome.Mutter \
|
||||
--c-namespace MetaDBus \
|
||||
--generate-c-code meta-dbus-remote-desktop \
|
||||
$(srcdir)/org.gnome.Mutter.RemoteDesktop.xml
|
||||
|
||||
dbus_screen_cast_built_sources = meta-dbus-screen-cast.c meta-dbus-screen-cast.h
|
||||
|
||||
$(dbus_screen_cast_built_sources) : Makefile.am org.gnome.Mutter.ScreenCast.xml
|
||||
$(AM_V_GEN)gdbus-codegen \
|
||||
--interface-prefix org.gnome.Mutter \
|
||||
--c-namespace MetaDBus \
|
||||
--generate-c-code meta-dbus-screen-cast \
|
||||
$(srcdir)/org.gnome.Mutter.ScreenCast.xml
|
||||
endif
|
||||
|
||||
dbus_login1_built_sources = meta-dbus-login1.c meta-dbus-login1.h
|
||||
|
||||
$(dbus_login1_built_sources) : Makefile.am org.freedesktop.login1.xml
|
||||
@ -669,3 +754,10 @@ keyboard-shortcuts-inhibit-unstable-v1-protocol.c : $(WAYLAND_PROTOCOLS_DATADIR)
|
||||
$(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@
|
||||
keyboard-shortcuts-inhibit-unstable-v1-server-protocol.h : $(WAYLAND_PROTOCOLS_DATADIR)/unstable/keyboard-shortcuts-inhibit/keyboard-shortcuts-inhibit-unstable-v1.xml
|
||||
$(AM_V_GEN)$(WAYLAND_SCANNER) server-header < $< > $@
|
||||
xdg-output-unstable-v1-protocol.c : $(WAYLAND_PROTOCOLS_DATADIR)/unstable/xdg-output/xdg-output-unstable-v1.xml
|
||||
$(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@
|
||||
xdg-output-unstable-v1-server-protocol.h : $(WAYLAND_PROTOCOLS_DATADIR)/unstable/xdg-output/xdg-output-unstable-v1.xml
|
||||
xwayland-keyboard-grab-unstable-v1-protocol.c : $(WAYLAND_PROTOCOLS_DATADIR)/unstable/xwayland-keyboard-grab/xwayland-keyboard-grab-unstable-v1.xml
|
||||
$(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@
|
||||
xwayland-keyboard-grab-unstable-v1-server-protocol.h : $(WAYLAND_PROTOCOLS_DATADIR)/unstable/xwayland-keyboard-grab/xwayland-keyboard-grab-unstable-v1.xml
|
||||
$(AM_V_GEN)$(WAYLAND_SCANNER) server-header < $< > $@
|
||||
|
@ -38,6 +38,9 @@
|
||||
#include "meta-input-settings-private.h"
|
||||
#include "backends/meta-egl.h"
|
||||
#include "backends/meta-pointer-constraint.h"
|
||||
#ifdef HAVE_REMOTE_DESKTOP
|
||||
#include "backends/meta-remote-desktop.h"
|
||||
#endif
|
||||
#include "backends/meta-renderer.h"
|
||||
#include "backends/meta-settings-private.h"
|
||||
#include "core/util-private.h"
|
||||
@ -58,9 +61,11 @@ struct _MetaBackendClass
|
||||
|
||||
MetaIdleMonitor * (* create_idle_monitor) (MetaBackend *backend,
|
||||
int device_id);
|
||||
MetaMonitorManager * (* create_monitor_manager) (MetaBackend *backend);
|
||||
MetaMonitorManager * (* create_monitor_manager) (MetaBackend *backend,
|
||||
GError **error);
|
||||
MetaCursorRenderer * (* create_cursor_renderer) (MetaBackend *backend);
|
||||
MetaRenderer * (* create_renderer) (MetaBackend *backend);
|
||||
MetaRenderer * (* create_renderer) (MetaBackend *backend,
|
||||
GError **error);
|
||||
MetaInputSettings * (* create_input_settings) (MetaBackend *backend);
|
||||
|
||||
gboolean (* grab_device) (MetaBackend *backend,
|
||||
@ -120,6 +125,10 @@ MetaRenderer * meta_backend_get_renderer (MetaBackend *backend);
|
||||
MetaEgl * meta_backend_get_egl (MetaBackend *backend);
|
||||
MetaSettings * meta_backend_get_settings (MetaBackend *backend);
|
||||
|
||||
#ifdef HAVE_REMOTE_DESKTOP
|
||||
MetaRemoteDesktop * meta_backend_get_remote_desktop (MetaBackend *backend);
|
||||
#endif
|
||||
|
||||
gboolean meta_backend_grab_device (MetaBackend *backend,
|
||||
int device_id,
|
||||
uint32_t timestamp);
|
||||
|
@ -29,13 +29,19 @@
|
||||
#include <clutter/clutter-mutter.h>
|
||||
#include <meta/meta-backend.h>
|
||||
#include <meta/main.h>
|
||||
#include <meta/util.h>
|
||||
#include "meta-backend-private.h"
|
||||
#include "meta-input-settings-private.h"
|
||||
|
||||
#include "backends/x11/meta-backend-x11.h"
|
||||
#include "meta-cursor-tracker-private.h"
|
||||
#include "meta-stage.h"
|
||||
|
||||
#ifdef HAVE_REMOTE_DESKTOP
|
||||
#include "backends/meta-dbus-session-watcher.h"
|
||||
#include "backends/meta-screen-cast.h"
|
||||
#include "backends/meta-remote-desktop.h"
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_NATIVE_BACKEND
|
||||
#include "backends/native/meta-backend-native.h"
|
||||
#endif
|
||||
@ -85,10 +91,17 @@ struct _MetaBackendPrivate
|
||||
MetaRenderer *renderer;
|
||||
MetaEgl *egl;
|
||||
MetaSettings *settings;
|
||||
#ifdef HAVE_REMOTE_DESKTOP
|
||||
MetaDbusSessionWatcher *dbus_session_watcher;
|
||||
MetaScreenCast *screen_cast;
|
||||
MetaRemoteDesktop *remote_desktop;
|
||||
#endif
|
||||
|
||||
ClutterBackend *clutter_backend;
|
||||
ClutterActor *stage;
|
||||
|
||||
gboolean is_pointer_position_initialized;
|
||||
|
||||
guint device_update_idle_id;
|
||||
|
||||
GHashTable *device_monitors;
|
||||
@ -117,6 +130,11 @@ meta_backend_finalize (GObject *object)
|
||||
g_clear_object (&priv->monitor_manager);
|
||||
g_clear_object (&priv->orientation_manager);
|
||||
g_clear_object (&priv->input_settings);
|
||||
#ifdef HAVE_REMOTE_DESKTOP
|
||||
g_clear_object (&priv->remote_desktop);
|
||||
g_clear_object (&priv->screen_cast);
|
||||
g_clear_object (&priv->dbus_session_watcher);
|
||||
#endif
|
||||
|
||||
if (priv->device_update_idle_id)
|
||||
g_source_remove (priv->device_update_idle_id);
|
||||
@ -169,13 +187,17 @@ meta_backend_monitors_changed (MetaBackend *backend)
|
||||
if (clutter_input_device_get_coords (device, NULL, &point))
|
||||
{
|
||||
/* If we're outside all monitors, warp the pointer back inside */
|
||||
if (!meta_monitor_manager_get_logical_monitor_at (monitor_manager,
|
||||
point.x, point.y) &&
|
||||
if ((!meta_monitor_manager_get_logical_monitor_at (monitor_manager,
|
||||
point.x, point.y) ||
|
||||
!priv->is_pointer_position_initialized) &&
|
||||
!meta_monitor_manager_is_headless (monitor_manager))
|
||||
center_pointer (backend);
|
||||
{
|
||||
center_pointer (backend);
|
||||
priv->is_pointer_position_initialized = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
meta_settings_update_ui_scaling_factor (priv->settings);
|
||||
meta_cursor_renderer_force_update (priv->cursor_renderer);
|
||||
}
|
||||
|
||||
void
|
||||
@ -315,6 +337,8 @@ on_device_removed (ClutterDeviceManager *device_manager,
|
||||
gboolean has_touchscreen, has_pointing_device;
|
||||
ClutterInputDeviceType device_type;
|
||||
|
||||
priv->current_device_id = 0;
|
||||
|
||||
device_type = clutter_input_device_get_device_type (device);
|
||||
has_touchscreen = check_has_slave_touchscreen (device_manager);
|
||||
|
||||
@ -333,15 +357,6 @@ on_device_removed (ClutterDeviceManager *device_manager,
|
||||
}
|
||||
}
|
||||
|
||||
static MetaMonitorManager *
|
||||
create_monitor_manager (MetaBackend *backend)
|
||||
{
|
||||
if (g_getenv ("META_DUMMY_MONITORS"))
|
||||
return g_object_new (META_TYPE_MONITOR_MANAGER_DUMMY, NULL);
|
||||
|
||||
return META_BACKEND_GET_CLASS (backend)->create_monitor_manager (backend);
|
||||
}
|
||||
|
||||
static void
|
||||
create_device_monitors (MetaBackend *backend,
|
||||
ClutterDeviceManager *device_manager)
|
||||
@ -387,6 +402,28 @@ meta_backend_create_input_settings (MetaBackend *backend)
|
||||
return META_BACKEND_GET_CLASS (backend)->create_input_settings (backend);
|
||||
}
|
||||
|
||||
#ifdef HAVE_REMOTE_DESKTOP
|
||||
static gboolean
|
||||
is_screen_cast_enabled (MetaBackend *backend)
|
||||
{
|
||||
MetaSettings *settings = meta_backend_get_settings (backend);
|
||||
|
||||
return meta_settings_is_experimental_feature_enabled (
|
||||
settings,
|
||||
META_EXPERIMENTAL_FEATURE_SCREEN_CAST);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
is_remote_desktop_enabled (MetaBackend *backend)
|
||||
{
|
||||
MetaSettings *settings = meta_backend_get_settings (backend);
|
||||
|
||||
return meta_settings_is_experimental_feature_enabled (
|
||||
settings,
|
||||
META_EXPERIMENTAL_FEATURE_REMOTE_DESKTOP);
|
||||
}
|
||||
#endif /* HAVE_REMOTE_DESKTOP */
|
||||
|
||||
static void
|
||||
meta_backend_real_post_init (MetaBackend *backend)
|
||||
{
|
||||
@ -397,7 +434,7 @@ meta_backend_real_post_init (MetaBackend *backend)
|
||||
clutter_actor_realize (priv->stage);
|
||||
META_BACKEND_GET_CLASS (backend)->select_stage_events (backend);
|
||||
|
||||
priv->monitor_manager = create_monitor_manager (backend);
|
||||
meta_monitor_manager_setup (priv->monitor_manager);
|
||||
|
||||
meta_backend_sync_screen_size (backend);
|
||||
|
||||
@ -418,7 +455,19 @@ meta_backend_real_post_init (MetaBackend *backend)
|
||||
|
||||
priv->input_settings = meta_backend_create_input_settings (backend);
|
||||
|
||||
center_pointer (backend);
|
||||
#ifdef HAVE_REMOTE_DESKTOP
|
||||
priv->dbus_session_watcher = g_object_new (META_TYPE_DBUS_SESSION_WATCHER, NULL);
|
||||
if (is_screen_cast_enabled (backend))
|
||||
priv->screen_cast = meta_screen_cast_new (priv->dbus_session_watcher);
|
||||
if (is_remote_desktop_enabled (backend))
|
||||
priv->remote_desktop = meta_remote_desktop_new (priv->dbus_session_watcher);
|
||||
#endif /* HAVE_REMOTE_DESKTOP */
|
||||
|
||||
if (!meta_monitor_manager_is_headless (priv->monitor_manager))
|
||||
{
|
||||
center_pointer (backend);
|
||||
priv->is_pointer_position_initialized = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
static MetaCursorRenderer *
|
||||
@ -503,6 +552,44 @@ meta_backend_class_init (MetaBackendClass *klass)
|
||||
stage_views_disabled = g_strcmp0 (mutter_stage_views, "0") == 0;
|
||||
}
|
||||
|
||||
static void
|
||||
experimental_features_changed (MetaSettings *settings,
|
||||
MetaExperimentalFeature old_experimental_features,
|
||||
MetaBackend *backend)
|
||||
{
|
||||
#ifdef HAVE_REMOTE_DESKTOP
|
||||
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
|
||||
|
||||
if (is_screen_cast_enabled (backend) && !priv->screen_cast)
|
||||
priv->screen_cast = meta_screen_cast_new (priv->dbus_session_watcher);
|
||||
else if (!is_screen_cast_enabled (backend))
|
||||
g_clear_object (&priv->screen_cast);
|
||||
|
||||
if (is_remote_desktop_enabled (backend) && !priv->remote_desktop)
|
||||
priv->remote_desktop = meta_remote_desktop_new (priv->dbus_session_watcher);
|
||||
else if (!is_remote_desktop_enabled (backend))
|
||||
g_clear_object (&priv->remote_desktop);
|
||||
#endif /* HAVE_REMOTE_DESKTOP */
|
||||
}
|
||||
|
||||
static MetaMonitorManager *
|
||||
meta_backend_create_monitor_manager (MetaBackend *backend,
|
||||
GError **error)
|
||||
{
|
||||
if (g_getenv ("META_DUMMY_MONITORS"))
|
||||
return g_object_new (META_TYPE_MONITOR_MANAGER_DUMMY, NULL);
|
||||
|
||||
return META_BACKEND_GET_CLASS (backend)->create_monitor_manager (backend,
|
||||
error);
|
||||
}
|
||||
|
||||
static MetaRenderer *
|
||||
meta_backend_create_renderer (MetaBackend *backend,
|
||||
GError **error)
|
||||
{
|
||||
return META_BACKEND_GET_CLASS (backend)->create_renderer (backend, error);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
meta_backend_initable_init (GInitable *initable,
|
||||
GCancellable *cancellable,
|
||||
@ -512,24 +599,26 @@ meta_backend_initable_init (GInitable *initable,
|
||||
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
|
||||
|
||||
priv->settings = meta_settings_new (backend);
|
||||
g_signal_connect (priv->settings, "experimental-features-changed",
|
||||
G_CALLBACK (experimental_features_changed),
|
||||
backend);
|
||||
|
||||
priv->egl = g_object_new (META_TYPE_EGL, NULL);
|
||||
|
||||
priv->renderer = META_BACKEND_GET_CLASS (backend)->create_renderer (backend);
|
||||
priv->orientation_manager = g_object_new (META_TYPE_ORIENTATION_MANAGER, NULL);
|
||||
|
||||
priv->monitor_manager = meta_backend_create_monitor_manager (backend, error);
|
||||
if (!priv->monitor_manager)
|
||||
return FALSE;
|
||||
|
||||
priv->renderer = meta_backend_create_renderer (backend, error);
|
||||
if (!priv->renderer)
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR,
|
||||
G_IO_ERROR_FAILED,
|
||||
"Failed to create MetaRenderer");
|
||||
return FALSE;
|
||||
}
|
||||
return FALSE;
|
||||
|
||||
priv->cursor_tracker = g_object_new (META_TYPE_CURSOR_TRACKER, NULL);
|
||||
|
||||
priv->dnd = g_object_new (META_TYPE_DND, NULL);
|
||||
|
||||
priv->orientation_manager = g_object_new (META_TYPE_ORIENTATION_MANAGER, NULL);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -641,6 +730,19 @@ meta_backend_get_settings (MetaBackend *backend)
|
||||
return priv->settings;
|
||||
}
|
||||
|
||||
#ifdef HAVE_REMOTE_DESKTOP
|
||||
/**
|
||||
* meta_backend_get_remote_desktop: (skip)
|
||||
*/
|
||||
MetaRemoteDesktop *
|
||||
meta_backend_get_remote_desktop (MetaBackend *backend)
|
||||
{
|
||||
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
|
||||
|
||||
return priv->remote_desktop;
|
||||
}
|
||||
#endif /* HAVE_REMOTE_DESKTOP */
|
||||
|
||||
/**
|
||||
* meta_backend_grab_device: (skip)
|
||||
*/
|
||||
|
80
src/backends/meta-crtc.c
Normal file
80
src/backends/meta-crtc.c
Normal file
@ -0,0 +1,80 @@
|
||||
/*
|
||||
* 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 "config.h"
|
||||
|
||||
#include "backends/meta-crtc.h"
|
||||
|
||||
G_DEFINE_TYPE (MetaCrtc, meta_crtc, G_TYPE_OBJECT)
|
||||
|
||||
G_DEFINE_TYPE (MetaCrtcMode, meta_crtc_mode, G_TYPE_OBJECT)
|
||||
|
||||
MetaGpu *
|
||||
meta_crtc_get_gpu (MetaCrtc *crtc)
|
||||
{
|
||||
return crtc->gpu;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_crtc_finalize (GObject *object)
|
||||
{
|
||||
MetaCrtc *crtc = META_CRTC (object);
|
||||
|
||||
if (crtc->driver_notify)
|
||||
crtc->driver_notify (crtc);
|
||||
|
||||
G_OBJECT_CLASS (meta_crtc_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_crtc_init (MetaCrtc *crtc)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
meta_crtc_class_init (MetaCrtcClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
object_class->finalize = meta_crtc_finalize;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_crtc_mode_finalize (GObject *object)
|
||||
{
|
||||
MetaCrtcMode *crtc_mode = META_CRTC_MODE (object);
|
||||
|
||||
if (crtc_mode->driver_notify)
|
||||
crtc_mode->driver_notify (crtc_mode);
|
||||
|
||||
G_OBJECT_CLASS (meta_crtc_mode_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_crtc_mode_init (MetaCrtcMode *crtc_mode)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
meta_crtc_mode_class_init (MetaCrtcModeClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
object_class->finalize = meta_crtc_mode_finalize;
|
||||
}
|
98
src/backends/meta-crtc.h
Normal file
98
src/backends/meta-crtc.h
Normal file
@ -0,0 +1,98 @@
|
||||
/*
|
||||
* 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 META_CRTC_H
|
||||
#define META_CRTC_H
|
||||
|
||||
#include <glib-object.h>
|
||||
|
||||
#include "backends/meta-gpu.h"
|
||||
|
||||
/* Same as KMS mode flags and X11 randr flags */
|
||||
typedef enum _MetaCrtcModeFlag
|
||||
{
|
||||
META_CRTC_MODE_FLAG_NONE = 0,
|
||||
META_CRTC_MODE_FLAG_PHSYNC = (1 << 0),
|
||||
META_CRTC_MODE_FLAG_NHSYNC = (1 << 1),
|
||||
META_CRTC_MODE_FLAG_PVSYNC = (1 << 2),
|
||||
META_CRTC_MODE_FLAG_NVSYNC = (1 << 3),
|
||||
META_CRTC_MODE_FLAG_INTERLACE = (1 << 4),
|
||||
META_CRTC_MODE_FLAG_DBLSCAN = (1 << 5),
|
||||
META_CRTC_MODE_FLAG_CSYNC = (1 << 6),
|
||||
META_CRTC_MODE_FLAG_PCSYNC = (1 << 7),
|
||||
META_CRTC_MODE_FLAG_NCSYNC = (1 << 8),
|
||||
META_CRTC_MODE_FLAG_HSKEW = (1 << 9),
|
||||
META_CRTC_MODE_FLAG_BCAST = (1 << 10),
|
||||
META_CRTC_MODE_FLAG_PIXMUX = (1 << 11),
|
||||
META_CRTC_MODE_FLAG_DBLCLK = (1 << 12),
|
||||
META_CRTC_MODE_FLAG_CLKDIV2 = (1 << 13),
|
||||
|
||||
META_CRTC_MODE_FLAG_MASK = 0x3fff
|
||||
} MetaCrtcModeFlag;
|
||||
|
||||
struct _MetaCrtc
|
||||
{
|
||||
GObject parent;
|
||||
|
||||
MetaGpu *gpu;
|
||||
|
||||
glong crtc_id;
|
||||
MetaRectangle rect;
|
||||
MetaCrtcMode *current_mode;
|
||||
MetaMonitorTransform transform;
|
||||
unsigned int all_transforms;
|
||||
|
||||
MetaLogicalMonitor *logical_monitor;
|
||||
|
||||
/* Used when changing configuration */
|
||||
gboolean is_dirty;
|
||||
|
||||
/* Used by cursor renderer backend */
|
||||
void *cursor_renderer_private;
|
||||
|
||||
gpointer driver_private;
|
||||
GDestroyNotify driver_notify;
|
||||
};
|
||||
|
||||
struct _MetaCrtcMode
|
||||
{
|
||||
GObject parent;
|
||||
|
||||
/* The low-level ID of this mode, used to apply back configuration */
|
||||
glong mode_id;
|
||||
char *name;
|
||||
|
||||
int width;
|
||||
int height;
|
||||
float refresh_rate;
|
||||
MetaCrtcModeFlag flags;
|
||||
|
||||
gpointer driver_private;
|
||||
GDestroyNotify driver_notify;
|
||||
};
|
||||
|
||||
#define META_TYPE_CRTC (meta_crtc_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (MetaCrtc, meta_crtc, META, CRTC, GObject)
|
||||
|
||||
#define META_TYPE_CRTC_MODE (meta_crtc_mode_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (MetaCrtcMode, meta_crtc_mode, META, CRTC_MODE, GObject)
|
||||
|
||||
MetaGpu * meta_crtc_get_gpu (MetaCrtc *crtc);
|
||||
|
||||
#endif /* META_CRTC_H */
|
@ -70,7 +70,7 @@ queue_redraw (MetaCursorRenderer *renderer,
|
||||
MetaBackend *backend = meta_get_backend ();
|
||||
ClutterActor *stage = meta_backend_get_stage (backend);
|
||||
CoglTexture *texture;
|
||||
ClutterRect rect = { 0 };
|
||||
ClutterRect rect = CLUTTER_RECT_INIT_ZERO;
|
||||
|
||||
if (cursor_sprite)
|
||||
rect = meta_cursor_renderer_calculate_rect (renderer, cursor_sprite);
|
||||
@ -173,7 +173,7 @@ meta_cursor_renderer_calculate_rect (MetaCursorRenderer *renderer,
|
||||
|
||||
texture = meta_cursor_sprite_get_cogl_texture (cursor_sprite);
|
||||
if (!texture)
|
||||
return (ClutterRect) { 0 };
|
||||
return (ClutterRect) CLUTTER_RECT_INIT_ZERO;
|
||||
|
||||
meta_cursor_sprite_get_hotspot (cursor_sprite, &hot_x, &hot_y);
|
||||
texture_scale = meta_cursor_sprite_get_texture_scale (cursor_sprite);
|
||||
|
@ -31,6 +31,7 @@
|
||||
#include <wayland-server.h>
|
||||
#endif
|
||||
|
||||
#include <meta/screen.h>
|
||||
#include "meta-cursor.h"
|
||||
|
||||
#define META_TYPE_CURSOR_RENDERER (meta_cursor_renderer_get_type ())
|
||||
|
@ -32,6 +32,7 @@ struct _MetaCursorTracker {
|
||||
|
||||
gboolean is_showing;
|
||||
|
||||
MetaCursorSprite *effective_cursor; /* May be NULL when hidden */
|
||||
MetaCursorSprite *displayed_cursor;
|
||||
|
||||
/* Wayland clients can set a NULL buffer as their cursor
|
||||
|
@ -31,10 +31,9 @@
|
||||
#include "meta-cursor-tracker-private.h"
|
||||
|
||||
#include <string.h>
|
||||
#include <meta/meta-x11-display.h>
|
||||
#include <meta/main.h>
|
||||
#include <meta/util.h>
|
||||
#include <meta/meta-x11-errors.h>
|
||||
#include <meta/errors.h>
|
||||
|
||||
#include <cogl/cogl.h>
|
||||
#include <clutter/clutter.h>
|
||||
@ -44,7 +43,6 @@
|
||||
#include <X11/extensions/Xfixes.h>
|
||||
|
||||
#include "meta-backend-private.h"
|
||||
#include "x11/meta-x11-display-private.h"
|
||||
|
||||
G_DEFINE_TYPE (MetaCursorTracker, meta_cursor_tracker, G_TYPE_OBJECT);
|
||||
|
||||
@ -55,47 +53,75 @@ enum {
|
||||
|
||||
static guint signals[LAST_SIGNAL];
|
||||
|
||||
static MetaCursorSprite *
|
||||
get_displayed_cursor (MetaCursorTracker *tracker)
|
||||
static void
|
||||
cursor_texture_updated (MetaCursorSprite *cursor,
|
||||
MetaCursorTracker *tracker)
|
||||
{
|
||||
g_signal_emit (tracker, signals[CURSOR_CHANGED], 0);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
update_displayed_cursor (MetaCursorTracker *tracker)
|
||||
{
|
||||
MetaDisplay *display = meta_get_display ();
|
||||
MetaCursorSprite *cursor = NULL;
|
||||
|
||||
if (!tracker->is_showing)
|
||||
return NULL;
|
||||
if (display && meta_display_windows_are_interactable (display) &&
|
||||
tracker->has_window_cursor)
|
||||
cursor = tracker->window_cursor;
|
||||
else
|
||||
cursor = tracker->root_cursor;
|
||||
|
||||
if (meta_display_windows_are_interactable (display))
|
||||
if (tracker->displayed_cursor == cursor)
|
||||
return FALSE;
|
||||
|
||||
if (tracker->displayed_cursor)
|
||||
{
|
||||
if (tracker->has_window_cursor)
|
||||
return tracker->window_cursor;
|
||||
g_signal_handlers_disconnect_by_func (tracker->displayed_cursor,
|
||||
cursor_texture_updated,
|
||||
tracker);
|
||||
}
|
||||
|
||||
return tracker->root_cursor;
|
||||
g_set_object (&tracker->displayed_cursor, cursor);
|
||||
|
||||
if (cursor)
|
||||
{
|
||||
g_signal_connect (cursor, "texture-changed",
|
||||
G_CALLBACK (cursor_texture_updated), tracker);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
update_effective_cursor (MetaCursorTracker *tracker)
|
||||
{
|
||||
MetaCursorSprite *cursor = NULL;
|
||||
|
||||
if (tracker->is_showing)
|
||||
cursor = tracker->displayed_cursor;
|
||||
|
||||
return g_set_object (&tracker->effective_cursor, cursor);
|
||||
}
|
||||
|
||||
static void
|
||||
update_displayed_cursor (MetaCursorTracker *tracker)
|
||||
change_cursor_renderer (MetaCursorTracker *tracker)
|
||||
{
|
||||
MetaBackend *backend = meta_get_backend ();
|
||||
MetaCursorRenderer *cursor_renderer =
|
||||
meta_backend_get_cursor_renderer (backend);
|
||||
|
||||
meta_cursor_renderer_set_cursor (cursor_renderer, tracker->displayed_cursor);
|
||||
meta_cursor_renderer_set_cursor (cursor_renderer, tracker->effective_cursor);
|
||||
}
|
||||
|
||||
static void
|
||||
sync_cursor (MetaCursorTracker *tracker)
|
||||
{
|
||||
MetaCursorSprite *displayed_cursor = get_displayed_cursor (tracker);
|
||||
if (update_displayed_cursor (tracker))
|
||||
g_signal_emit (tracker, signals[CURSOR_CHANGED], 0);
|
||||
|
||||
if (tracker->displayed_cursor == displayed_cursor)
|
||||
return;
|
||||
|
||||
g_clear_object (&tracker->displayed_cursor);
|
||||
if (displayed_cursor)
|
||||
tracker->displayed_cursor = g_object_ref (displayed_cursor);
|
||||
|
||||
update_displayed_cursor (tracker);
|
||||
g_signal_emit (tracker, signals[CURSOR_CHANGED], 0);
|
||||
if (update_effective_cursor (tracker))
|
||||
change_cursor_renderer (tracker);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -109,6 +135,8 @@ meta_cursor_tracker_finalize (GObject *object)
|
||||
{
|
||||
MetaCursorTracker *self = META_CURSOR_TRACKER (object);
|
||||
|
||||
if (self->effective_cursor)
|
||||
g_object_unref (self->effective_cursor);
|
||||
if (self->displayed_cursor)
|
||||
g_object_unref (self->displayed_cursor);
|
||||
if (self->root_cursor)
|
||||
@ -133,15 +161,15 @@ meta_cursor_tracker_class_init (MetaCursorTrackerClass *klass)
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_cursor_tracker_get_for_display:
|
||||
* @display: the #MetaDisplay
|
||||
* meta_cursor_tracker_get_for_screen:
|
||||
* @screen: the #MetaScreen
|
||||
*
|
||||
* Retrieves the cursor tracker object for @display.
|
||||
* Retrieves the cursor tracker object for @screen.
|
||||
*
|
||||
* Returns: (transfer none):
|
||||
*/
|
||||
MetaCursorTracker *
|
||||
meta_cursor_tracker_get_for_display (MetaDisplay *display)
|
||||
meta_cursor_tracker_get_for_screen (MetaScreen *screen)
|
||||
{
|
||||
MetaBackend *backend = meta_get_backend ();
|
||||
MetaCursorTracker *tracker = meta_backend_get_cursor_tracker (backend);
|
||||
@ -167,13 +195,13 @@ gboolean
|
||||
meta_cursor_tracker_handle_xevent (MetaCursorTracker *tracker,
|
||||
XEvent *xevent)
|
||||
{
|
||||
MetaX11Display *x11_display = meta_get_display ()->x11_display;
|
||||
MetaDisplay *display = meta_get_display ();
|
||||
XFixesCursorNotifyEvent *notify_event;
|
||||
|
||||
if (meta_is_wayland_compositor ())
|
||||
return FALSE;
|
||||
|
||||
if (xevent->xany.type != x11_display->xfixes_event_base + XFixesCursorNotify)
|
||||
if (xevent->xany.type != display->xfixes_event_base + XFixesCursorNotify)
|
||||
return FALSE;
|
||||
|
||||
notify_event = (XFixesCursorNotifyEvent *)xevent;
|
||||
@ -190,7 +218,6 @@ static void
|
||||
ensure_xfixes_cursor (MetaCursorTracker *tracker)
|
||||
{
|
||||
MetaDisplay *display = meta_get_display ();
|
||||
Display *xdisplay = meta_x11_display_get_xdisplay (display->x11_display);
|
||||
XFixesCursorImage *cursor_image;
|
||||
CoglTexture2D *sprite;
|
||||
guint8 *cursor_data;
|
||||
@ -201,7 +228,7 @@ ensure_xfixes_cursor (MetaCursorTracker *tracker)
|
||||
if (tracker->xfixes_cursor)
|
||||
return;
|
||||
|
||||
cursor_image = XFixesGetCursorImage (xdisplay);
|
||||
cursor_image = XFixesGetCursorImage (display->xdisplay);
|
||||
if (!cursor_image)
|
||||
return;
|
||||
|
||||
@ -285,9 +312,14 @@ meta_cursor_tracker_get_sprite (MetaCursorTracker *tracker)
|
||||
}
|
||||
|
||||
if (cursor_sprite)
|
||||
return meta_cursor_sprite_get_cogl_texture (cursor_sprite);
|
||||
{
|
||||
meta_cursor_sprite_realize_texture (cursor_sprite);
|
||||
return meta_cursor_sprite_get_cogl_texture (cursor_sprite);
|
||||
}
|
||||
else
|
||||
return NULL;
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -23,9 +23,10 @@
|
||||
|
||||
#include "meta-cursor.h"
|
||||
|
||||
#include <meta/meta-x11-errors.h>
|
||||
#include <meta/errors.h>
|
||||
|
||||
#include "display-private.h"
|
||||
#include "screen-private.h"
|
||||
#include "meta-backend-private.h"
|
||||
|
||||
#include <string.h>
|
||||
@ -36,6 +37,7 @@
|
||||
|
||||
enum {
|
||||
PREPARE_AT,
|
||||
TEXTURE_CHANGED,
|
||||
|
||||
LAST_SIGNAL
|
||||
};
|
||||
@ -227,6 +229,8 @@ meta_cursor_sprite_load_from_theme (MetaCursorSprite *self)
|
||||
|
||||
g_assert (self->cursor != META_CURSOR_NONE);
|
||||
|
||||
self->theme_dirty = FALSE;
|
||||
|
||||
/* We might be reloading with a different scale. If so clear the old data. */
|
||||
if (self->xcursor_images)
|
||||
{
|
||||
@ -242,8 +246,6 @@ meta_cursor_sprite_load_from_theme (MetaCursorSprite *self)
|
||||
|
||||
image = meta_cursor_sprite_get_current_frame_image (self);
|
||||
meta_cursor_sprite_load_from_xcursor_image (self, image);
|
||||
|
||||
self->theme_dirty = FALSE;
|
||||
}
|
||||
|
||||
MetaCursorSprite *
|
||||
@ -265,11 +267,18 @@ meta_cursor_sprite_set_texture (MetaCursorSprite *self,
|
||||
int hot_x,
|
||||
int hot_y)
|
||||
{
|
||||
if (self->texture == COGL_TEXTURE_2D (texture) &&
|
||||
self->hot_x == hot_x &&
|
||||
self->hot_y == hot_y)
|
||||
return;
|
||||
|
||||
g_clear_pointer (&self->texture, cogl_object_unref);
|
||||
if (texture)
|
||||
self->texture = cogl_object_ref (texture);
|
||||
self->hot_x = hot_x;
|
||||
self->hot_y = hot_y;
|
||||
|
||||
g_signal_emit (self, signals[TEXTURE_CHANGED], 0);
|
||||
}
|
||||
|
||||
void
|
||||
@ -364,4 +373,10 @@ meta_cursor_sprite_class_init (MetaCursorSpriteClass *klass)
|
||||
G_TYPE_NONE, 2,
|
||||
G_TYPE_INT,
|
||||
G_TYPE_INT);
|
||||
signals[TEXTURE_CHANGED] = g_signal_new ("texture-changed",
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
0,
|
||||
NULL, NULL, NULL,
|
||||
G_TYPE_NONE, 0);
|
||||
}
|
||||
|
235
src/backends/meta-dbus-session-watcher.c
Normal file
235
src/backends/meta-dbus-session-watcher.c
Normal file
@ -0,0 +1,235 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2015-2017 Red Hat Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
* 02111-1307, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "backends/meta-dbus-session-watcher.h"
|
||||
|
||||
#include <gio/gio.h>
|
||||
|
||||
enum
|
||||
{
|
||||
SESSION_SIGNAL_SESSION_CLOSED,
|
||||
|
||||
N_SESSION_SIGNALS
|
||||
};
|
||||
|
||||
static guint session_signals[N_SESSION_SIGNALS];
|
||||
|
||||
G_DEFINE_INTERFACE (MetaDbusSession, meta_dbus_session, G_TYPE_OBJECT)
|
||||
|
||||
struct _MetaDbusSessionWatcher
|
||||
{
|
||||
GObject parent;
|
||||
|
||||
GHashTable *clients;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (MetaDbusSessionWatcher,
|
||||
meta_dbus_session_watcher,
|
||||
G_TYPE_OBJECT)
|
||||
|
||||
typedef struct _MetaDbusSessionClient
|
||||
{
|
||||
MetaDbusSessionWatcher *session_watcher;
|
||||
MetaDbusSession *session;
|
||||
char *dbus_name;
|
||||
guint name_watcher_id;
|
||||
GList *sessions;
|
||||
} MetaDbusSessionClient;
|
||||
|
||||
static void
|
||||
meta_dbus_session_client_vanished (MetaDbusSession *session)
|
||||
{
|
||||
META_DBUS_SESSION_GET_IFACE (session)->client_vanished (session);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_dbus_session_client_destroy (MetaDbusSessionClient *client)
|
||||
{
|
||||
while (TRUE)
|
||||
{
|
||||
GList *l;
|
||||
MetaDbusSession *session;
|
||||
|
||||
l = client->sessions;
|
||||
if (!l)
|
||||
break;
|
||||
|
||||
session = l->data;
|
||||
|
||||
/*
|
||||
* This will invoke on_session_closed which removes the session from the
|
||||
* list.
|
||||
*/
|
||||
meta_dbus_session_client_vanished (session);
|
||||
}
|
||||
|
||||
if (client->name_watcher_id)
|
||||
g_bus_unwatch_name (client->name_watcher_id);
|
||||
|
||||
g_free (client->dbus_name);
|
||||
g_free (client);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_dbus_session_watcher_destroy_client (MetaDbusSessionWatcher *session_watcher,
|
||||
MetaDbusSessionClient *client)
|
||||
{
|
||||
g_hash_table_remove (session_watcher->clients, client->dbus_name);
|
||||
}
|
||||
|
||||
static void
|
||||
name_vanished_callback (GDBusConnection *connection,
|
||||
const char *name,
|
||||
gpointer user_data)
|
||||
{
|
||||
MetaDbusSessionClient *client = user_data;
|
||||
|
||||
g_warning ("D-Bus client with active sessions vanished");
|
||||
|
||||
client->name_watcher_id = 0;
|
||||
|
||||
meta_dbus_session_watcher_destroy_client (client->session_watcher, client);
|
||||
}
|
||||
|
||||
static MetaDbusSessionClient *
|
||||
meta_dbus_session_client_new (MetaDbusSessionWatcher *session_watcher,
|
||||
MetaDbusSession *session,
|
||||
const char *dbus_name)
|
||||
{
|
||||
GDBusInterfaceSkeleton *interface_skeleton =
|
||||
G_DBUS_INTERFACE_SKELETON (session);
|
||||
GDBusConnection *connection =
|
||||
g_dbus_interface_skeleton_get_connection (interface_skeleton);
|
||||
MetaDbusSessionClient *client;
|
||||
|
||||
client = g_new0 (MetaDbusSessionClient, 1);
|
||||
client->session_watcher = session_watcher;
|
||||
client->session = session;
|
||||
client->dbus_name = g_strdup (dbus_name);
|
||||
|
||||
client->name_watcher_id =
|
||||
g_bus_watch_name_on_connection (connection,
|
||||
dbus_name,
|
||||
G_BUS_NAME_WATCHER_FLAGS_NONE,
|
||||
NULL,
|
||||
name_vanished_callback,
|
||||
client,
|
||||
NULL);
|
||||
|
||||
return client;
|
||||
}
|
||||
|
||||
static void
|
||||
on_session_closed (MetaDbusSession *session,
|
||||
MetaDbusSessionClient *client)
|
||||
{
|
||||
client->sessions = g_list_remove (client->sessions, session);
|
||||
|
||||
if (!client->sessions)
|
||||
meta_dbus_session_watcher_destroy_client (client->session_watcher, client);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_dbus_session_client_add_session (MetaDbusSessionClient *client,
|
||||
MetaDbusSession *session)
|
||||
{
|
||||
client->sessions = g_list_append (client->sessions, session);
|
||||
|
||||
g_signal_connect (session, "session-closed",
|
||||
G_CALLBACK (on_session_closed),
|
||||
client);
|
||||
}
|
||||
|
||||
static MetaDbusSessionClient *
|
||||
meta_dbus_session_watcher_get_client (MetaDbusSessionWatcher *session_watcher,
|
||||
const char *dbus_name)
|
||||
{
|
||||
return g_hash_table_lookup (session_watcher->clients, dbus_name);
|
||||
}
|
||||
|
||||
void
|
||||
meta_dbus_session_watcher_watch_session (MetaDbusSessionWatcher *session_watcher,
|
||||
const char *client_dbus_name,
|
||||
MetaDbusSession *session)
|
||||
{
|
||||
MetaDbusSessionClient *client;
|
||||
|
||||
client = meta_dbus_session_watcher_get_client (session_watcher,
|
||||
client_dbus_name);
|
||||
if (!client)
|
||||
{
|
||||
client = meta_dbus_session_client_new (session_watcher,
|
||||
session,
|
||||
client_dbus_name);
|
||||
g_hash_table_insert (session_watcher->clients,
|
||||
g_strdup (client_dbus_name),
|
||||
client);
|
||||
}
|
||||
|
||||
meta_dbus_session_client_add_session (client, session);
|
||||
}
|
||||
|
||||
void
|
||||
meta_dbus_session_notify_closed (MetaDbusSession *session)
|
||||
{
|
||||
g_signal_emit (session, session_signals[SESSION_SIGNAL_SESSION_CLOSED], 0);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_dbus_session_default_init (MetaDbusSessionInterface *iface)
|
||||
{
|
||||
session_signals[SESSION_SIGNAL_SESSION_CLOSED] =
|
||||
g_signal_new ("session-closed",
|
||||
G_TYPE_FROM_INTERFACE (iface),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
0,
|
||||
NULL, NULL, NULL,
|
||||
G_TYPE_NONE, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_dbus_session_watcher_finalize (GObject *object)
|
||||
{
|
||||
MetaDbusSessionWatcher *session_watcher = META_DBUS_SESSION_WATCHER (object);
|
||||
|
||||
g_hash_table_destroy (session_watcher->clients);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_dbus_session_watcher_init (MetaDbusSessionWatcher *session_watcher)
|
||||
{
|
||||
session_watcher->clients =
|
||||
g_hash_table_new_full (g_str_hash,
|
||||
g_str_equal,
|
||||
g_free,
|
||||
(GDestroyNotify) meta_dbus_session_client_destroy);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_dbus_session_watcher_class_init (MetaDbusSessionWatcherClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
object_class->finalize = meta_dbus_session_watcher_finalize;
|
||||
}
|
52
src/backends/meta-dbus-session-watcher.h
Normal file
52
src/backends/meta-dbus-session-watcher.h
Normal file
@ -0,0 +1,52 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2017 Red Hat Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
* 02111-1307, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef META_DBUS_SESSION_WATCHER_H
|
||||
#define META_DBUS_SESSION_WATCHER_H
|
||||
|
||||
#include <glib-object.h>
|
||||
|
||||
#define META_TYPE_DBUS_SESSION (meta_dbus_session_get_type ())
|
||||
G_DECLARE_INTERFACE (MetaDbusSession, meta_dbus_session,
|
||||
META, DBUS_SESSION,
|
||||
GObject)
|
||||
|
||||
struct _MetaDbusSessionInterface
|
||||
{
|
||||
GTypeInterface parent_iface;
|
||||
|
||||
void (* client_vanished) (MetaDbusSession *session);
|
||||
};
|
||||
|
||||
#define META_TYPE_DBUS_SESSION_WATCHER (meta_dbus_session_watcher_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (MetaDbusSessionWatcher,
|
||||
meta_dbus_session_watcher,
|
||||
META, DBUS_SESSION_WATCHER,
|
||||
GObject)
|
||||
|
||||
void meta_dbus_session_watcher_watch_session (MetaDbusSessionWatcher *session_watcher,
|
||||
const char *client_dbus_name,
|
||||
MetaDbusSession *session);
|
||||
|
||||
void meta_dbus_session_notify_closed (MetaDbusSession *session);
|
||||
|
||||
#endif /* META_DBUS_SESSION_WATCHER_H */
|
@ -24,11 +24,12 @@
|
||||
|
||||
gboolean meta_dnd_handle_xdnd_event (MetaBackend *backend,
|
||||
MetaCompositor *compositor,
|
||||
Display *xdisplay,
|
||||
MetaDisplay *display,
|
||||
XEvent *xev);
|
||||
|
||||
#ifdef HAVE_WAYLAND
|
||||
void meta_dnd_wayland_handle_begin_modal (MetaCompositor *compositor);
|
||||
void meta_dnd_wayland_handle_end_modal (MetaCompositor *compositor);
|
||||
#endif
|
||||
|
||||
#endif /* META_DND_PRIVATE_H */
|
||||
|
@ -160,11 +160,11 @@ set_egl_error (GError **error)
|
||||
error_str);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
extensions_string_has_extensions_valist (const char *extensions_str,
|
||||
char ***missing_extensions,
|
||||
char *first_extension,
|
||||
va_list var_args)
|
||||
gboolean
|
||||
meta_extensions_string_has_extensions_valist (const char *extensions_str,
|
||||
char ***missing_extensions,
|
||||
char *first_extension,
|
||||
va_list var_args)
|
||||
{
|
||||
char **extensions;
|
||||
char *extension;
|
||||
@ -222,10 +222,11 @@ meta_egl_has_extensions (MetaEgl *egl,
|
||||
}
|
||||
|
||||
va_start (var_args, first_extension);
|
||||
has_extensions = extensions_string_has_extensions_valist (extensions_str,
|
||||
missing_extensions,
|
||||
first_extension,
|
||||
var_args);
|
||||
has_extensions =
|
||||
meta_extensions_string_has_extensions_valist (extensions_str,
|
||||
missing_extensions,
|
||||
first_extension,
|
||||
var_args);
|
||||
va_end (var_args);
|
||||
|
||||
return has_extensions;
|
||||
@ -245,6 +246,25 @@ meta_egl_initialize (MetaEgl *egl,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gpointer
|
||||
meta_egl_get_proc_address (MetaEgl *egl,
|
||||
const char *procname,
|
||||
GError **error)
|
||||
{
|
||||
gpointer func;
|
||||
|
||||
func = (gpointer) eglGetProcAddress (procname);
|
||||
if (!func)
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"Could not load symbol '%s': Not found",
|
||||
procname);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return func;
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_egl_choose_config (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
@ -289,6 +309,27 @@ meta_egl_choose_config (MetaEgl *egl,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
EGLSurface
|
||||
meta_egl_create_window_surface (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
EGLConfig config,
|
||||
EGLNativeWindowType native_window_type,
|
||||
const EGLint *attrib_list,
|
||||
GError **error)
|
||||
{
|
||||
EGLSurface surface;
|
||||
|
||||
surface = eglCreateWindowSurface (display, config,
|
||||
native_window_type, attrib_list);
|
||||
if (surface == EGL_NO_SURFACE)
|
||||
{
|
||||
set_egl_error (error);
|
||||
return EGL_NO_SURFACE;
|
||||
}
|
||||
|
||||
return surface;
|
||||
}
|
||||
|
||||
EGLSurface
|
||||
meta_egl_create_pbuffer_surface (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
@ -308,6 +349,21 @@ meta_egl_create_pbuffer_surface (MetaEgl *egl,
|
||||
return surface;
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_egl_destroy_surface (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
EGLSurface surface,
|
||||
GError **error)
|
||||
{
|
||||
if (!eglDestroySurface (display, surface))
|
||||
{
|
||||
set_egl_error (error);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
is_egl_proc_valid_real (void *proc,
|
||||
const char *proc_name,
|
||||
@ -352,6 +408,55 @@ meta_egl_get_platform_display (MetaEgl *egl,
|
||||
return display;
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_egl_terminate (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
GError **error)
|
||||
{
|
||||
if (!eglTerminate (display))
|
||||
{
|
||||
set_egl_error (error);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
EGLContext
|
||||
meta_egl_create_context (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
EGLConfig config,
|
||||
EGLContext share_context,
|
||||
const EGLint *attrib_list,
|
||||
GError **error)
|
||||
{
|
||||
EGLContext context;
|
||||
|
||||
context = eglCreateContext (display, config, share_context, attrib_list);
|
||||
if (context == EGL_NO_CONTEXT)
|
||||
{
|
||||
set_egl_error (error);
|
||||
return EGL_NO_CONTEXT;
|
||||
}
|
||||
|
||||
return context;
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_egl_destroy_context (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
EGLContext context,
|
||||
GError **error)
|
||||
{
|
||||
if (!eglDestroyContext (display, context))
|
||||
{
|
||||
set_egl_error (error);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
EGLImageKHR
|
||||
meta_egl_create_image (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
@ -395,6 +500,38 @@ meta_egl_destroy_image (MetaEgl *egl,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_egl_make_current (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
EGLSurface draw,
|
||||
EGLSurface read,
|
||||
EGLContext context,
|
||||
GError **error)
|
||||
{
|
||||
if (!eglMakeCurrent (display, draw, read, context))
|
||||
{
|
||||
set_egl_error (error);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_egl_swap_buffers (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
EGLSurface surface,
|
||||
GError **error)
|
||||
{
|
||||
if (!eglSwapBuffers (display, surface))
|
||||
{
|
||||
set_egl_error (error);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_egl_query_wayland_buffer (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
@ -479,10 +616,11 @@ meta_egl_egl_device_has_extensions (MetaEgl *egl,
|
||||
}
|
||||
|
||||
va_start (var_args, first_extension);
|
||||
has_extensions = extensions_string_has_extensions_valist (extensions_str,
|
||||
missing_extensions,
|
||||
first_extension,
|
||||
var_args);
|
||||
has_extensions =
|
||||
meta_extensions_string_has_extensions_valist (extensions_str,
|
||||
missing_extensions,
|
||||
first_extension,
|
||||
var_args);
|
||||
va_end (var_args);
|
||||
|
||||
return has_extensions;
|
||||
|
@ -36,6 +36,12 @@ G_DECLARE_FINAL_TYPE (MetaEgl, meta_egl, META, EGL, GObject)
|
||||
|
||||
GQuark meta_egl_error_quark (void);
|
||||
|
||||
gboolean
|
||||
meta_extensions_string_has_extensions_valist (const char *extensions_str,
|
||||
char ***missing_extensions,
|
||||
char *first_extension,
|
||||
va_list var_args);
|
||||
|
||||
gboolean meta_egl_has_extensions (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
char ***missing_extensions,
|
||||
@ -46,12 +52,28 @@ gboolean meta_egl_initialize (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
GError **error);
|
||||
|
||||
gpointer meta_egl_get_proc_address (MetaEgl *egl,
|
||||
const char *procname,
|
||||
GError **error);
|
||||
|
||||
gboolean meta_egl_choose_config (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
const EGLint *attrib_list,
|
||||
EGLConfig *chosen_config,
|
||||
GError **error);
|
||||
|
||||
EGLContext meta_egl_create_context (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
EGLConfig config,
|
||||
EGLContext share_context,
|
||||
const EGLint *attrib_list,
|
||||
GError **error);
|
||||
|
||||
gboolean meta_egl_destroy_context (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
EGLContext context,
|
||||
GError **error);
|
||||
|
||||
EGLImageKHR meta_egl_create_image (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
EGLContext context,
|
||||
@ -65,18 +87,46 @@ gboolean meta_egl_destroy_image (MetaEgl *egl,
|
||||
EGLImageKHR image,
|
||||
GError **error);
|
||||
|
||||
EGLSurface meta_egl_create_window_surface (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
EGLConfig config,
|
||||
EGLNativeWindowType native_window_type,
|
||||
const EGLint *attrib_list,
|
||||
GError **error);
|
||||
|
||||
EGLSurface meta_egl_create_pbuffer_surface (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
EGLConfig config,
|
||||
const EGLint *attrib_list,
|
||||
GError **error);
|
||||
|
||||
gboolean meta_egl_destroy_surface (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
EGLSurface surface,
|
||||
GError **error);
|
||||
|
||||
EGLDisplay meta_egl_get_platform_display (MetaEgl *egl,
|
||||
EGLenum platform,
|
||||
void *native_display,
|
||||
const EGLint *attrib_list,
|
||||
GError **error);
|
||||
|
||||
gboolean meta_egl_terminate (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
GError **error);
|
||||
|
||||
gboolean meta_egl_make_current (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
EGLSurface draw,
|
||||
EGLSurface read,
|
||||
EGLContext context,
|
||||
GError **error);
|
||||
|
||||
gboolean meta_egl_swap_buffers (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
EGLSurface surface,
|
||||
GError **error);
|
||||
|
||||
gboolean meta_egl_query_wayland_buffer (MetaEgl *egl,
|
||||
EGLDisplay display,
|
||||
struct wl_resource *buffer,
|
||||
|
36
src/backends/meta-gles3-table.h
Normal file
36
src/backends/meta-gles3-table.h
Normal file
@ -0,0 +1,36 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/*
|
||||
* 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 META_GLES3_TABLE_H
|
||||
#define META_GLES3_TABLE_H
|
||||
|
||||
#include <GLES2/gl2.h>
|
||||
#include <GLES2/gl2ext.h>
|
||||
#include <GLES3/gl3.h>
|
||||
|
||||
typedef struct _MetaGles3Table
|
||||
{
|
||||
void (* glEGLImageTargetTexture2DOES) (GLenum target,
|
||||
GLeglImageOES image);
|
||||
} MetaGles3Table;
|
||||
|
||||
#endif /* META_GLES3_TABLE */
|
163
src/backends/meta-gles3.c
Normal file
163
src/backends/meta-gles3.c
Normal file
@ -0,0 +1,163 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/*
|
||||
* 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 <stdio.h>
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "backends/meta-gles3.h"
|
||||
|
||||
#include <dlfcn.h>
|
||||
#include <gio/gio.h>
|
||||
|
||||
#include "backends/meta-gles3-table.h"
|
||||
|
||||
struct _MetaGles3
|
||||
{
|
||||
GObject parent;
|
||||
|
||||
MetaEgl *egl;
|
||||
|
||||
MetaGles3Table table;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (MetaGles3, meta_gles3, G_TYPE_OBJECT)
|
||||
|
||||
MetaGles3Table *
|
||||
meta_gles3_get_table (MetaGles3 *gles3)
|
||||
{
|
||||
return &gles3->table;
|
||||
}
|
||||
|
||||
void
|
||||
meta_gles3_ensure_loaded (MetaGles3 *gles3,
|
||||
gpointer *func,
|
||||
const char *name)
|
||||
{
|
||||
GError *error = NULL;
|
||||
|
||||
if (*func)
|
||||
return;
|
||||
|
||||
*func = meta_egl_get_proc_address (gles3->egl, name, &error);
|
||||
if (!*func)
|
||||
g_error ("Failed to load GLES3 symbol: %s", error->message);
|
||||
}
|
||||
|
||||
static const char *
|
||||
get_gl_error_str (GLenum gl_error)
|
||||
{
|
||||
switch (gl_error)
|
||||
{
|
||||
case GL_NO_ERROR:
|
||||
return "No error has been recorded.";
|
||||
case GL_INVALID_ENUM:
|
||||
return "An unacceptable value is specified for an enumerated argument.";
|
||||
case GL_INVALID_VALUE:
|
||||
return "A numeric argument is out of range.";
|
||||
case GL_INVALID_OPERATION:
|
||||
return "The specified operation is not allowed in the current state.";
|
||||
case GL_INVALID_FRAMEBUFFER_OPERATION:
|
||||
return "The framebuffer object is not complete.";
|
||||
case GL_OUT_OF_MEMORY:
|
||||
return "There is not enough memory left to execute the command.";
|
||||
default:
|
||||
return "Unknown error";
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
meta_gles3_clear_error (MetaGles3 *gles3)
|
||||
{
|
||||
while (TRUE)
|
||||
{
|
||||
GLenum gl_error = glGetError ();
|
||||
|
||||
if (gl_error == GL_NO_ERROR)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_gles3_validate (MetaGles3 *gles3,
|
||||
GError **error)
|
||||
{
|
||||
GLenum gl_error;
|
||||
|
||||
gl_error = glGetError ();
|
||||
if (gl_error != GL_NO_ERROR)
|
||||
{
|
||||
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
get_gl_error_str (gl_error));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_gles3_has_extensions (MetaGles3 *gles3,
|
||||
char ***missing_extensions,
|
||||
char *first_extension,
|
||||
...)
|
||||
{
|
||||
va_list var_args;
|
||||
const char *extensions_str;
|
||||
gboolean has_extensions;
|
||||
|
||||
extensions_str = (const char *) glGetString (GL_EXTENSIONS);
|
||||
if (!extensions_str)
|
||||
{
|
||||
g_warning ("Failed to get string: %s", get_gl_error_str (glGetError ()));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
va_start (var_args, first_extension);
|
||||
has_extensions =
|
||||
meta_extensions_string_has_extensions_valist (extensions_str,
|
||||
missing_extensions,
|
||||
first_extension,
|
||||
var_args);
|
||||
va_end (var_args);
|
||||
|
||||
return has_extensions;
|
||||
}
|
||||
|
||||
MetaGles3 *
|
||||
meta_gles3_new (MetaEgl *egl)
|
||||
{
|
||||
MetaGles3 *gles3;
|
||||
|
||||
gles3 = g_object_new (META_TYPE_GLES3, NULL);
|
||||
gles3->egl = egl;
|
||||
|
||||
return gles3;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_gles3_init (MetaGles3 *gles3)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
meta_gles3_class_init (MetaGles3Class *klass)
|
||||
{
|
||||
}
|
83
src/backends/meta-gles3.h
Normal file
83
src/backends/meta-gles3.h
Normal file
@ -0,0 +1,83 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/*
|
||||
* 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 META_GLES3_H
|
||||
#define META_GLES3_H
|
||||
|
||||
#include <glib-object.h>
|
||||
|
||||
#include "backends/meta-egl.h"
|
||||
|
||||
typedef struct _MetaGles3Table MetaGles3Table;
|
||||
|
||||
#define META_TYPE_GLES3 (meta_gles3_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (MetaGles3, meta_gles3, META, GLES3, GObject)
|
||||
|
||||
MetaGles3Table * meta_gles3_get_table (MetaGles3 *gles3);
|
||||
|
||||
void meta_gles3_clear_error (MetaGles3 *gles3);
|
||||
|
||||
gboolean meta_gles3_validate (MetaGles3 *gles3,
|
||||
GError **error);
|
||||
|
||||
void meta_gles3_ensure_loaded (MetaGles3 *gles,
|
||||
gpointer *func,
|
||||
const char *name);
|
||||
|
||||
gboolean meta_gles3_has_extensions (MetaGles3 *gles3,
|
||||
char ***missing_extensions,
|
||||
char *first_extension,
|
||||
...);
|
||||
|
||||
MetaGles3 * meta_gles3_new (MetaEgl *egl);
|
||||
|
||||
#define GLBAS(gles3, func, args) \
|
||||
{ \
|
||||
GError *_error = NULL; \
|
||||
\
|
||||
func args; \
|
||||
\
|
||||
if (!meta_gles3_validate (gles3, &_error)) \
|
||||
{ \
|
||||
g_warning ("%s %s failed: %s", #func, #args, _error->message); \
|
||||
g_error_free (_error); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define GLEXT(gles3, func, args) \
|
||||
{ \
|
||||
GError *_error = NULL; \
|
||||
MetaGles3Table *table; \
|
||||
\
|
||||
table = meta_gles3_get_table (gles3); \
|
||||
meta_gles3_ensure_loaded (gles3, (gpointer *) &table->func, #func); \
|
||||
\
|
||||
table->func args; \
|
||||
\
|
||||
if (!meta_gles3_validate (gles3, &_error)) \
|
||||
{ \
|
||||
g_warning ("%s %s failed: %s", #func, #args, _error->message); \
|
||||
g_error_free (_error); \
|
||||
} \
|
||||
}
|
||||
|
||||
#endif /* META_GLES3_H */
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user