Compare commits
328 Commits
3.0.0
...
wip/multit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bdfb8609a3 | ||
|
|
141a353a52 | ||
|
|
15186016c2 | ||
|
|
bd77a67ea4 | ||
|
|
2a9a499841 | ||
|
|
50aa509ee1 | ||
|
|
0eefb6b306 | ||
|
|
d115c90ed1 | ||
|
|
83096642f0 | ||
|
|
a65c4e993e | ||
|
|
e73a566eeb | ||
|
|
46ef055da5 | ||
|
|
45450c2fa3 | ||
|
|
afa4c643a8 | ||
|
|
5d1c302b18 | ||
|
|
53b289ce25 | ||
|
|
776628fde2 | ||
|
|
b9f5185c90 | ||
|
|
7555b092eb | ||
|
|
f46ef5f6e0 | ||
|
|
0e182c7c3d | ||
|
|
84b9d5c9f9 | ||
|
|
8e3b9be79c | ||
|
|
74520ab20b | ||
|
|
40c2b0c5bb | ||
|
|
40ec37eed0 | ||
|
|
4e6e40de87 | ||
|
|
319208f859 | ||
|
|
f670a4f348 | ||
|
|
57dff10ab5 | ||
|
|
53bd0c70c9 | ||
|
|
2507d20bb7 | ||
|
|
7d5e7ec3e6 | ||
|
|
0b8848057b | ||
|
|
0b841f8940 | ||
|
|
61b120d08c | ||
|
|
2aa39eb4fd | ||
|
|
dc5b813608 | ||
|
|
df044a0035 | ||
|
|
154730a3d9 | ||
|
|
557ed7ac0b | ||
|
|
bce2bc0568 | ||
|
|
7c86cb85ba | ||
|
|
ab58d87142 | ||
|
|
e62076f055 | ||
|
|
1e8f10826a | ||
|
|
cca79a77da | ||
|
|
67018d2d04 | ||
|
|
199395a395 | ||
|
|
ad911d6cce | ||
|
|
daeaf44e02 | ||
|
|
ec587190e8 | ||
|
|
22a44bf007 | ||
|
|
e1679cb35b | ||
|
|
5da2ff0f4e | ||
|
|
a547596be4 | ||
|
|
bb7d549136 | ||
|
|
e800da2bca | ||
|
|
3def650a93 | ||
|
|
48f59d88fa | ||
|
|
01e77bae9d | ||
|
|
66e9720cb7 | ||
|
|
3a8837f8ab | ||
|
|
cc4f66bc8a | ||
|
|
90287cb3f6 | ||
|
|
0c317e8ced | ||
|
|
33c829ee39 | ||
|
|
e92757ac8b | ||
|
|
08f06ba012 | ||
|
|
e49cbb3614 | ||
|
|
98e95ed5e8 | ||
|
|
5338134b49 | ||
|
|
f5aab9398b | ||
|
|
3beb33bb44 | ||
|
|
1b04a40dce | ||
|
|
8087872130 | ||
|
|
3ad25a62cd | ||
|
|
7ecd673d23 | ||
|
|
331c9aaee4 | ||
|
|
ec1979f9f5 | ||
|
|
4b411ea241 | ||
|
|
70db187c36 | ||
|
|
4de3f1d147 | ||
|
|
821d4458ea | ||
|
|
7f9472a58f | ||
|
|
3599917123 | ||
|
|
d624e85bc1 | ||
|
|
6aa4bfd060 | ||
|
|
a26e72c452 | ||
|
|
acc4e03482 | ||
|
|
e176a9e891 | ||
|
|
0b36663ff1 | ||
|
|
bb035fe6e0 | ||
|
|
6d0c1f08d2 | ||
|
|
f700a7be07 | ||
|
|
138eb1e3b4 | ||
|
|
c39129b6e8 | ||
|
|
bf175e72ad | ||
|
|
ba31ba4615 | ||
|
|
f94f008ed6 | ||
|
|
9d4f3c5842 | ||
|
|
0b2a9d58e0 | ||
|
|
28deea44d4 | ||
|
|
f82966adb5 | ||
|
|
9f54f1d75d | ||
|
|
be9f7d7729 | ||
|
|
1b4dce6f84 | ||
|
|
3bb17f0671 | ||
|
|
19d111a27b | ||
|
|
289561ddf3 | ||
|
|
d2ca160ea3 | ||
|
|
cd19f9239c | ||
|
|
16157ad522 | ||
|
|
d37a692392 | ||
|
|
f78f33d848 | ||
|
|
c4692b8d51 | ||
|
|
764569eb7a | ||
|
|
aab0d2f54e | ||
|
|
24678de261 | ||
|
|
1b71eeb02a | ||
|
|
bfc6a2b078 | ||
|
|
9c9da8f575 | ||
|
|
d1a87288a4 | ||
|
|
e7c65d9404 | ||
|
|
00e49b330c | ||
|
|
7c6bc73031 | ||
|
|
c1368155fc | ||
|
|
d305174ecc | ||
|
|
6b7391bca9 | ||
|
|
4e99c38491 | ||
|
|
6087a71951 | ||
|
|
5f1c3de29a | ||
|
|
abde64cb0c | ||
|
|
6923973c8a | ||
|
|
d7f1b95349 | ||
|
|
4a5c7ee4cc | ||
|
|
f3bb16f301 | ||
|
|
d6b528a955 | ||
|
|
7ba6503e9b | ||
|
|
9ee7783759 | ||
|
|
2dc5693c60 | ||
|
|
a1ef22e0d7 | ||
|
|
19b6888ea5 | ||
|
|
9520eaa970 | ||
|
|
088e0c1ee7 | ||
|
|
de704386a1 | ||
|
|
766799ec6d | ||
|
|
7c50db5bf5 | ||
|
|
7223c4e184 | ||
|
|
b0a9c391a1 | ||
|
|
5c7158792f | ||
|
|
9c71d23884 | ||
|
|
e1362562b4 | ||
|
|
1ab6abc044 | ||
|
|
bf4f3a8a99 | ||
|
|
f9626d2db6 | ||
|
|
28b59589ca | ||
|
|
fb10910e66 | ||
|
|
6d2efe9460 | ||
|
|
f587595765 | ||
|
|
5e6e8728c3 | ||
|
|
f620f1b466 | ||
|
|
818320e748 | ||
|
|
fc2e7e94a5 | ||
|
|
a47e35ba2e | ||
|
|
07d8b2d510 | ||
|
|
6329aeac11 | ||
|
|
af1fef03f4 | ||
|
|
f778cf0ea3 | ||
|
|
7af6aa9739 | ||
|
|
faae2daae8 | ||
|
|
0b4cc14aa6 | ||
|
|
622583a0d5 | ||
|
|
2f33d85a41 | ||
|
|
3abb651325 | ||
|
|
ada8882b61 | ||
|
|
d3831729a0 | ||
|
|
05fee9beea | ||
|
|
e4da6495d3 | ||
|
|
8c74ad1992 | ||
|
|
88064fd534 | ||
|
|
b28c6533f8 | ||
|
|
53e70b3e99 | ||
|
|
c630046858 | ||
|
|
a75c4d2cc9 | ||
|
|
368a90c82a | ||
|
|
2be1574e55 | ||
|
|
7f8c59614e | ||
|
|
3650e9b074 | ||
|
|
978e601217 | ||
|
|
dcfa6986c6 | ||
|
|
49a3fd53b0 | ||
|
|
d33d113746 | ||
|
|
f83568fc4e | ||
|
|
46415bb248 | ||
|
|
5123a1fb03 | ||
|
|
19f4a5c819 | ||
|
|
69e9b70829 | ||
|
|
443ca1cc02 | ||
|
|
9a5f4a3346 | ||
|
|
16a40dde7b | ||
|
|
36e6e65778 | ||
|
|
b3bf2e08f3 | ||
|
|
3ec500937f | ||
|
|
c45c4af5da | ||
|
|
a485685867 | ||
|
|
08363f4d9b | ||
|
|
2f254e5aa3 | ||
|
|
e0e78993f6 | ||
|
|
eeb2efe010 | ||
|
|
be4ef9b43d | ||
|
|
a133d8b42e | ||
|
|
a1a2527c75 | ||
|
|
6f5882302f | ||
|
|
ce9c7a210d | ||
|
|
e0fb83c691 | ||
|
|
7e0a56fb80 | ||
|
|
65e1b416ef | ||
|
|
183bcd6fc7 | ||
|
|
f76372dd7d | ||
|
|
9c493ab56a | ||
|
|
a17f73a020 | ||
|
|
6ff9cae2b1 | ||
|
|
d3edcbc11e | ||
|
|
779ef582f1 | ||
|
|
385887c55b | ||
|
|
f396a7aeb4 | ||
|
|
ffa2310a34 | ||
|
|
fccd626604 | ||
|
|
5237b2aa65 | ||
|
|
b1ae599c39 | ||
|
|
3f694c7335 | ||
|
|
3da2f876bd | ||
|
|
a6d08fcd71 | ||
|
|
73d22a273e | ||
|
|
24843f277f | ||
|
|
4167ef870c | ||
|
|
cd7a968093 | ||
|
|
12f71c9795 | ||
|
|
b369c75e1b | ||
|
|
739eade4fa | ||
|
|
d2b63eaf1f | ||
|
|
47b432bf89 | ||
|
|
b70ccd2a56 | ||
|
|
be8df20675 | ||
|
|
4a10c95e76 | ||
|
|
54b2fab849 | ||
|
|
8033184134 | ||
|
|
d95da2dfbe | ||
|
|
03457029f7 | ||
|
|
f8d900c3ea | ||
|
|
e16beba111 | ||
|
|
60ee25d8d5 | ||
|
|
ce1369609f | ||
|
|
8199699e7c | ||
|
|
48cabd1364 | ||
|
|
6dc79ce60a | ||
|
|
a8cfdc19e2 | ||
|
|
db4ae415e3 | ||
|
|
7842d92995 | ||
|
|
b34c01a95a | ||
|
|
e4546829e3 | ||
|
|
8dc3de87ad | ||
|
|
e3094ace05 | ||
|
|
6f49a00bbe | ||
|
|
b5f277bd7b | ||
|
|
f798144bea | ||
|
|
699fb0d0f1 | ||
|
|
5b84f62a89 | ||
|
|
3209e88c6f | ||
|
|
0202a0837d | ||
|
|
2b93c19328 | ||
|
|
66a830fd46 | ||
|
|
d752096cdf | ||
|
|
fe12294b92 | ||
|
|
61b5cfece4 | ||
|
|
ec5fb2a4ad | ||
|
|
cdabd517fa | ||
|
|
ebfe9a0355 | ||
|
|
c1a5261e2f | ||
|
|
c18940a5a2 | ||
|
|
b533ad2669 | ||
|
|
526bc34bba | ||
|
|
35d300b916 | ||
|
|
c70087db0c | ||
|
|
9804841adb | ||
|
|
aa92aa08bd | ||
|
|
15e55b2ca1 | ||
|
|
4257b8deff | ||
|
|
e21e2c892a | ||
|
|
05662b678e | ||
|
|
64f37a3769 | ||
|
|
7c9f492584 | ||
|
|
7577437167 | ||
|
|
be6775767c | ||
|
|
0d9a9b8d3b | ||
|
|
4affd22817 | ||
|
|
eb17cd9ba9 | ||
|
|
0cdac78bd5 | ||
|
|
4f3b03e13b | ||
|
|
da4486b833 | ||
|
|
37aeb5baf1 | ||
|
|
a2cb38b382 | ||
|
|
c573523c4d | ||
|
|
64e6b77dc3 | ||
|
|
d0414a3ea6 | ||
|
|
6596374886 | ||
|
|
7d70343c6d | ||
|
|
cb87908dca | ||
|
|
95f33b36a7 | ||
|
|
d246d1c971 | ||
|
|
89dbef9eb3 | ||
|
|
60dd31ed48 | ||
|
|
40f51114b5 | ||
|
|
d9007a08c9 | ||
|
|
3d05405a78 | ||
|
|
1ca697a130 | ||
|
|
c248c57b6e | ||
|
|
67c3c93b8f | ||
|
|
c3a04bf394 | ||
|
|
c30c29b8c3 | ||
|
|
5eb8aa655b | ||
|
|
3543782f39 | ||
|
|
4ff4ebebb6 | ||
|
|
a3c96c12d6 | ||
|
|
eb0e658c99 | ||
|
|
4d069650ae | ||
|
|
d176755926 |
6
.gitignore
vendored
6
.gitignore
vendored
@@ -40,6 +40,7 @@ stamp-h1
|
||||
stamp-it
|
||||
.intltool-merge-cache
|
||||
POTFILES
|
||||
po/*.pot
|
||||
50-metacity-desktop-key.xml
|
||||
50-metacity-key.xml
|
||||
inlinepixbufs.h
|
||||
@@ -56,10 +57,13 @@ mutter-mag
|
||||
mutter-message
|
||||
mutter-window-demo
|
||||
focus-window
|
||||
test-attached
|
||||
test-gravity
|
||||
test-resizing
|
||||
test-size-hints
|
||||
wm-tester
|
||||
# We can't say just "wm-tester" here or it will ignore the directory
|
||||
# rather than the binary
|
||||
src/wm-tester/wm-tester
|
||||
INSTALL
|
||||
mkinstalldirs
|
||||
src/mutter-enum-types.[ch]
|
||||
|
||||
234
NEWS
234
NEWS
@@ -1,3 +1,237 @@
|
||||
3.2.1
|
||||
=====
|
||||
* Allow keyboard window switching (alt-Tab) during drag-and-drop
|
||||
[Matthias, #660457]
|
||||
* Don't add invisible resize borders to fullscreen windows
|
||||
[Jasper, Owen; #659854]
|
||||
* Fix crash when toplevel windows were set to unexpected window types
|
||||
[Owen; #599988]
|
||||
* Correct problems with windows moving when restarting or switching
|
||||
window managers [Jasper; #660848]
|
||||
* Fix interaction of tiled windows with multiple monitors
|
||||
[Rui; #642580, #657519]
|
||||
* Make meta_display_unmanage_screen() public [Jasper; #660848]
|
||||
* Fix problem with turning off window decorations on the fly [Rui; #660773]
|
||||
* Fix spurious assertion failures with themes such as Nodoka [Sandro; #661286]
|
||||
* Misc bug fixes [Adel, Jasper, Rui; #660464, #660854, #662053]
|
||||
|
||||
Contributors:
|
||||
Matthias Clasen, Sandro Mani, Rui Matos, Jasper St. Pierre, Owen Taylor
|
||||
|
||||
Translations:
|
||||
Tommi Vainikainen [fi], Miroslav Nikolić [sr, sr@latin], Muhammet Kara [tr]
|
||||
|
||||
3.2.0
|
||||
=====
|
||||
* Fix _NET_WM_FRAME_EXTENTS not to include invisible borders [Jasper; #659848]
|
||||
* Fix application-specified window placement (-geometry) for
|
||||
invisible borders [Jasper; #659848]
|
||||
|
||||
Contributors:
|
||||
Jasper St. Pierre
|
||||
|
||||
Translations:
|
||||
Nilamdyuti Goswami [as], Carles Ferrando [ca@valencia], Petr Kovar [cz],
|
||||
Mario Blättermann [de], Inaki Larranaga [eu], Gabor Kelemen [hu],
|
||||
Takayoshi Okano [ja], Changwoo Ryu [ko], Djavan Fagundes [pt_BR]
|
||||
|
||||
3.1.92
|
||||
======
|
||||
* Fix bug with unredirecting full-screen windows on multi-monitor -
|
||||
notably affected gnome-screensaver [Adel; #657869]
|
||||
* Disable top resizing of attached dialogs [Jasper; #657795]
|
||||
* Code cleanup [Jasper, Rui]
|
||||
* Misc bug fixes [Adel, Florian, Jasper, Rui;
|
||||
#658069, #659266, #659523, #659477]
|
||||
|
||||
Contributors:
|
||||
Adel Gadllah, Rui Matos, Florian Müllner, Jasper St. Pierre
|
||||
|
||||
Translations:
|
||||
Joan Duran [ca], Joe Hansen [dk], Jiro Matsuzawa [ja], Daniel Korostil [uk]
|
||||
|
||||
3.1.91.1
|
||||
========
|
||||
* Fix problem where certain application updates would get lost [#657071, Owen]
|
||||
* Fix a problem where after resuming from the screensaver, things got
|
||||
slow [#658228, Jasper, Adel]
|
||||
* When a monitor is plugged or unplugged, keep existing windows on their
|
||||
current monitor [#645408, Alex]
|
||||
* Remove 'Mutter' title from alerts such as
|
||||
"The widow '%s' is not responding" [Matthias]
|
||||
* Remove pointless warning:
|
||||
Received a _NET_WM_MOVERESIZE message for %s; these
|
||||
messages lack timestamps and therefore suck.
|
||||
[Rui]
|
||||
* Misc bug fixes [Jasper]
|
||||
* Build fixes [Javier]
|
||||
|
||||
Contributors:
|
||||
Matthias Clasen, Adel Gadllah, Javier Jardón, Alex Larsson, Rui Matos,
|
||||
Jasper St. Pierre, Owen Taylor
|
||||
|
||||
Translations:
|
||||
Ihar Hrachyshka [be], Bruce Cowan [en_FB], Daniel Mustieles [es],
|
||||
Claude Paroz [fr], Andika Triwidada [id], Luca Ferretti [it],
|
||||
Rudolfs Mazurs [lt], Piotr Drąg [pl], Duarte Loreto [pt],
|
||||
Matej Urbančič [sl], Tirumurti Vasudevan [ta], Chao-Hsiung Liao [zh_KH, TW]
|
||||
|
||||
3.1.90.1
|
||||
========
|
||||
* Fix crash when no windows are open [Adel; #657692]
|
||||
* Fix annotations for new strictness in gobject-introspection [Jasper, Owen]
|
||||
* Fix some errors with rounded frame drawing [Jasper; #657661]
|
||||
|
||||
Contributors:
|
||||
Adel Gadllah, Jasper St. Pierre, Owen Taylor
|
||||
|
||||
3.1.90
|
||||
======
|
||||
* Extend the draggable portion of window borders outside the visible frame
|
||||
for easy resizing with thin borders. (New draggable_border_width GConf key
|
||||
controls the total width of visible and invisible borders.)
|
||||
[Jasper; #644930]
|
||||
* Draw rounded window corners with antialising [Jasper; #628195]
|
||||
* Unredirect override-redirect fullscreen windows, such as full-screen
|
||||
3D games to avoid any performance impact [Adel; #597014]
|
||||
* Add :resizable and :above properties to MetaWindow. [Tim; #653858]
|
||||
* Add MUTTER_DISABLE_FALLBACK_COLOR environment variable to allow visualizing
|
||||
places where a color is missing for gtk:custom() colors [Florian; #656112]
|
||||
* Don't attach modal dialogs to special windows like the desktop;
|
||||
add meta_window_is_attached_dialog() [Dan, #646761]
|
||||
* Make MetaBackgroundActor public, allow creating multiple instances
|
||||
(sharing a common texture), and add a :dim-factor property
|
||||
[Rui, Owen; #656433]
|
||||
* Fix attached dialogs to not be resizable from the top and to be
|
||||
position correctly [Jasper; #656619]
|
||||
* Misc bug fixes [Jasper, Rui; #656335, #657583]
|
||||
|
||||
Contributors:
|
||||
Tim Cuthbertson, Adel Gadllah, Rui Matos, Florian Müllner, Jasper St. Pierre,
|
||||
Owen Taylor, Dan Winship
|
||||
|
||||
Translations:
|
||||
Alexander Shopov [bg], Jorge González [es], Fran Dieguez [gl],
|
||||
Yaron Shahrabani [he], Takeshi Aihana [ja], Aurimas Černius [lt],
|
||||
Kjartan Maraas [nb], A S Alam [pa], Yuri Kozlov [ru], Daniel Nylander [se],
|
||||
Theppitak Karoonboonyanan [th], Abduxukur Abdurixit [ug], Aron Xu [zh_CN]
|
||||
|
||||
3.1.4
|
||||
=====
|
||||
* Use better, much more subtle shadow definitions [Jakub; #649374]
|
||||
* Add the ability to use named GTK+ colors in theme files as
|
||||
gtk:custom(name,fallback) [Florian; #648709]
|
||||
* Port from GdkColor to GdkRGBA and from GtkStyle to GtkStyleContext
|
||||
[Florian; #650586]
|
||||
* Try to fix window bindings using the Super key [Owen; #624869]
|
||||
* Update to using more modern Cogl and Clutter APIs
|
||||
[Adel, Emmanuele, Neil; #654551 #654729 #654730 #655064]
|
||||
* Fix for srcdir != builddir builds [Thierry; #624910]
|
||||
* Make handling of focus appearance for attached dialogs more robust
|
||||
[Dan; #647712]
|
||||
* Misc bug fixes
|
||||
[Dan, Florian, Jasper, Owen, Rui; #642957 #649374 #650661 #654489 #654539]
|
||||
|
||||
Contributors:
|
||||
Emmanuele Bassi, Adel Gadllah, Rui Matos, Florian Müllner, Neil Roberts,
|
||||
Jasper St. Pierre, Jakub Steiner, Owen Taylor
|
||||
|
||||
Translations:
|
||||
Ihar Hrachyshka [be], Jorge González, Daniel Mustieles [es],
|
||||
Fran Dieguez [gl], Yaron Shahrabani [he], Takeshi Aihana [ja],
|
||||
Kjartan Maraas [nb], Rudolfs Mazurs [lv], Matej Urbančič [sl],
|
||||
Abduxukur Abdurixit [ug], Nguyễn Thái Ngọc Duy [vi]
|
||||
|
||||
3.1.3.1
|
||||
=======
|
||||
* Back API version down to "3.0" - the change to Meta-3.1.gir
|
||||
was unintentional [Owen]
|
||||
|
||||
Translations:
|
||||
Yaron Shahrabani [he], Kjartan Maraas [nb], Muhammet Kara [tr]
|
||||
|
||||
3.1.3
|
||||
=====
|
||||
* Support dark window theme variants for windows with a dark
|
||||
widget theme; this is selected by the _GTK_THEME_VARIANT
|
||||
property [Florian, #645355]
|
||||
* Don't draw a shadow under windows with an alpha-channel - this
|
||||
fixes transparency for GNOME Terminal [Owen, Jasper; #635268]
|
||||
* Add a MetaWindow:wm-class property for notification [Jasper; #649315]
|
||||
* Add a MetaWindow:minimized property for notification [Florian]
|
||||
* Fix handing of unusual window shapes that Wine was setting
|
||||
causing some applications to draw wrong [Jasper; #627880]
|
||||
* Improve replacing another compositor and being replaced:
|
||||
release compositor selection in the right order and wait for
|
||||
compositors that get it wrong. [Colin, Owen; #653121]
|
||||
* Remove behavior where left clicking on a window border with
|
||||
the titlebar offscreen gave the window menu [Florian; #652369]
|
||||
* Don't set the global default textdomain, since Mutter is
|
||||
a library as well as an application [Dan; #649202]
|
||||
* Exit with the right (success or failure) exit status [Dan]
|
||||
* Code cleanup [Florian]
|
||||
* Miscellaneous bug fixes [Owen; #649114, #652507]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner, Jasper St. Pierre, Owen Taylor, Colin Walters, Dan Winship
|
||||
|
||||
Translations:
|
||||
Ihar Hrachyshka [be], Daniel Mustieles [es], Yaron Shahrabani [he],
|
||||
Carles Ferrando [ca@valencia], Takeshi Aihana [ja], Fran Diéguez [gl],
|
||||
Matej Urbančič [sl], Miroslav Nikolic [sr], Muhammet Kara [tr],
|
||||
Daniel Korostil [uk]
|
||||
|
||||
3.0.2.1
|
||||
=======
|
||||
* When saving the session, use the "program name" rather than
|
||||
harcoding mutter, fixing session saving for gnome-shell [Matthias]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=648828
|
||||
|
||||
Contributors:
|
||||
Matthias Clasen
|
||||
|
||||
3.0.2
|
||||
=====
|
||||
|
||||
* Fix a crash when running without XKB support [Adam]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=647777
|
||||
* Fix smallish memory leaks [Colin]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=649500
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=649504
|
||||
* Ignore mirrored monitors when listing monitors, fixing
|
||||
drag-and-drop problems in GNOME Shell [Owen]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=649299
|
||||
* Don't allow side-by-side tiling of non-maximizable windows
|
||||
like dialogs and utility windows [Dan]
|
||||
* Fix interaction of _NET_WM_WINDOW_OPACITY with window effects,
|
||||
making it work again with GNOME Shell
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=648613
|
||||
|
||||
Contributors:
|
||||
Adam Jackson, Colin Walters, Dan Winship
|
||||
|
||||
Translations:
|
||||
Abduxukur Abdurixit [ug]
|
||||
|
||||
3.0.1
|
||||
=====
|
||||
|
||||
* If WM_CLIENT_MACHINE isn't set, don't assume a window is remote;
|
||||
fixes behavior of Fox toolkit applications under GNOME Shell.
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=647662 [Colin]
|
||||
* Fix cases where windows could get stuck drawing as focused after
|
||||
an attached modal dialog was closed. [Dan]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=647613
|
||||
* Fix a bug where a window that is too big to be tiled side-by-side
|
||||
would behave strangely when using the gesture of dragging to
|
||||
the top to maximize. [Florian]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner, Colin Walters, Dan Winship
|
||||
|
||||
Translations:
|
||||
Amitakhya Phukan [as], Kristjan Schmidt [eo], Muhammet Kara [tr]
|
||||
|
||||
3.0.0
|
||||
=====
|
||||
|
||||
|
||||
76
configure.in
76
configure.in
@@ -1,8 +1,8 @@
|
||||
AC_PREREQ(2.50)
|
||||
|
||||
m4_define([mutter_major_version], [3])
|
||||
m4_define([mutter_minor_version], [0])
|
||||
m4_define([mutter_micro_version], [0])
|
||||
m4_define([mutter_minor_version], [2])
|
||||
m4_define([mutter_micro_version], [1])
|
||||
|
||||
m4_define([mutter_version],
|
||||
[mutter_major_version.mutter_minor_version.mutter_micro_version])
|
||||
@@ -15,9 +15,9 @@ AC_INIT([mutter], [mutter_version],
|
||||
AC_CONFIG_SRCDIR(src/core/display.c)
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
|
||||
AM_INIT_AUTOMAKE([dist-bzip2 no-dist-gzip])
|
||||
AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz tar-ustar])
|
||||
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],)
|
||||
AM_MAINTAINER_MODE
|
||||
AM_MAINTAINER_MODE([enable])
|
||||
|
||||
MUTTER_MAJOR_VERSION=mutter_major_version
|
||||
MUTTER_MINOR_VERSION=mutter_minor_version
|
||||
@@ -185,26 +185,13 @@ else
|
||||
AC_MSG_ERROR([no. Mutter requires the Xcomposite extension to build.])
|
||||
fi
|
||||
|
||||
CLUTTER_VERSION=1.2.0
|
||||
CLUTTER_VERSION=1.7.5
|
||||
CLUTTER_PACKAGE=clutter-1.0
|
||||
AC_SUBST(CLUTTER_PACKAGE)
|
||||
if $PKG_CONFIG --atleast-version $CLUTTER_VERSION $CLUTTER_PACKAGE ; then
|
||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES $CLUTTER_PACKAGE "
|
||||
PKG_CHECK_MODULES(CLUTTER, $CLUTTER_PACKAGE)
|
||||
AC_DEFINE(WITH_CLUTTER, , [Building with Clutter compositor])
|
||||
|
||||
dnl Check for the clutter-glx-texture-pixmap header
|
||||
mutter_save_cppflags="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $CLUTTER_CFLAGS"
|
||||
AC_CHECK_HEADER([clutter/glx/clutter-glx-texture-pixmap.h],
|
||||
[have_glx_texture_pixmap=yes],
|
||||
[have_glx_texture_pixmap=no])
|
||||
CPPFLAGS="$mutter_save_cppflags"
|
||||
|
||||
if test x$have_glx_texture_pixmap = xyes; then
|
||||
AC_DEFINE(HAVE_GLX_TEXTURE_PIXMAP, ,
|
||||
[Is ClutterGLXTexturePixmap available?])
|
||||
fi
|
||||
else
|
||||
AC_MSG_ERROR([no. Mutter requires Clutter version $CLUTTER_VERSION.])
|
||||
fi
|
||||
@@ -215,7 +202,12 @@ GOBJECT_INTROSPECTION_CHECK([$INTROSPECTION_VERSION])
|
||||
if test x$found_introspection != xno; then
|
||||
AC_DEFINE(HAVE_INTROSPECTION, 1, [Define if GObject introspection is available])
|
||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES gobject-introspection-1.0"
|
||||
META_GIR=[Meta_]mutter_major_version[_]mutter_minor_version[_gir]
|
||||
# Since we don't make any guarantees about stability and we don't support
|
||||
# parallel install, there's no real reason to change directories, filenames,
|
||||
# etc. as we change the Mutter tarball version. Note that this must match
|
||||
# api_version in src/Makefile.am
|
||||
META_GIR=Meta_3_0_gir
|
||||
# META_GIR=[Meta_]mutter_major_version[_]mutter_minor_version[_gir]
|
||||
AC_SUBST(META_GIR)
|
||||
fi
|
||||
|
||||
@@ -233,6 +225,50 @@ if test x$have_xcursor = xyes; then
|
||||
AC_DEFINE(HAVE_XCURSOR, , [Building with Xcursor support])
|
||||
fi
|
||||
|
||||
XINPUT2_VERSION=1.4.0
|
||||
|
||||
AC_ARG_ENABLE(xinput2,
|
||||
AC_HELP_STRING([--disable-xinput2],
|
||||
[disable XInput2 usage]),,
|
||||
enable_xinput2=yes)
|
||||
|
||||
if test x$enable_xinput2 = xyes; then
|
||||
AC_MSG_CHECKING([XInput2])
|
||||
if $PKG_CONFIG --atleast-version $XINPUT2_VERSION xi; then
|
||||
have_xinput2=yes
|
||||
else
|
||||
have_xinput2=no
|
||||
fi
|
||||
AC_MSG_RESULT($have_xinput2)
|
||||
else
|
||||
have_xinput2=no
|
||||
fi
|
||||
|
||||
if test x$have_xinput2 = xyes; then
|
||||
echo "Building with XInput2"
|
||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES xi"
|
||||
AC_DEFINE(HAVE_XINPUT2, , [Building with XInput2 support])
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(HAVE_XINPUT2, test "$have_xinput2" = "yes")
|
||||
|
||||
if test x$have_xinput2 = xyes; then
|
||||
mutter_save_libs="$LIBS"
|
||||
LIBS="-lXi $LIBS"
|
||||
|
||||
AC_CHECK_FUNC(XIAllowTouchEvents,
|
||||
have_xtouch=yes,
|
||||
have_xtouch=no)
|
||||
|
||||
LIBS="$mutter_save_libs"
|
||||
else
|
||||
have_xtouch=no
|
||||
fi
|
||||
|
||||
if test x$have_xtouch = xyes; then
|
||||
AC_DEFINE(HAVE_XTOUCH, , [Building with X touch events])
|
||||
fi
|
||||
|
||||
PKG_CHECK_MODULES(MUTTER, $MUTTER_PC_MODULES)
|
||||
|
||||
AC_PATH_XTRA
|
||||
@@ -552,6 +588,8 @@ mutter-$VERSION
|
||||
Shape extension: ${found_shape}
|
||||
Xsync: ${found_xsync}
|
||||
Xcursor: ${have_xcursor}
|
||||
XInput2: ${have_xinput2}
|
||||
Touch events: ${have_xtouch}
|
||||
"
|
||||
|
||||
|
||||
|
||||
@@ -22,6 +22,18 @@ This document has separate sections for each format version. You may
|
||||
want to read the document in reverse order, since the base features
|
||||
are discussed under version 1.
|
||||
|
||||
New Features in Theme Format Version 3.4
|
||||
========================================
|
||||
|
||||
An additional color type is added to pick up custom colors defined
|
||||
in the GTK+ theme's CSS:
|
||||
|
||||
gtk:custom(name,fallback)
|
||||
|
||||
where <name> refers to a custom color defined with @define-color in
|
||||
the GTK+ theme, and <fallback> provides an alternative color definition
|
||||
in case the color referenced by <name> is not found.
|
||||
|
||||
New Features in Theme Format Version 3.3
|
||||
========================================
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ dz
|
||||
el
|
||||
en_CA
|
||||
en_GB
|
||||
eo
|
||||
es
|
||||
et
|
||||
eu
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# List of source files containing translatable strings.
|
||||
# Please keep this file sorted alphabetically.
|
||||
src/compositor/compositor.c
|
||||
src/core/all-keybindings.h
|
||||
src/core/bell.c
|
||||
src/core/core.c
|
||||
|
||||
314
po/bg.po
314
po/bg.po
@@ -11,8 +11,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: mutter master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-23 21:38+0200\n"
|
||||
"PO-Revision-Date: 2011-03-23 21:38+0200\n"
|
||||
"POT-Creation-Date: 2011-08-12 06:43+0300\n"
|
||||
"PO-Revision-Date: 2011-08-12 06:43+0300\n"
|
||||
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
|
||||
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
|
||||
"Language: bg\n"
|
||||
@@ -21,6 +21,15 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
#. 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:487
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
msgstr "На екран %i от дисплея „%s“ вече има мениджър за наслагване."
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "Превключване към работен плот 1"
|
||||
@@ -353,13 +362,16 @@ msgstr "Събитие за звънец"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "Неизвестна заявка за информация за прозорец: %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> не отговаря на съобщенията."
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "Програмата не отговаря на съобщенията."
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
msgid ""
|
||||
"You may choose to wait a short while for it to continue or force the "
|
||||
"application to quit entirely."
|
||||
@@ -367,11 +379,11 @@ msgstr ""
|
||||
"Можете да изчакате малко преди изрично да накарате приложението да спре "
|
||||
"работата си."
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "Из_чакване"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Принудително спиране"
|
||||
|
||||
@@ -395,7 +407,7 @@ msgstr "Някоя друга програма използва бързия к
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -406,12 +418,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "Не е дефинирана команда %d.\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "Не е дефинирана команда за терминал.\n"
|
||||
@@ -442,12 +454,12 @@ msgstr "Инициализиране на сесия от файл със зап
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "Извикванията на X да са синхронни"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "Неуспех при сканирането на папката с темите: %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -490,37 +502,37 @@ msgstr "Списък с приставки за мениджъра за насл
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "Ключът на GConf — „%s“ е с невалидна стойност\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr ""
|
||||
"Стойността %d записана в ключа на GConf — „%s“ е извън обхвата от %d÷%d\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "Ключът на GConf — „%s“ е от невалиден вид\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr ""
|
||||
"Ключът на GConf — „%s“ вече се използва и чрез него не могат да се заменят "
|
||||
"настройките зададени в „%s“\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "Не може да се замени стойността на ключа на GConf, „%s“ липсва\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
@@ -528,14 +540,14 @@ msgstr ""
|
||||
"Триковете за развалените програми са изключени. Някои програми могат да са с "
|
||||
"неправилно поведение.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr ""
|
||||
"Описанието на шрифт „%s“ от ключа на GConf — %s, не може да бъде "
|
||||
"анализирано\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
@@ -544,17 +556,17 @@ msgstr ""
|
||||
"„%s“, който е открит в базата от данни с настройките, не е валиден "
|
||||
"модификатор на бутон на мишката\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "Грешка при задаване на броя на работни плотове да е %d: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Работен плот %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
@@ -563,30 +575,30 @@ msgstr ""
|
||||
"Низът „%s“ открит в базата от данни с настройки е невалиден за стойност на "
|
||||
"клавишната комбинация „%s“\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "Грешка при задаване на името на работния плот %d да е „%s“: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr ""
|
||||
"Грешка при задаване на състоянието обновяването на скритите прозорци: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr ""
|
||||
"Грешка при задаване на показването на изскачащите прозорци при обхождане: "
|
||||
"%s\n"
|
||||
|
||||
#: ../src/core/screen.c:623
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "Екранът %d на дисплей „%s“ е невалиден\n"
|
||||
|
||||
#: ../src/core/screen.c:639
|
||||
#: ../src/core/screen.c:679
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -595,7 +607,7 @@ msgstr ""
|
||||
"Екранът %d на дисплей „%s“ вече има мениджър на прозорци; пробвайте да го "
|
||||
"замените с опцията --replace.\n"
|
||||
|
||||
#: ../src/core/screen.c:666
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
@@ -603,65 +615,65 @@ msgstr ""
|
||||
"Неуспех при получаването на избрания мениджър за прозорци на екран %d, "
|
||||
"дисплей „%s“\n"
|
||||
|
||||
#: ../src/core/screen.c:721
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "Екран %d на дисплей „%s“ вече има мениджър за прозорци\n"
|
||||
|
||||
#: ../src/core/screen.c:906
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "Неуспех при отстъпването на екран %d на дисплей „%s“\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "Неуспех при създаването на папката „%s“: %s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "Неуспех при отварянето на сесийния файл „%s“ за запис: %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "Грешка при записване на сесийния файл „%s“: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "Грешка при затваряне на сесийния файл „%s“: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "Неуспех при анализирането на записания сесиен файл: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr ""
|
||||
"Атрибутът <mutter_session> е видян, но вече имаме сесийния идентификатор"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "Непознат атрибут %s на елемента <%s>"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "вложен етикет <window>"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "Непознат елемент %s"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -706,13 +718,13 @@ msgid "Window manager error: "
|
||||
msgstr "Грешка от мениджъра на прозорци: "
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/core/util.c:632 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6795
|
||||
#: ../src/core/window.c:6959
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -728,7 +740,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7458
|
||||
#: ../src/core/window.c:7622
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
@@ -748,11 +760,16 @@ msgstr "Приложението зададе неверен _NET_WM_PID %lu\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (от %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1479
|
||||
#: ../src/core/window-props.c:1488
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "За %2$s е указан неправилен WM_TRANSIENT_FOR, прозорец 0x%1$lx.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1500
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "WM_TRANSIENT_FOR за прозорец 0x%lx за %s ще зацикли.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -802,15 +819,27 @@ msgstr ""
|
||||
"на основния."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "Широчина на границата за влачене"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "Обновяване на скритите прозорци"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr ""
|
||||
"Модификатор, който да се ползва за допълнителните действия по прозорците"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 ""
|
||||
"Общ размер на границите за влачене. Ако видимите граници на темата са по-"
|
||||
"малки, се добавят невидими граници, за да се достигне тази величина."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -821,7 +850,7 @@ msgstr ""
|
||||
"за стартиране на програми. Стандартно клавишът е „Windows“ при системите "
|
||||
"съвместими с PC. Очаква се да е или стандартната стойност или празен низ."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
msgid ""
|
||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
@@ -831,7 +860,7 @@ msgstr ""
|
||||
"заглавната лента на родителския си прозорец и се местят с него, вместо да са "
|
||||
"отделни и да имат собствена заглавна лента."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Работни плотове само на основния монитор"
|
||||
|
||||
@@ -840,47 +869,47 @@ msgstr "Работни плотове само на основния монит
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Употреба: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1123
|
||||
msgid "Close Window"
|
||||
msgstr "Затваряне на прозореца"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1126
|
||||
msgid "Window Menu"
|
||||
msgstr "Меню за прозорците"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1129
|
||||
msgid "Minimize Window"
|
||||
msgstr "Минимизиране на прозореца"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1132
|
||||
msgid "Maximize Window"
|
||||
msgstr "Максимизиране на прозореца"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1135
|
||||
msgid "Restore Window"
|
||||
msgstr "Възстановяване на прозорец"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1138
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Навиване на прозореца"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1141
|
||||
msgid "Unroll Window"
|
||||
msgstr "Развиване на прозореца"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1144
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Прозорецът да е отгоре"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1147
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Прозорецът да не е само отгоре"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1150
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Винаги на видимия работен плот"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1153
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Прозорецът да се появява само на едно работен плот"
|
||||
|
||||
@@ -1083,48 +1112,75 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d×%d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "горния"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "долния"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "левия"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "десния"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "геометрията на рамката не указва „%s“ размер"
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr "геометрията на рамката не указва „%s“ размер на „%s“ ръб"
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "Отношението на размерите на бутона %g е неподходящо"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "Геометрията на рамката не указва размера на бутоните"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "Преливките трябва да имат поне два цвята"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1212
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"Цветовата спецификация на GTK трябва да съдържа в скоби име на основен и "
|
||||
"резервен цвят: напр. gtk:custom(foo,bar). Неуспех при анализа на „%s“"
|
||||
|
||||
#: ../src/ui/theme.c:1228
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr ""
|
||||
"Неправилен знак „%c“ в параметъра за име на цвят (color_name) на gtk:custom. "
|
||||
"Позволени са само A-Za-z0-9-_."
|
||||
|
||||
#: ../src/ui/theme.c:1242
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr ""
|
||||
"Форматът на Gtk:custom е „gtk:custom(основен_цвят,резервен_цвят)“, „%s“ не "
|
||||
"съответства на формата"
|
||||
|
||||
#: ../src/ui/theme.c:1287
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1134,7 +1190,7 @@ msgstr ""
|
||||
"скоби, напр. gtk:fg[NORMAL], където NORMAL е състоянието. Неуспех при "
|
||||
"анализира „%s“"
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1301
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1144,17 +1200,17 @@ msgstr ""
|
||||
"състоянието, напр. gtk:fg[NORMAL], където NORMAL е състоянието. Неуспех при "
|
||||
"анализа на „%s“"
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1312
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "Неуспех при анализа на състоянието „%s“ в цветовата спецификация"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1325
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "Неуспех при анализа на цветови компонент „%s“ в цветовата спецификация"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1355
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
@@ -1163,17 +1219,17 @@ msgstr ""
|
||||
"Форматът на смесването е „blend/bg_color/fg_color/alpha“, „%s“ не се "
|
||||
"подчинява на формата"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1366
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "Неуспех при анализира на алфа стойността „%s“ в смесения цвят"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1376
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "Алфа стойността „%s“ в смесения цвят не е между 0.0 и 1.0"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1423
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
@@ -1181,27 +1237,27 @@ msgstr ""
|
||||
"Форматът на навиването е „shade/base_color/factor“, „%s“ не съответства на "
|
||||
"формата"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1434
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "Неуспех при анализа на фактора на навиването „%s“ в цвета за навиване"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1444
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "Факторът на навиване „%s“ в цвета за сянката е отрицателен"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1473
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "Неуспех при анализа на цвета „%s“"
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1784
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "Изразът за координати съдържа символа „%s“, който не е позволен"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1811
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
@@ -1210,14 +1266,14 @@ msgstr ""
|
||||
"Изразът за координати съдържа числото с плаваща запетая „%s“, което не може "
|
||||
"да бъде анализирано"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1825
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr ""
|
||||
"Изразът за координати съдържа цялото число „%s“, което не може да бъде "
|
||||
"анализирано"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1947
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
@@ -1226,24 +1282,24 @@ msgstr ""
|
||||
"Изразът за координати съдържа непознат оператор в началото на този текст: "
|
||||
"„%s“"
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:2004
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "Изразът за координати бе празен или не бе разбран"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2115 ../src/ui/theme.c:2125 ../src/ui/theme.c:2159
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "Изразът за координати дава деление на нула"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2167
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
msgstr ""
|
||||
"Изразът за координати използва оператора mod върху число с плаваща запетая"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2223
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
@@ -1251,18 +1307,18 @@ msgstr ""
|
||||
"Изразът за координати използва оператора „%s“ на място, където се очаква "
|
||||
"операнд"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2232
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr ""
|
||||
"Изразът за координати използва оператор на място, където се очаква операнд"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2240
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "Изразът за координати завършва с оператор вместо с операнд"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2250
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1271,38 +1327,38 @@ msgstr ""
|
||||
"Изразът за координати използва оператора „%c“ след „%c“ без да има операнд "
|
||||
"между тях"
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2401 ../src/ui/theme.c:2446
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr ""
|
||||
"Изразът за координати използва непознатата променлива или константа „%s“"
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2500
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "Анализаторът на изрази за координати препълни буфера си."
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2529
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr "В израза за координати има затваряща скоба без съответна отваряща"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2593
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr "В изразът за координати има отваряща скоба без съответна затваряща"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2604
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "Изразът за координати не съдържа нито оператори, нито операнди"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2816 ../src/ui/theme.c:2836 ../src/ui/theme.c:2856
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "Темата съдържа израз, който даде грешка: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4527
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1311,25 +1367,25 @@ msgstr ""
|
||||
"За този стил на рамката трябва да се укаже <button function=\"%s\" state=\"%s"
|
||||
"\" draw_ops=\"нещо си\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5060 ../src/ui/theme.c:5085
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr ""
|
||||
"Липсва <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"нещо си\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5133
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "Неуспех при зареждането на темата „%s“: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5269 ../src/ui/theme.c:5276 ../src/ui/theme.c:5283
|
||||
#: ../src/ui/theme.c:5290 ../src/ui/theme.c:5297
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "Не е даден елементът <%s> за темата „%s“"
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5305
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1338,7 +1394,7 @@ msgstr ""
|
||||
"Няма указан стил на рамката за „%s“ прозорците в тема „%s“. Добавете елемент "
|
||||
"<window type=\"%s\" style_set=\"нещо си\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5744 ../src/ui/theme.c:5806 ../src/ui/theme.c:5869
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
@@ -1346,7 +1402,7 @@ msgstr ""
|
||||
"Константите определени от потребителя трябва да започват с главна буква, а "
|
||||
"„%s“ не започва така"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5752 ../src/ui/theme.c:5814 ../src/ui/theme.c:5877
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "Константата „%s“ вече е дефинирана"
|
||||
@@ -1795,88 +1851,88 @@ msgstr "Това е примерно съобщение в примерен ди
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "Фалшив обект на менюто %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "Прозорец само с граници"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "Лента"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "Нормален прозорец на програма"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "Диалогов прозорец"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "Модален диалогов прозорец"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "Палитра на инструментите"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "Откъсване на менюто"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "Граница"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "Прилепени модални диалогови прозорци"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "Тест за подредбата на бутоните %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "%g милисекунди за да изрисува една прозоречна рамка"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "Употреба: metacity-theme-viewer [ИМЕНАТЕМАТА]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "Грешка при зареждането на темата: %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "Темата „%s“ е заредена за %g секунди\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "Нормален шрифт на заглавието"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "Малък шрифт на заглавието"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "Голям шрифт на заглавието"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "Изглед на бутоните"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "Статистика"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "Тук се поставя заглавието на прозорците"
|
||||
|
||||
|
||||
334
po/ca.po
334
po/ca.po
@@ -10,8 +10,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: metacity 2.24\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-30 21:19+0200\n"
|
||||
"PO-Revision-Date: 2011-04-03 23:45+0200\n"
|
||||
"POT-Creation-Date: 2011-09-19 00:23+0200\n"
|
||||
"PO-Revision-Date: 2011-09-16 23:15+0200\n"
|
||||
"Last-Translator: David Planella <david.planella@gmail.com>\n"
|
||||
"Language-Team: Softcatalà <tradgnome@softcatala.org>\n"
|
||||
"Language: \n"
|
||||
@@ -19,6 +19,17 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. 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:492
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
msgstr ""
|
||||
"Ja s'està executant un altre gestor de composició a la pantalla %i a la "
|
||||
"visualització «%s»."
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "Canvia a l'espai de treball 1"
|
||||
@@ -341,13 +352,16 @@ msgstr "Esdeveniment de campana"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "Es desconeix la informació demanada sobre la finestra: %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> no està responent."
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "L'aplicació no està responent."
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
msgid ""
|
||||
"You may choose to wait a short while for it to continue or force the "
|
||||
"application to quit entirely."
|
||||
@@ -355,11 +369,11 @@ msgstr ""
|
||||
"Podeu esperar un moment perquè continuï o podeu forçar-ne la sortida "
|
||||
"completa."
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "_Espera"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Força'n la sortida"
|
||||
|
||||
@@ -386,7 +400,7 @@ msgstr ""
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -397,12 +411,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s."
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "No s'ha definit cap ordre %d.\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "No s'ha definit cap ordre de terminal.\n"
|
||||
@@ -431,12 +445,12 @@ msgstr "Inicialitza la sessió des del fitxer desat"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "Fes que les crides a l'X siguin síncrones"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "No s'ha pogut analitzar el directori de temes: %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -479,37 +493,37 @@ msgstr "Llista separada per comes de connectors de composició"
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "La clau «%s» del GConf està establerta a un valor no vàlid\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr ""
|
||||
"%d, emmagatzemat a la clau %s del GConf, està fora de l'interval de %d a %d\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "La clau «%s» del GConf està establerta a un tipus no vàlid\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr ""
|
||||
"La clau %s del GConf ja s'està utilitzant i no es pot fer servir per "
|
||||
"sobreescriure %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "No es pot sobreescriure la clau del GConf; no s'ha trobat %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
@@ -517,14 +531,14 @@ msgstr ""
|
||||
"Les solucions temporals per a aplicacions amb errors estan inhabilitades. "
|
||||
"Pot ser que certes aplicacions no funcionin correctament.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr ""
|
||||
"No s'ha pogut analitzar la descripció de tipus de lletra «%s» de la clau %s "
|
||||
"del GConf\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
@@ -533,18 +547,18 @@ msgstr ""
|
||||
"«%s», trobat a la base de dades de la configuració, no és un valor vàlid per "
|
||||
"al modificador del botó del ratolí\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr ""
|
||||
"S'ha produït un error en establir el nombre d'espais de treball a %d: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Espai de treball %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
@@ -553,33 +567,33 @@ msgstr ""
|
||||
"«%s» trobat a la base de dades de la configuració no és un valor vàlid per a "
|
||||
"la vinculació de tecla «%s»\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr ""
|
||||
"S'ha produït un error en establir el nom de l'espai de treball %d a «%s»: "
|
||||
"%s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr ""
|
||||
"S'ha produït un error en establir l'estat de les finestres ocultes en viu: "
|
||||
"%s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr ""
|
||||
"S'ha produït un error en establir l'estat de les pestanyes sense finestra "
|
||||
"emergent: %s\n"
|
||||
|
||||
#: ../src/core/screen.c:624
|
||||
#: ../src/core/screen.c:741
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "La pantalla %d en la visualització '%s' no és vàlida\n"
|
||||
|
||||
#: ../src/core/screen.c:640
|
||||
#: ../src/core/screen.c:757
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -588,7 +602,7 @@ msgstr ""
|
||||
"La pantalla %d en la visualització «%s» ja té un gestor de finestres; proveu "
|
||||
"l'opció --replace per reemplaçar el gestor de finestres actual.\n"
|
||||
|
||||
#: ../src/core/screen.c:667
|
||||
#: ../src/core/screen.c:784
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
@@ -596,66 +610,66 @@ msgstr ""
|
||||
"No s'ha pogut adquirir la selecció del gestor de finestres en la pantalla %d "
|
||||
"visualització «%s»\n"
|
||||
|
||||
#: ../src/core/screen.c:722
|
||||
#: ../src/core/screen.c:839
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "La pantalla %d en la visualització «%s» ja té un gestor de finestres\n"
|
||||
|
||||
#: ../src/core/screen.c:907
|
||||
#: ../src/core/screen.c:1024
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "No s'ha pogut alliberar la pantalla %d en la visualització «%s»\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "No s'ha pogut crear el directori «%s»: %s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "No s'ha pogut obrir el fitxer de sessió «%s» per a l'escriptura: %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "S'ha produït un error en escriure el fitxer de sessió «%s»: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "S'ha produït un error en tancar el fitxer de sessió «%s»: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "No s'ha pogut analitzar el fitxer de sessió desat: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr ""
|
||||
"S'ha vist l'atribut <mutter_session> però encara hi ha l'identificador de "
|
||||
"sessió"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "Atribut %s desconegut a l'element <%s>"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "etiqueta <window> imbricada"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "Element %s desconegut"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -683,30 +697,24 @@ msgstr "S'ha obert el fitxer de registre %s\n"
|
||||
msgid "Mutter was compiled without support for verbose mode\n"
|
||||
msgstr "Mutter es va compilar sense compatibilitat per al mode detallat\n"
|
||||
|
||||
#: ../src/core/util.c:286
|
||||
#: ../src/core/util.c:290
|
||||
msgid "Window manager: "
|
||||
msgstr "Gestor de finestres: "
|
||||
|
||||
#: ../src/core/util.c:434
|
||||
#: ../src/core/util.c:438
|
||||
msgid "Bug in window manager: "
|
||||
msgstr "Error en el gestor de finestres: "
|
||||
|
||||
#: ../src/core/util.c:467
|
||||
#: ../src/core/util.c:471
|
||||
msgid "Window manager warning: "
|
||||
msgstr "Avís del gestor de finestres: "
|
||||
|
||||
#: ../src/core/util.c:495
|
||||
#: ../src/core/util.c:499
|
||||
msgid "Window manager error: "
|
||||
msgstr "Error del gestor de finestres: "
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6847
|
||||
#: ../src/core/window.c:7066
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -722,7 +730,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7510
|
||||
#: ../src/core/window.c:7729
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
@@ -742,12 +750,17 @@ msgstr "L'aplicació ha definit un _NET_WM_PID %lu fals\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (a %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1482
|
||||
#: ../src/core/window-props.c:1481
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr ""
|
||||
"WM_TRANSIENT_FOR no vàlid per a la finestra 0x%lx especificat per a %s.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1492
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "WM_TRANSIENT_FOR per a la finestra 0x%lx per a %s crearia un bucle.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -778,6 +791,10 @@ msgstr ""
|
||||
"La propietat %s en la finestra 0x%lx contenia caràcters UTF-8 no vàlids per "
|
||||
"a l'element %d en la llista\n"
|
||||
|
||||
#: ../src/mutter.desktop.in.h:1 ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:1
|
||||
msgid "Attach modal dialogs"
|
||||
msgstr "Adjunta els diàlegs modals"
|
||||
@@ -799,16 +816,29 @@ msgstr ""
|
||||
"tots els monitors o només en les finestres del monitor primari."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "Amplada del contorn arrossegable"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "Finestres ocultes en viu"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr ""
|
||||
"Modificador que s'utilitzarà per les operacions ampliades de gestió de "
|
||||
"finestres"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 quantitat total de contorn arrossegable. Si els contorns visibles del "
|
||||
"tema no són suficients, s'afegiran contorns invisibles per aconseguir aquest "
|
||||
"valor."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -821,7 +851,7 @@ msgstr ""
|
||||
"PC. El valor d'aquesta vinculació s'espera que sigui el predeterminat o text "
|
||||
"en blanc."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
msgid ""
|
||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
@@ -831,7 +861,7 @@ msgstr ""
|
||||
"diàlegs modals apareixeran adjuntats a la barra de títol de la finestra mare "
|
||||
"i es mouran juntament amb aquesta."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Espais de treball només en el primari"
|
||||
|
||||
@@ -840,47 +870,47 @@ msgstr "Espais de treball només en el primari"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Forma d'ús: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "Tanca la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "Menú de la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "Minimitza la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "Maximitza la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "Restaura la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Enrotlla la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "Desenrotlla la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Mantén la finestra per damunt"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Treu la finestra de damunt"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Sempre a l'espai de treball visible"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Posa la finestra només a un espai de treball"
|
||||
|
||||
@@ -1083,49 +1113,77 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "superior"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "inferior"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "esquerra"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "dreta"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "la geometria del marc no especifica la dimensió «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr ""
|
||||
"la geometria del marc no especifica la dimensió «%s» per al contorn «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "El ràtio d'aspecte dels botons %g no és raonable"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "La geometria del marc no especifica la mida dels botons"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1065
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "Els degradats han de tenir almenys dos colors"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1217
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"L'especificació personalitzada de color de GTK ha de tenir un nom de color i "
|
||||
"un alternatiu en parèntesis, p.e. gtk:personalitzat(foo,bar); no s'ha pogut "
|
||||
"analitzar «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1233
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr ""
|
||||
"El caràcter «%c» no és vàlid en el paràmetre color_name de gtk:"
|
||||
"personalitzat, només són vàlids A-Za-z0-9-_"
|
||||
|
||||
#: ../src/ui/theme.c:1247
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr ""
|
||||
"El format de Gtk:personalitzat és «gtk:personalitzat(color_name,"
|
||||
"alternatiu)», «%s» no s'ajusta al format"
|
||||
|
||||
#: ../src/ui/theme.c:1292
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1134,7 +1192,7 @@ msgstr ""
|
||||
"L'especificació de color GTK ha de tenir l'estat entre claudàtors, p.e. gtk:"
|
||||
"fg[NORMAL] on NORMAL és l'estat; no s'ha pogut analitzar \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1306
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1144,17 +1202,17 @@ msgstr ""
|
||||
"de l'estat, p.e. gtk:fg[NORMAL] on NORMAL és l'estat; no s'ha pogut "
|
||||
"analitzar «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1317
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "No s'entén l'estat «%s» en l'especificació del color"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1330
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "No s'entén l'element de color «%s» en l'especificació del color"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1360
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
@@ -1163,44 +1221,44 @@ msgstr ""
|
||||
"El format de barreja és «blend/bg_color/fg_color/alpha», «%s» no s'ajusta al "
|
||||
"format"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1371
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "No s'ha pogut analitzar el valor d'opacitat «%s» en el color barrejat"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1381
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "El valor alfa «%s» en el color barrejat no està entre 0,0 i 1,0"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1428
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
msgstr ""
|
||||
"El format d'ombrejat és «shade/base_color/factor», «%s» no s'ajusta al format"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1439
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "No s'ha pogut analitzar el factor d'ombrejat «%s» en el color ombrejat"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1449
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "El factor d'ombrejat «%s» en el color ombrejat és negatiu"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1478
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "No s'ha pogut analitzar el color «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1789
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "L'expressió coordinada conté el caràcter '%s', el qual no és permès"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1816
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
@@ -1209,12 +1267,12 @@ msgstr ""
|
||||
"L'expressió coordinada conté el número '%s' de punt flotant el qual no es "
|
||||
"pot analitzar"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1830
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr "L'expressió coordinada conté l'enter '%s' el qual no es pot analitzar"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1952
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
@@ -1223,17 +1281,17 @@ msgstr ""
|
||||
"L'expressió coordinada conté un operador desconegut a l'inici d'aquest text: "
|
||||
"«%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:2009
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "L'expressió coordinada estava buida o no s'ha entès"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2120 ../src/ui/theme.c:2130 ../src/ui/theme.c:2164
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "L'expressió coordinada dóna una divisió per zero"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2172
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
@@ -1241,25 +1299,25 @@ msgstr ""
|
||||
"L'expressió coordinada intenta utilitzar l'operador de mode en un número de "
|
||||
"punt flotant"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2228
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr ""
|
||||
"L'expressió coordinada té un operador «%s» on hi hauria d'anar un operand"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2237
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "L'expressió coordinada té un operand on hi hauria d'anar un operador"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2245
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr ""
|
||||
"L'expressió coordinada ha finalitzat amb un operador en lloc d'un operand"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2255
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1268,39 +1326,39 @@ msgstr ""
|
||||
"L'expressió coordinada té un operador «%c» seguit de l'operador «%c» sense "
|
||||
"cap operand enmig"
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2406 ../src/ui/theme.c:2451
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr "L'expressió coordinada té una variable o constant desconeguda «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2505
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr ""
|
||||
"L'analitzador d'expressions de coordinades ha desbordat la seva memòria "
|
||||
"intermèdia."
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2534
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr "L'expressió coordinada té un parèntesi de tancament i cap d'obertura"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2598
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr "L'expressió coordinada té un parèntesi d'obertura i cap de tancament"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2609
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "L'expressió coordinada no sembla tenir cap operador o operand"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2821 ../src/ui/theme.c:2841 ../src/ui/theme.c:2861
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "El tema conté una expressió que ha provocat un error: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4532
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1309,7 +1367,7 @@ msgstr ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"qualsevol\"/> s'ha "
|
||||
"d'especificar per a aquest estil de marc"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5065 ../src/ui/theme.c:5090
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
@@ -1317,18 +1375,18 @@ msgstr ""
|
||||
"No s'ha trobat <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style="
|
||||
"\"qualsevol\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5138
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "No s'ha pogut carregar el tema \"%s\": %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5274 ../src/ui/theme.c:5281 ../src/ui/theme.c:5288
|
||||
#: ../src/ui/theme.c:5295 ../src/ui/theme.c:5302
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "No s'ha definit <%s> per al tema «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5310
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1337,7 +1395,7 @@ msgstr ""
|
||||
"No s'ha definit cap estil de marc per al tipus de finestra \"%s\" en el tema "
|
||||
"\"%s\", afegiu un element <window type=\"%s\" style_set=\"qualsevol\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5708 ../src/ui/theme.c:5770 ../src/ui/theme.c:5833
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
@@ -1345,7 +1403,7 @@ msgstr ""
|
||||
"Les constants de la definició d'usuari han de començar per una majúscula; "
|
||||
"«%s» no ho és"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5716 ../src/ui/theme.c:5778 ../src/ui/theme.c:5841
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "La constant «%s» ja s'ha definit"
|
||||
@@ -1802,88 +1860,88 @@ msgstr "Aquest és un exemple de missatge en un diàleg d'exemple"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "Element fals de menú %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "Finestra amb només contorn"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "Barra"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "Finestra d'aplicació normal"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "Caixa de diàleg"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "Caixa de diàleg modal"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "Paleta d'utilitat"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "Menú arrossegable"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "Contorn"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "Diàleg modal adjuntat"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "Prova de disposició de botons %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "%g mil·lisegons per dibuixar un marc de finestra"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "Forma d'ús: metacity-theme-viewer [NOMDELTEMA]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "S'ha produït un error en carregar el tema: %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "S'ha carregat el tema «%s» en %g segons\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "Tipus de lletra per a títol normal"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "Tipus de lletra per a títol petit"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "Tipus de lletra per a títol gran"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "Disposicions de botons"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "Test de referència"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "El títol de la finestra va aquí"
|
||||
|
||||
|
||||
5629
po/ca@valencia.po
5629
po/ca@valencia.po
File diff suppressed because it is too large
Load Diff
332
po/cs.po
332
po/cs.po
@@ -10,8 +10,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: mutter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-04-03 17:11+0200\n"
|
||||
"PO-Revision-Date: 2011-04-03 17:09+0200\n"
|
||||
"POT-Creation-Date: 2011-09-26 00:45+0200\n"
|
||||
"PO-Revision-Date: 2011-09-26 00:45+0200\n"
|
||||
"Last-Translator: Petr Kovar <pknbe@volny.cz>\n"
|
||||
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
|
||||
"Language: cs\n"
|
||||
@@ -19,7 +19,16 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-Generator: Lokalize 1.1\n"
|
||||
"X-Generator: Lokalize 1.2\n"
|
||||
|
||||
#. 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:492
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
msgstr "Jiný kompozitní správce již běží na obrazovce %i displeje \"%s\"."
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
@@ -341,13 +350,16 @@ msgstr "Událost zvonku"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "Neznámý informační požadavek okna: %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> neodpovídá."
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "Aplikace neodpovídá."
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
msgid ""
|
||||
"You may choose to wait a short while for it to continue or force the "
|
||||
"application to quit entirely."
|
||||
@@ -355,11 +367,11 @@ msgstr ""
|
||||
"Je možné chvíli počkat, aby aplikace mohla pokračovat, nebo si vynutit úplné "
|
||||
"ukončení aplikace."
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "_Počkat"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Vynutit ukončení"
|
||||
|
||||
@@ -384,7 +396,7 @@ msgstr ""
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -395,12 +407,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "Nebyl definován příkaz %d.\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "Nebyl definován příkaz terminálu.\n"
|
||||
@@ -429,12 +441,12 @@ msgstr "Spustí sezení z uloženého souboru"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "Provede volání X synchronně"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "Nelze prohledat adresář motivů: %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -477,34 +489,34 @@ msgstr "Čárkou oddělený seznam zásuvných modulů kompozitoru"
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "Klíč GConf \"%s\" je nastaven na neplatnou hodnotu\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr "%d uloženo v klíči GConf %s je mimo rozsah %d až %d\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "Klíč GConf \"%s\" je nastaven na neplatný typ\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr "Klíč GConf %s se již používá a nemůže být použit k přepsání %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "Nelze přepsat klíč GConf, %s nenalezeno\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
@@ -512,12 +524,12 @@ msgstr ""
|
||||
"Bylo zakázáno obcházení chyb aplikací. Některé aplikace se možná nebudou "
|
||||
"chovat správně.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr "Nelze analyzovat popis písma \"%s\" v klíči GConf %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
@@ -526,17 +538,17 @@ msgstr ""
|
||||
"\"%s\" nalezené v databázi nastavení není platnou hodnotou modifikátoru "
|
||||
"tlačítka myši\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "Chyba při nastavování počtu ploch na %d: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Plocha %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
@@ -545,29 +557,29 @@ msgstr ""
|
||||
"\"%s\" nalezené v databázi nastavení není platnou hodnotou klávesové zkratky "
|
||||
"\"%s\"\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "Chyba při nastavování názvu plochy %d na \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr "Chyba při nastavování stavu aktivních oken, která jsou skrytá: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr ""
|
||||
"Chyba při nastavování stavu bez automaticky otevíraného okna tabulátorem: "
|
||||
"%s\n"
|
||||
|
||||
#: ../src/core/screen.c:624
|
||||
#: ../src/core/screen.c:741
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "Obrazovka %d na displeji \"%s\" je neplatná\n"
|
||||
|
||||
#: ../src/core/screen.c:640
|
||||
#: ../src/core/screen.c:757
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -576,70 +588,70 @@ msgstr ""
|
||||
"Obrazovka %d na displeji \"%s\" již správce oken má; zkuste prosím nahradit "
|
||||
"aktuálního správce oken pomocí přepínače --replace.\n"
|
||||
|
||||
#: ../src/core/screen.c:667
|
||||
#: ../src/core/screen.c:784
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
msgstr "Nelze získat výběr správce oken na obrazovce %d displeje \"%s\"\n"
|
||||
|
||||
#: ../src/core/screen.c:722
|
||||
#: ../src/core/screen.c:839
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "Obrazovka %d na displeji \"%s\" již má správce oken\n"
|
||||
|
||||
#: ../src/core/screen.c:907
|
||||
#: ../src/core/screen.c:1024
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "Nelze uvolnit obrazovku %d na displeji \"%s\"\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "Nelze vytvořit adresář \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "Nelze otevřít soubor sezení \"%s\" k zápisu: %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "Chyba při zápisu souboru sezení \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "Chyba při zavírání souboru sezení \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "Chyba při analyzování uloženého souboru sezení: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr "nalezen atribut <mutter_session>, ale ID sezení už k dispozici je"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "Neznámý atribut %s prvku <%s>"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "vnořená značka <window>"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "Neznámý prvek %s"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -667,30 +679,24 @@ msgstr "Otevřen soubor záznamu %s\n"
|
||||
msgid "Mutter was compiled without support for verbose mode\n"
|
||||
msgstr "Mutter bylo přeloženo bez podpory podrobného režimu\n"
|
||||
|
||||
#: ../src/core/util.c:286
|
||||
#: ../src/core/util.c:290
|
||||
msgid "Window manager: "
|
||||
msgstr "Správce oken: "
|
||||
|
||||
#: ../src/core/util.c:434
|
||||
#: ../src/core/util.c:438
|
||||
msgid "Bug in window manager: "
|
||||
msgstr "Chyba ve správci oken: "
|
||||
|
||||
#: ../src/core/util.c:467
|
||||
#: ../src/core/util.c:471
|
||||
msgid "Window manager warning: "
|
||||
msgstr "Varování správce oken: "
|
||||
|
||||
#: ../src/core/util.c:495
|
||||
#: ../src/core/util.c:499
|
||||
msgid "Window manager error: "
|
||||
msgstr "Chyba správce oken: "
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6849
|
||||
#: ../src/core/window.c:7069
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -706,7 +712,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7512
|
||||
#: ../src/core/window.c:7732
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
@@ -726,11 +732,16 @@ msgstr "Aplikace nastavila neplatný _NET_WM_PID %lu\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (na %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1482
|
||||
#: ../src/core/window-props.c:1481
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "Neplatné okno WM_TRANSIENT_FOR 0x%lx specifikováno pro %s.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1492
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "Okno WM_TRANSIENT_FOR 0x%lx by vytvořilo smyčku pro %s.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -758,6 +769,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"Vlastnost %s okna 0x%lx obsahovala neplatné UTF-8 u položky %d seznamu\n"
|
||||
|
||||
#: ../src/mutter.desktop.in.h:1 ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:1
|
||||
msgid "Attach modal dialogs"
|
||||
msgstr "Připojit modální dialogová okna"
|
||||
@@ -779,14 +794,26 @@ msgstr ""
|
||||
"monitorech, nebo pouze u oken na primárním monitoru."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "Šířka přetažitelného okraje"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "Aktivní skrytá okna"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr "Modifikátor, který se má použít u operací rozšířené správy oken"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 ""
|
||||
"Počet všech přetažitelných okrajů. Nestačí-li viditelné okraje motivu, budou "
|
||||
"přidány neviditelné okraje, aby bylo docíleno zadané hodnoty."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -798,7 +825,7 @@ msgstr ""
|
||||
"Windows\". Předpokládá se, že tato zkratka bude výchozí, nebo nastavena na "
|
||||
"prázdný řetězec."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
msgid ""
|
||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
@@ -808,7 +835,7 @@ msgstr ""
|
||||
"zobrazují jako připojené k záhlaví okna rodiče a jsou přesunovány společně s "
|
||||
"oknem rodiče."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Pracovní plochy pouze na primárním"
|
||||
|
||||
@@ -817,47 +844,47 @@ msgstr "Pracovní plochy pouze na primárním"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Použití: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "Zavřít okno"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "Nabídka okna"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "Minimalizovat okno"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "Maximalizovat okno"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "Obnovit okno"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Svinout okno"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "Rozvinout okno"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Držet okno navrchu"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Odstranit okno svrchu"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Vždy na viditelné ploše"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Umístit okno jen na jednu plochu"
|
||||
|
||||
@@ -1060,48 +1087,75 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d × %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "nahoře"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "dole"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "vlevo"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "vpravo"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "geometrie rámu nedefinuje rozměr \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr "geometrie rámu nedefinuje rozměr \"%s\" okraje \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "Poměr stran tlačítka %g není přiměřený"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "Geometrie rámu nedefinuje velikost tlačítek"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1065
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "Přechody by měly mít alespoň dvě barvy"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1217
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"Určení vlastní barvy GTK musí mít název barvy a záložní možnost v závorce, "
|
||||
"např. gtk:custom(x,y); nelze analyzovat \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1233
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr ""
|
||||
"Neplatný znak \"%c\" v parametru color_name v gtk:custom, platné jsou pouze "
|
||||
"A-Za-z0-9-_"
|
||||
|
||||
#: ../src/ui/theme.c:1247
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr ""
|
||||
"Formát Gtk:custom má podobu \"gtk:custom(název_barvy,záloha)\", \"%s\" "
|
||||
"tomuto formátu neodpovídá"
|
||||
|
||||
#: ../src/ui/theme.c:1292
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1110,7 +1164,7 @@ msgstr ""
|
||||
"Specifikace GTK barvy musí mít stav v hranatých závorkách, např. gtk:fg"
|
||||
"[NORMAL], kde NORMAL je stav; nelze analyzovat \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1306
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1119,17 +1173,17 @@ msgstr ""
|
||||
"Specifikace GTK barvy musí mít za stavem hranatou závorku, např. gtk:fg"
|
||||
"[NORMAL], kde NORMAL je stav; nelze analyzovat \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1317
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "Nerozuměno stavu \"%s\" ve specifikaci barvy"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1330
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "Nerozuměno barevné složce \"%s\" ve specifikaci barvy"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1360
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
@@ -1138,17 +1192,17 @@ msgstr ""
|
||||
"Formát prolínání má podobu \"prolínání/barva_pozadí/barva_popředí/alfa\", "
|
||||
"\"%s\" tomuto formátu neodpovídá"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1371
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "Nelze analyzovat hodnotu alfa \"%s\" v prolínající barvě"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1381
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "Hodnota alfa \"%s\" v prolínající barvě není mezi 0.0 a 1.0"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1428
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
@@ -1156,27 +1210,27 @@ msgstr ""
|
||||
"Formát stínu má podobu \"stín/základní_barva/faktor\", \"%s\" tomuto formátu "
|
||||
"neodpovídá"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1439
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "Nelze analyzovat faktor stínu \"%s\" ve stínované barvě"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1449
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "Faktor stínu \"%s\" ve stínované barvě je záporný"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1478
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "Nelze analyzovat barvu \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1789
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "Souřadnicový výraz obsahuje nepovolený znak \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1816
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
@@ -1185,29 +1239,29 @@ msgstr ""
|
||||
"Souřadnicový výraz obsahuje číslo s pohyblivou řádovou čárkou \"%s\", které "
|
||||
"nelze analyzovat"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1830
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr "Souřadnicový výraz obsahuje celé číslo \"%s\", které nelze analyzovat"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1952
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
"\"%s\""
|
||||
msgstr "Souřadnicový výraz obsahuje na začátku textu neznámý operátor: \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:2009
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "Souřadnicový výraz byl prázdný nebo mu nebylo rozuměno"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2120 ../src/ui/theme.c:2130 ../src/ui/theme.c:2164
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "Souřadnicový výraz způsobil dělení nulou"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2172
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
@@ -1215,24 +1269,24 @@ msgstr ""
|
||||
"Souřadnicový výraz chce použít operátor mod na číslo s pohyblivou řádovou "
|
||||
"čárkou"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2228
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr ""
|
||||
"Souřadnicový výraz má na místě, kde byl očekáván operand, operátor \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2237
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "Souřadnicový výraz má operand tam, kde byl očekáván operátor"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2245
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "Souřadnicový výraz končí operátorem místo operandu"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2255
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1241,37 +1295,37 @@ msgstr ""
|
||||
"Souřadnicový výraz má operátor \"%c\" za operátorem \"%c\" bez operandu "
|
||||
"umístěného mezi nimi"
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2406 ../src/ui/theme.c:2451
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr "Souřadnicový výraz má neznámou proměnnou nebo konstantu \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2505
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "Analyzátor souřadnicových výrazů přeplnil svou vyrovnávací paměť."
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2534
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr "Souřadnicový výraz má pravou závorku bez levé závorky"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2598
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr "Souřadnicový výraz má levou závorku bez pravé závorky"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2609
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "Souřadnicový výraz zřejmě nemá žádné operátory nebo operandy"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2821 ../src/ui/theme.c:2841 ../src/ui/theme.c:2861
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "Motiv obsahoval výraz, který způsobil chybu: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4532
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1280,25 +1334,25 @@ msgstr ""
|
||||
"U tohoto stylu rámu musí být zadáno <button function=\"%s\" state=\"%s\" "
|
||||
"draw_ops=\"cokoliv\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5065 ../src/ui/theme.c:5090
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr ""
|
||||
"Chybí <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"cokoliv\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5138
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "Nelze načíst motiv \"%s\": %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5274 ../src/ui/theme.c:5281 ../src/ui/theme.c:5288
|
||||
#: ../src/ui/theme.c:5295 ../src/ui/theme.c:5302
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "Není nastaveno <%s> motivu \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5310
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1307,7 +1361,7 @@ msgstr ""
|
||||
"U typu okna \"%s\" motivu \"%s\" není nastaven typ rámu, přidejte prosím "
|
||||
"prvek <window type=\"%s\" style_set=\"cokoliv\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5708 ../src/ui/theme.c:5770 ../src/ui/theme.c:5833
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
@@ -1315,7 +1369,7 @@ msgstr ""
|
||||
"Uživatelem definované konstanty musí začínat velkým písmenem; \"%s\" toto "
|
||||
"nesplňuje"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5716 ../src/ui/theme.c:5778 ../src/ui/theme.c:5841
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "Konstanta \"%s\" již byla definována"
|
||||
@@ -1762,88 +1816,88 @@ msgstr "Toto je ukázková zpráva v ukázkovém dialogu"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "Falešná položka nabídky %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "Okno jen s okrajem"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "Lišta"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "Normální okno aplikace"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "Dialogové okno"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "Modální dialogové okno"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "Paleta nástrojů"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "Odtržení nabídky"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "Okraj"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "Připojené modální dialogové okno"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "Test rozložení tlačítek %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "%g milisekund na nakreslení jednoho rámu okna"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "Použití: metacity-theme-viewer [NÁZEVMOTIVU]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "Chyba při načítání motivu: %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "Načten motiv \"%s\" za %g sekund\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "Normální písmo nadpisu"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "Malé písmo nadpisu"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "Velké písmo nadpisu"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "Rozložení tlačítek"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "Test výkonnosti"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "Sem patří nadpis okna"
|
||||
|
||||
|
||||
333
po/en_GB.po
333
po/en_GB.po
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: metacity\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-30 15:35+0100\n"
|
||||
"PO-Revision-Date: 2011-03-30 15:35+0100\n"
|
||||
"POT-Creation-Date: 2011-09-09 12:53+0100\n"
|
||||
"PO-Revision-Date: 2011-09-09 12:56+0100\n"
|
||||
"Last-Translator: Bruce Cowan <bruce@bcowan.me.uk>\n"
|
||||
"Language-Team: British English <en@li.org>\n"
|
||||
"Language: en_GB\n"
|
||||
@@ -18,7 +18,17 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Virtaal 0.6.1\n"
|
||||
"X-Generator: Virtaal 0.7.1-beta1\n"
|
||||
|
||||
#. 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:486
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
msgstr ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s\"."
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
@@ -337,13 +347,16 @@ msgstr "Bell event"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "Unknown window information request: %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> is not responding."
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "Application is not responding."
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
msgid ""
|
||||
"You may choose to wait a short while for it to continue or force the "
|
||||
"application to quit entirely."
|
||||
@@ -351,11 +364,11 @@ msgstr ""
|
||||
"You may choose to wait a short while for it to continue or force the "
|
||||
"application to quit entirely."
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "_Wait"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Force Quit"
|
||||
|
||||
@@ -381,7 +394,7 @@ msgstr ""
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -392,12 +405,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "No command %d has been defined.\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "No terminal command has been defined.\n"
|
||||
@@ -426,12 +439,12 @@ msgstr "Initialise session from savefile"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "Make X calls synchronous"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "Failed to scan themes directory: %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -472,34 +485,34 @@ msgstr "Comma-separated list of compositor plugins"
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "GConf key '%s' is set to an invalid value\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "GConf key \"%s\" is set to an invalid type\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr "GConf key %s is already in use and can't be used to override %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "Can't override GConf key: %s not found\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
@@ -507,12 +520,12 @@ msgstr ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
@@ -521,17 +534,17 @@ msgstr ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
"modifier\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "Error setting number of workspaces to %d: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Workspace %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
@@ -540,27 +553,27 @@ msgstr ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
"\"%s\"\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr "Error setting live hidden windows status: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "Error setting no tab popup status: %s\n"
|
||||
|
||||
#: ../src/core/screen.c:624
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "Screen %d on display '%s' is invalid\n"
|
||||
|
||||
#: ../src/core/screen.c:640
|
||||
#: ../src/core/screen.c:679
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -569,71 +582,71 @@ msgstr ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
"replace option to replace the current window manager.\n"
|
||||
|
||||
#: ../src/core/screen.c:667
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
msgstr ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
|
||||
#: ../src/core/screen.c:722
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "Screen %d on display \"%s\" already has a window manager\n"
|
||||
|
||||
#: ../src/core/screen.c:907
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "Could not release screen %d on display \"%s\"\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "Could not create directory '%s': %s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "Could not open session file '%s' for writing: %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "Error writing session file '%s': %s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "Error closing session file '%s': %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "Failed to parse saved session file: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr "<mutter_session> attribute seen but we already have the session ID"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "Unknown attribute %s on <%s> element"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "nested <window> tag"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "Unknown element %s"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -661,30 +674,24 @@ msgstr "Opened log file %s\n"
|
||||
msgid "Mutter was compiled without support for verbose mode\n"
|
||||
msgstr "Mutter was compiled without support for verbose mode\n"
|
||||
|
||||
#: ../src/core/util.c:286
|
||||
#: ../src/core/util.c:290
|
||||
msgid "Window manager: "
|
||||
msgstr "Window manager: "
|
||||
|
||||
#: ../src/core/util.c:434
|
||||
#: ../src/core/util.c:438
|
||||
msgid "Bug in window manager: "
|
||||
msgstr "Bug in window manager: "
|
||||
|
||||
#: ../src/core/util.c:467
|
||||
#: ../src/core/util.c:471
|
||||
msgid "Window manager warning: "
|
||||
msgstr "Window manager warning: "
|
||||
|
||||
#: ../src/core/util.c:495
|
||||
#: ../src/core/util.c:499
|
||||
msgid "Window manager error: "
|
||||
msgstr "Window manager error: "
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6847
|
||||
#: ../src/core/window.c:7019
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -700,7 +707,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7510
|
||||
#: ../src/core/window.c:7682
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
@@ -719,11 +726,16 @@ msgstr "Application set a bogus _NET_WM_PID %lu\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (on %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1482
|
||||
#: ../src/core/window-props.c:1481
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1492
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -751,6 +763,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"Property %s on window 0x%lx contained invalid UTF-8 for item %d in the list\n"
|
||||
|
||||
#: ../src/mutter.desktop.in.h:1 ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:1
|
||||
msgid "Attach modal dialogs"
|
||||
msgstr "Attach modal dialogues"
|
||||
@@ -772,14 +788,26 @@ msgstr ""
|
||||
"monitors or only for windows on the primary monitor."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "Draggable border width"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "Live Hidden Windows"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr "Modifier to use for extended window management operations"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 ""
|
||||
"The amount of total draggable borders. If the theme's visible borders are "
|
||||
"not enough, invisible borders will be added to meet this value."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -791,7 +819,7 @@ msgstr ""
|
||||
"\"Windows key\" on PC hardware. It's expected that this binding either the "
|
||||
"default or set to the empty string."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
msgid ""
|
||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
@@ -801,7 +829,7 @@ msgstr ""
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
"the parent window."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Workspaces only on primary"
|
||||
|
||||
@@ -810,47 +838,47 @@ msgstr "Workspaces only on primary"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Usage: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "Close Window"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "Window Menu"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "Minimise Window"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "Maximise Window"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "Restore Window"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Roll Up Window"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "Unroll Window"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Keep Window On Top"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Remove Window From Top"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Always On Visible Workspace"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Put Window On Only One Workspace"
|
||||
|
||||
@@ -1053,48 +1081,75 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "top"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "bottom"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "left"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "right"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "frame geometry does not specify \"%s\" dimension"
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "Button aspect ratio %g is not reasonable"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "Frame geometry does not specify size of buttons"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "Gradients should have at least two colours"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1212
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"GTK custom colour specification must have colour name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1228
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only "
|
||||
"A-Za-z0-9-_ are valid"
|
||||
|
||||
#: ../src/ui/theme.c:1242
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not fit "
|
||||
"the format"
|
||||
|
||||
#: ../src/ui/theme.c:1287
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1103,7 +1158,7 @@ msgstr ""
|
||||
"GTK colour specification must have the state in brackets, e.g. gtk:fg"
|
||||
"[NORMAL] where NORMAL is the state; could not parse \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1301
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1112,17 +1167,17 @@ msgstr ""
|
||||
"GTK colour specification must have a close bracket after the state, e.g. gtk:"
|
||||
"fg[NORMAL] where NORMAL is the state; could not parse \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1312
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "Did not understand state \"%s\" in colour specification"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1325
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "Did not understand colour component \"%s\" in colour specification"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1355
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
@@ -1131,44 +1186,44 @@ msgstr ""
|
||||
"Blend format is \"blend/bg_colour/fg_colour/alpha\", \"%s\" does not fit the "
|
||||
"format"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1366
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "Could not parse alpha value \"%s\" in blended colour"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1376
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "Alpha value \"%s\" in blended colour is not between 0.0 and 1.0"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1423
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
msgstr ""
|
||||
"Shade format is \"shade/base_colour/factor\", \"%s\" does not fit the format"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1434
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "Could not parse shade factor \"%s\" in shaded colour"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1444
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "Shade factor \"%s\" in shaded colour is negative"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1473
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "Could not parse colour \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1784
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "Coordinate expression contains character '%s' which is not allowed"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1811
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
@@ -1177,12 +1232,12 @@ msgstr ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
"parsed"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1825
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1947
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
@@ -1191,41 +1246,41 @@ msgstr ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
"\"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:2004
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "Coordinate expression was empty or not understood"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2115 ../src/ui/theme.c:2125 ../src/ui/theme.c:2159
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "Coordinate expression results in division by zero"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2167
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
msgstr ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2223
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2232
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "Coordinate expression had an operand where an operator was expected"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2240
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "Coordinate expression ended with an operator instead of an operand"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2250
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1234,38 +1289,38 @@ msgstr ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
"operand in between"
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2401 ../src/ui/theme.c:2446
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr "Coordinate expression had unknown variable or constant \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2500
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "Coordinate expression parser overflowed its buffer."
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2529
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2593
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr ""
|
||||
"Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2604
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "Coordinate expression doesn't seem to have any operators or operands"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2816 ../src/ui/theme.c:2836 ../src/ui/theme.c:2856
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "Theme contained an expression that resulted in an error: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4527
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1274,25 +1329,25 @@ msgstr ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
"specified for this frame style"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5060 ../src/ui/theme.c:5085
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5133
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "Failed to load theme \"%s\": %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5269 ../src/ui/theme.c:5276 ../src/ui/theme.c:5283
|
||||
#: ../src/ui/theme.c:5290 ../src/ui/theme.c:5297
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "No <%s> set for theme \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5305
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1301,14 +1356,14 @@ msgstr ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
"type=\"%s\" style_set=\"whatever\"/> element"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5744 ../src/ui/theme.c:5806 ../src/ui/theme.c:5869
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
msgstr ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5752 ../src/ui/theme.c:5814 ../src/ui/theme.c:5877
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "Constant \"%s\" has already been defined"
|
||||
@@ -1755,88 +1810,88 @@ msgstr "This is a sample message in a sample dialog"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "Fake menu item %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "Border-only window"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "Bar"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "Normal Application Window"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "Dialogue Box"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "Modal Dialogue Box"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "Utility Palette"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "Torn-off Menu"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "Border"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "Attached Modal Dialogue"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "Button layout test %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "%g milliseconds to draw one window frame"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "Error loading theme: %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "Loaded theme \"%s\" in %g seconds\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "Normal Title Font"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "Small Title Font"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "Large Title Font"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "Button Layouts"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "Benchmark"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "Window Title Goes Here"
|
||||
|
||||
|
||||
327
po/fr.po
327
po/fr.po
@@ -11,7 +11,7 @@
|
||||
# Cyprien Le Pannérer <cyplp@free.fr>, 2006.
|
||||
# Robert-André Mauchin <zebob.m@gmail.com>, 2007.
|
||||
# Stéphane Raimbault <stephane.raimbault@gmail.com>, 2007.
|
||||
# Claude Paroz <claude@2xlibre.net>, 2008-2010.
|
||||
# Claude Paroz <claude@2xlibre.net>, 2008-2011.
|
||||
# Bruno Brouard <annoa.b@gmail.com>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
@@ -20,14 +20,25 @@ msgstr ""
|
||||
"org/enter_bug.cgi?product=mutter&component=general\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-03-21 19:31+0000\n"
|
||||
"PO-Revision-Date: 2011-03-21 21:25+0100\n"
|
||||
"Last-Translator: Bruno Brouard <annoa.b@gmail.com>\n"
|
||||
"POT-Creation-Date: 2011-08-10 12:42+0000\n"
|
||||
"PO-Revision-Date: 2011-09-08 21:10+0200\n"
|
||||
"Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
|
||||
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. 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:487
|
||||
#, c-format
|
||||
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 »."
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "Passer à l'espace de travail 1"
|
||||
@@ -361,13 +372,16 @@ msgstr "Évènement son d'alerte"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "Requête d'information de fenêtre inconnue : %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> ne répond pas."
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "L'application ne répond pas."
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
msgid ""
|
||||
"You may choose to wait a short while for it to continue or force the "
|
||||
"application to quit entirely."
|
||||
@@ -375,11 +389,11 @@ msgstr ""
|
||||
"Vous pouvez attendre un instant pour continuer ou insister pour quitter "
|
||||
"l'application."
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "_Attendre"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Forcer à quitter"
|
||||
|
||||
@@ -405,7 +419,7 @@ msgstr ""
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -416,12 +430,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "Aucune commande %d n'a été définie.\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "Aucune commande de terminal n'a été définie.\n"
|
||||
@@ -450,12 +464,12 @@ msgstr "Initialiser la session depuis le fichier de sauvegarde"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "Rendre synchrones les appels à X"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "Le parcours du répertoire de thèmes a échoué : %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -498,36 +512,36 @@ msgstr "Liste de greffons de composition, séparés par des virgules"
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "La valeur de la clé GConf « %s » n'est pas valide\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr "%d enregistré dans la clé GConf %s n'est pas compris entre %d et %d\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "Le type de la clé GConf « %s » n'est pas valide\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr ""
|
||||
"La clé GConf %s est déjà utilisée et ne peut être employée pour surcharger %"
|
||||
"s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "Impossible de surcharger la clé GConf, %s est introuvable\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
@@ -535,13 +549,13 @@ msgstr ""
|
||||
"Solutions de rechange désactivées pour les applications endommagées. "
|
||||
"Certaines applications peuvent ne pas se comporter correctement.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr ""
|
||||
"Impossible d'analyser la description de police « %s » depuis la clé GConf %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
@@ -550,17 +564,17 @@ msgstr ""
|
||||
"« %s » trouvée dans la base de données de configuration n'est pas une valeur "
|
||||
"correcte pour le bouton de souris\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "Erreur de définition du nombre d'espaces de travail sur %d : %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Espace de travail %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
@@ -569,29 +583,29 @@ msgstr ""
|
||||
"« %s » trouvé dans la base de données de configuration n'est pas une valeur "
|
||||
"correcte pour la combinaison de touches « %s »\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr ""
|
||||
"Erreur dans la définition du nom pour l'espace de travail %d à « %s » : %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr ""
|
||||
"Erreur dans la définition de l'état des fenêtres masquées vivantes : %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "Erreur dans la définition de l'état « no tab popup » : %s\n"
|
||||
|
||||
#: ../src/core/screen.c:623
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "L'écran %d sur le visuel « %s » n'est pas valide\n"
|
||||
|
||||
#: ../src/core/screen.c:639
|
||||
#: ../src/core/screen.c:679
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -601,7 +615,7 @@ msgstr ""
|
||||
"d'utiliser l'option --replace pour remplacer le gestionnaire de fenêtres "
|
||||
"actuel.\n"
|
||||
|
||||
#: ../src/core/screen.c:666
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
@@ -609,66 +623,66 @@ msgstr ""
|
||||
"Impossible d'avoir la sélection du gestionnaire de fenêtres sur l'écran %d "
|
||||
"du visuel « %s »\n"
|
||||
|
||||
#: ../src/core/screen.c:721
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "L'écran %d sur le visuel « %s » a déjà un gestionnaire de fenêtres\n"
|
||||
|
||||
#: ../src/core/screen.c:906
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "Impossible de libérer l'écran %d sur le visuel « %s »\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "Impossible de créer le répertoire « %s » : %s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "Impossible d'ouvrir le fichier de session « %s » en écriture : %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "Erreur lors de l'écriture du fichier de session « %s » : %s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "Erreur lors de la fermeture du fichier de session « %s » : %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "L'analyse du fichier de session enregistré a échoué : %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr ""
|
||||
"L'attribut <mutter_session> a été trouvé, mais nous possédons déjà l'ID de "
|
||||
"session"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "Attribut %s inconnu sur l'élément <%s>"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "balise <window> imbriquée"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "Élément %s inconnu"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -714,13 +728,13 @@ msgid "Window manager error: "
|
||||
msgstr "Erreur du gestionnaire de fenêtres : "
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/core/util.c:632 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6752
|
||||
#: ../src/core/window.c:6959
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -736,7 +750,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7415
|
||||
#: ../src/core/window.c:7622
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
|
||||
@@ -756,11 +770,16 @@ msgstr "L'application a défini un _NET_WM_PID %lu erroné\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (sur %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1479
|
||||
#: ../src/core/window-props.c:1488
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "Fenêtre WM_TRANSIENT_FOR 0x%lx non valide indiquée pour %s.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1500
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "Fenêtre WM_TRANSIENT_FOR 0x%lx pour %s créerait une boucle.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -808,18 +827,32 @@ 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 principal."
|
||||
"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."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "Largeur de bordure manipulable"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "Fenêtres masquées vivantes"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr "Touche à utiliser pour les opérations étendues de gestion des fenêtres"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 visibles "
|
||||
"du thème ne sont pas suffisantes, des bordures invisibles sont ajoutées pour "
|
||||
"arriver à cette valeur."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -831,7 +864,7 @@ msgstr ""
|
||||
"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."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
msgid ""
|
||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
@@ -841,7 +874,7 @@ msgstr ""
|
||||
"dialogue apparaissent attachées à la barre de titre de la fenêtre parente et "
|
||||
"sont déplacées ensembles avec elle."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Seulement les espaces de travail sur la fenêtre principale"
|
||||
|
||||
@@ -850,47 +883,47 @@ msgstr "Seulement les espaces de travail sur la fenêtre principale"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Utilisation : %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1123
|
||||
msgid "Close Window"
|
||||
msgstr "Fermer la fenêtre"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1126
|
||||
msgid "Window Menu"
|
||||
msgstr "Menu Fenêtre"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1129
|
||||
msgid "Minimize Window"
|
||||
msgstr "Réduire la fenêtre"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1132
|
||||
msgid "Maximize Window"
|
||||
msgstr "Maximiser la fenêtre"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1135
|
||||
msgid "Restore Window"
|
||||
msgstr "Restaurer la fenêtre"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1138
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Replier la fenêtre"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1141
|
||||
msgid "Unroll Window"
|
||||
msgstr "Déplier la fenêtre"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1144
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Garder la fenêtre au premier plan"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1147
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Enlever la fenêtre du premier plan"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1150
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Toujours sur l'espace de travail visible"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1153
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Mettre la fenêtre sur un seul espace de travail"
|
||||
|
||||
@@ -1093,49 +1126,77 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "haut"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "bas"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "gauche"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "droite"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "la géométrie du cadre n'indique pas la dimension « %s »"
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr ""
|
||||
"la géométrie du cadre n'indique pas la dimension « %s » pour la bordure « %s »"
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "La proportion du bouton %g n'est pas raisonnable"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "La géométrie du cadre n'indique pas la taille des boutons"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "Les dégradés doivent comporter au moins deux couleurs"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1205
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"Une spécification de couleur personnalisée GTK doit comporter un nom de "
|
||||
"couleur et un substitut entre parenthèses, par ex. gtk:custom(foo,bar) ; "
|
||||
"impossible d'analyser « %s »"
|
||||
|
||||
#: ../src/ui/theme.c:1221
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr ""
|
||||
"Caractère « %c » non valide dans le paramètre color_name de gtk:custom, seuls "
|
||||
"A-Za-z0-9-_ sont acceptés"
|
||||
|
||||
#: ../src/ui/theme.c:1235
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr ""
|
||||
"Le format de gtk:custom est « gtk:custom(nom_couleur,substitut) », « %s » ne "
|
||||
"correspond pas à ce format"
|
||||
|
||||
#: ../src/ui/theme.c:1271
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1144,7 +1205,7 @@ msgstr ""
|
||||
"La spécification de couleur GTK doit présenter l'état entre crochets, p. ex. "
|
||||
"gtk:fg[NORMAL] où NORMAL est l'état ; impossible d'analyser « %s »"
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1285
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1154,19 +1215,19 @@ msgstr ""
|
||||
"l'état, p. ex. gtk:fg[NORMAL] où NORMAL est l'état ; impossible d'analyser « %"
|
||||
"s »"
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1296
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "Impossible de comprendre l'état « %s » dans la spécification de couleur"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1309
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr ""
|
||||
"Impossible de comprendre le composant de couleur « %s » dans la spécification "
|
||||
"de couleur"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1339
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
@@ -1175,18 +1236,18 @@ msgstr ""
|
||||
"Le format de mélange est « blend/bg_color/fg_color/alpha », « %s » ne "
|
||||
"correspond pas à ce format ."
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1350
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "Impossible d'analyser la valeur alpha « %s » en couleur mélangée"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1360
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr ""
|
||||
"La valeur alpha « %s » en couleur mélangée n'est pas comprise entre 0,0 et 1,0"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1407
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
@@ -1194,29 +1255,29 @@ msgstr ""
|
||||
"Le format d'ombre est « shade/base_color/factor », « %s » ne correspond pas au "
|
||||
"format"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1418
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "Impossible d'analyser le facteur d'ombre « %s » en couleur ombrée"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1428
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "Le facteur d'ombre « %s » en couleur ombrée est négatif"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1457
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "Impossible d'analyser la couleur « %s »"
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1768
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr ""
|
||||
"L'expression de la coordonnée contient le caractère « %s » qui n'est pas "
|
||||
"autorisé"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1795
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
@@ -1225,14 +1286,14 @@ msgstr ""
|
||||
"L'expression de la coordonnée contient la valeur en virgule flottante « %s » "
|
||||
"qui ne peut pas être analysée"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1809
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr ""
|
||||
"L'expression de la coordonnée contient l'entier « %s » qui n'a pas pu être "
|
||||
"analysé"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1931
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
@@ -1241,17 +1302,17 @@ msgstr ""
|
||||
"L'expression de la coordonnée contenait un opérateur inconnu au début de ce "
|
||||
"texte : « %s »"
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:1988
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "L'expression de la coordonnée était vide ou incomprise"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2099 ../src/ui/theme.c:2109 ../src/ui/theme.c:2143
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "L'expression de la coordonnée entraîne une division par zéro"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2151
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
@@ -1259,7 +1320,7 @@ msgstr ""
|
||||
"L'expression de la coordonnée tente d'utiliser l'opérateur mod sur une "
|
||||
"valeur en virgule flottante"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2207
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
@@ -1267,20 +1328,20 @@ msgstr ""
|
||||
"L'expression de la coordonnée a un opérateur « %s » là où un opérande était "
|
||||
"attendu"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2216
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr ""
|
||||
"L'expression de la coordonnée a un opérande là où un opérateur était attendu"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2224
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr ""
|
||||
"L'expression de la coordonnée était terminée par un opérateur au lieu d'un "
|
||||
"opérande"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2234
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1289,46 +1350,46 @@ msgstr ""
|
||||
"L'expression de la coordonnée a un opérateur « %c » suivant l'opérateur « %c » "
|
||||
"sans opérande entre eux"
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2385 ../src/ui/theme.c:2430
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr ""
|
||||
"L'expression de la coordonnée possède une variable ou constante inconnue « %"
|
||||
"s »"
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2484
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr ""
|
||||
"L'analyseur d'expression de coordonnées a dépassé la capacité de son tampon."
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2513
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr ""
|
||||
"L'expression de la coordonnée comporte une parenthèse de fermeture, mais pas "
|
||||
"de parenthèse d'ouverture"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2577
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr ""
|
||||
"L'expression de la coordonnée comporte une parenthèse d'ouverture, mais pas "
|
||||
"de parenthèse de fermeture"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2588
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr ""
|
||||
"L'expression de la coordonnée ne semble pas comprendre d'opérateur ni "
|
||||
"d'opérande"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2800 ../src/ui/theme.c:2820 ../src/ui/theme.c:2840
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "Le thème contient une expression qui a entraîné une erreur : %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4511
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1337,25 +1398,25 @@ msgstr ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> doit être "
|
||||
"indiqué pour ce style de cadre"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5044 ../src/ui/theme.c:5069
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr ""
|
||||
"<frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/> manquant"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5117
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "Impossible de charger le thème « %s » : %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5253 ../src/ui/theme.c:5260 ../src/ui/theme.c:5267
|
||||
#: ../src/ui/theme.c:5274 ../src/ui/theme.c:5281
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "Aucun <%s> défini pour le thème « %s »"
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5289
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1364,7 +1425,7 @@ msgstr ""
|
||||
"Aucun style de cadre défini pour le type de fenêtre « %s » dans le thème « %"
|
||||
"s », ajoutez un élément <window type=\"%s\" style_set=\"whatever\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5728 ../src/ui/theme.c:5790 ../src/ui/theme.c:5853
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
@@ -1372,7 +1433,7 @@ msgstr ""
|
||||
"Les constantes définies par l'utilisateur doivent commencer par une "
|
||||
"majuscule ; « %s » commence par une minuscule"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5736 ../src/ui/theme.c:5798 ../src/ui/theme.c:5861
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "La constante « %s » a déjà été définie"
|
||||
@@ -1838,88 +1899,88 @@ msgstr "C'est un message d'exemple dans une boîte de dialogue d'exemple"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "Élément de menu factice %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "Fenêtre avec seulement des bordures"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "Barre"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "Fenêtre d'application normale"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "Boîte de dialogue"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "Boîte de dialogue modale"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "Palette utilitaire"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "Menu détaché"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "Bordure"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "Boîte de dialogue modale liée"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "Test d'agencement de boutons %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "%g millisecondes pour dessiner un cadre de fenêtre"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "Usage : metacity-theme-viewer [NOMDUTHEME]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "Erreur lors du chargement du thème : %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "Thème « %s » chargé en %g secondes\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "Police de titre normal"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "Petite police de titre"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "Grande police de titre"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "Agencements des boutons"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "Performance"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "Le titre des fenêtres se trouve ici"
|
||||
|
||||
|
||||
323
po/gl.po
323
po/gl.po
@@ -9,13 +9,14 @@
|
||||
# Mancomún - Centro de Referencia e Servizos de Software Libre <g11n@mancomun.org>, 2009.
|
||||
# Fran Dieguez <fran.dieguez@glug.es>, 2009.
|
||||
# Fran Diéguez <frandieguez@gnome.org>, 2010, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gl\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-22 00:53+0100\n"
|
||||
"PO-Revision-Date: 2011-03-22 00:54+0100\n"
|
||||
"Last-Translator: \n"
|
||||
"POT-Creation-Date: 2011-08-16 19:26+0200\n"
|
||||
"PO-Revision-Date: 2011-08-16 19:26+0200\n"
|
||||
"Last-Translator: Fran Diéguez <frandieguez@gnome.org>\n"
|
||||
"Language-Team: Galician <gnome-l10n-gl@gnome.org>\n"
|
||||
"Language: gl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -24,6 +25,17 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Lokalize 1.2\n"
|
||||
|
||||
#. 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:487
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
msgstr ""
|
||||
"Non foi posíbel obter a selección do xestor de xanelas na pantalla %i na "
|
||||
"visualización «%s»"
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "Cambiar ao espazo de traballo 1"
|
||||
@@ -348,13 +360,16 @@ msgstr "Evento de campá"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "Petición de información de xanela descoñecida: %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> non está respondendo."
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "O Aplicativo non está respondendo."
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
msgid ""
|
||||
"You may choose to wait a short while for it to continue or force the "
|
||||
"application to quit entirely."
|
||||
@@ -362,11 +377,11 @@ msgstr ""
|
||||
"Pode elixir esperar un momento para ver se continúa ou forzar ao aplicativo "
|
||||
"a pechar completamente."
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "Espe_rar"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Forzar a saída"
|
||||
|
||||
@@ -392,7 +407,7 @@ msgstr ""
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -403,12 +418,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "Non se definiu ningunha orde %d.\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "Non se definiu ningunha orde de terminal.\n"
|
||||
@@ -437,12 +452,12 @@ msgstr "Iniciar sesión desde o ficheiro de salvagarda"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "Facer que as chamadas a X sexan sincrónicas"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "Fallou ao dixitalizar o directorio de temas: %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -484,36 +499,36 @@ msgstr "Lista de separadas por comas dos complementos do compositor"
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "A chave GConf «%s» está configurada cun valor non válido\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr "%d almacenado na chave GConf %s está fóra do intervalo %d a %d\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "A chave GConf «%s» está configurada cun tipo non válido\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr ""
|
||||
"A chave de GConf %s xa está en uso e non é posíbel usala para sobrescribir "
|
||||
"%s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "Non é posíbel sobrescribir a chave de GConf, non se atopou %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
@@ -521,14 +536,14 @@ msgstr ""
|
||||
"Desactiváronse os arranxos para aplicativos danados. Pode que algúns "
|
||||
"aplicativos non se comporten correctamente.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr ""
|
||||
"Non foi posíbel analizar a descrición do tipo de letra «%s» da chave GConf "
|
||||
"%s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
@@ -537,17 +552,17 @@ msgstr ""
|
||||
"«%s» atopados na base de datos de configuración non é un valor válido para o "
|
||||
"modificador do botón do rato\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "Erro ao definir o número de espazos de traballo en %d: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Espazo de traballo %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
@@ -556,30 +571,30 @@ msgstr ""
|
||||
"«%s» atopados na base de datos de configuración non é un valor válido para a "
|
||||
"combinación de teclas «%s»\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "Erro ao definir o nome do espazo de traballo %d como «%s»: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr ""
|
||||
"Produciuse un erro ao estabelecer o estado da vida das xanelas ocultas %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr ""
|
||||
"Produciuse un erro ao estabelecer o estado das lapelas en xanelas emerxentes "
|
||||
"%s\n"
|
||||
|
||||
#: ../src/core/screen.c:623
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "A pantalla %d na visualización «%s» non é válida\n"
|
||||
|
||||
#: ../src/core/screen.c:639
|
||||
#: ../src/core/screen.c:679
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -588,7 +603,7 @@ msgstr ""
|
||||
"A visualización %d na pantalla «%s» ten xa un xestor de xanelas, tente usar "
|
||||
"a opción --replace para substituír o xestor de xanelas.\n"
|
||||
|
||||
#: ../src/core/screen.c:666
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
@@ -596,64 +611,64 @@ msgstr ""
|
||||
"Non foi posíbel obter a selección do xestor de xanelas na pantalla %d na "
|
||||
"visualización «%s»\n"
|
||||
|
||||
#: ../src/core/screen.c:721
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "A visualización %d na pantalla «%s» ten xa un xestor de xanelas\n"
|
||||
|
||||
#: ../src/core/screen.c:906
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "Non foi posíbel liberar a visualización %d na pantalla «%s»\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "Non foi posíbel crear o directorio «%s»: %s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "Non foi posíbel abrir o ficheiro de sesión «%s» para escritura: %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "Erro ao escribir o ficheiro de sesión «%s»: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "Erro ao pechar o ficheiro de sesión «%s»: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "Produciuse un fallo ao analizar o ficheiro de sesión gardado: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr "O atributo <mutter_session> foi visto pero xa temos o ID de sesión"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "Atributo descoñecido %s no elemento <%s>"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "etiqueta <window> aniñada"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "Elemento descoñecido %s"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -698,13 +713,13 @@ msgid "Window manager error: "
|
||||
msgstr "Erro do xestor de xanelas: "
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/core/util.c:632 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6752
|
||||
#: ../src/core/window.c:6959
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -720,7 +735,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7415
|
||||
#: ../src/core/window.c:7622
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
@@ -740,12 +755,17 @@ msgstr "O aplicativo configurou un _NET_WM_PID %lu falso\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (en %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1479
|
||||
#: ../src/core/window-props.c:1488
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr ""
|
||||
"WM_TRANSIENT_FOR non válido para a xanela 0x%lx especificada para %s.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1500
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "WM_TRANSIENT_FOR xanela 0x%lx para %s crearía un bucle.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -795,15 +815,27 @@ msgstr ""
|
||||
"todos os monitores ou só para o monitor principal."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "Anchura arrastrábel do bordo"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "Xanelas agochadas en vivo"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr ""
|
||||
"Modificador que se vai usar para as accións modificadas de xestión de xanela"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 ""
|
||||
"A cantidade total de bordo arrastrábel. Se os bordos visíbeis do tema non "
|
||||
"son suficientes, engadiranse bordos invisíbeis para satisfacer este valor."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -815,7 +847,7 @@ msgstr ""
|
||||
"nun PC é a «Tecla Windows». Espérase que este enlace sexa configurado ao "
|
||||
"valor predeterminado ou á cadena baleira."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
msgid ""
|
||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
@@ -825,7 +857,7 @@ msgstr ""
|
||||
"diálogos modais aparecerán anexados á barra de título da xanela pai e "
|
||||
"moveranse de forma conxunta á xanela pai."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Espazos de traballo só no principal"
|
||||
|
||||
@@ -834,47 +866,47 @@ msgstr "Espazos de traballo só no principal"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Uso: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1123
|
||||
msgid "Close Window"
|
||||
msgstr "Pechar a xanela"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1126
|
||||
msgid "Window Menu"
|
||||
msgstr "Menú da xanela"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1129
|
||||
msgid "Minimize Window"
|
||||
msgstr "Minimizar a xanela"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1132
|
||||
msgid "Maximize Window"
|
||||
msgstr "Maximizar a xanela"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1135
|
||||
msgid "Restore Window"
|
||||
msgstr "Restaurar a xanela"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1138
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Pregar a xanela"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1141
|
||||
msgid "Unroll Window"
|
||||
msgstr "Despregar a xanela"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1144
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Manter a xanela na parte superior"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1147
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Quitar a xanela da parte superior"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1150
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Sempre no espazo de traballo visíbel"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1153
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Pór a xanela nun só espazo de traballo"
|
||||
|
||||
@@ -1077,48 +1109,76 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "superior"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "inferior"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "esquerda"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "dereita"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "a xeometría do marco non especifica a dimensión «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr "a xeometría do marco non especifica a dimensión «%s» para o bordo «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "A proporción de aspecto do botón %g non é razoábel"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "A xeometría do marco non especifica o tamaño dos botóns"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "Os degradados deben ter polo menos dúas cores"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1212
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"A especificación de cor do GTK debe ter un nome de cor e nome alternativo "
|
||||
"entre parénteses, por exemplo: gtk:custom(foo,bar); non foi posíbel analizar "
|
||||
"«%s»."
|
||||
|
||||
#: ../src/ui/theme.c:1228
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr ""
|
||||
"O carácter «%c» non é válido no parámetro «color_name» de «gtk:custom», só "
|
||||
"«A-Za-z0-9» son válidos"
|
||||
|
||||
#: ../src/ui/theme.c:1242
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr ""
|
||||
"O formato de «gtk:custom» é «gtk:custom(nome_de_cor,nome_alternativo», «%s» "
|
||||
"non respecta o formato"
|
||||
|
||||
#: ../src/ui/theme.c:1287
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1127,7 +1187,7 @@ msgstr ""
|
||||
"A especificación de cor do GTK debe ter o estado entre parénteses, exemplo. "
|
||||
"gtk:fg[NORMAL] onde NORMAL é o estado; non foi posíbel analizar «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1301
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1137,17 +1197,17 @@ msgstr ""
|
||||
"estado, exemplo. gtk:fg[NORMAL] onde NORMAL é o estado; non foi posíbel "
|
||||
"analizar «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1312
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "Non se entende o estado «%s» na especificación da cor"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1325
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "Non se entende o compoñente de cor «%s» na especificación da cor"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1355
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
@@ -1156,17 +1216,17 @@ msgstr ""
|
||||
"O formato de blend é «blend/bg_color/fg_color/alpha», «%s»non coincide co "
|
||||
"formato"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1366
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "Non foi posíbel analizar o valor alfa «%s» na cor mesturada"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1376
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "O valor alfa «%s» na cor mesturada non está entre 0.0 e 1.0"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1423
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
@@ -1174,28 +1234,28 @@ msgstr ""
|
||||
"O formato de sombreado é \"shade/base_color/factor\", «%s» non coincide co "
|
||||
"formato"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1434
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "Non foi posíbel o factor de sombreado «%s» na cor sombreada"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1444
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "O factor de sombreado «%s» na cor sombreada é negativo"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1473
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "Non foi posíbel analizar a cor «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1784
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr ""
|
||||
"A expresión de coordenadas contén un carácter «%s» que non está permitido"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1811
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
@@ -1204,14 +1264,14 @@ msgstr ""
|
||||
"A expresión de coordenadas contén un número de coma flotante «%s» que non "
|
||||
"foi posíbel analizar"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1825
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr ""
|
||||
"A expresión de coordenadas contén un enteiro «%s» que non foi posíbel "
|
||||
"analizar"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1947
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
@@ -1220,17 +1280,17 @@ msgstr ""
|
||||
"A expresión de coordenadas contén un operador non válido ao inicio do seu "
|
||||
"texto: «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:2004
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "A expresión de coordenadas está baleira ou non se entendeu"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2115 ../src/ui/theme.c:2125 ../src/ui/theme.c:2159
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "A expresión de coordenadas resultou nun erro de división por cero"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2167
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
@@ -1238,25 +1298,25 @@ msgstr ""
|
||||
"A expresión de coordenadas tentou usar un operador mod cun número de coma "
|
||||
"flotante"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2223
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr ""
|
||||
"A expresión de coordenadas ten un operador «%s» onde se esperaba un operando"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2232
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr ""
|
||||
"A expresión de coordenadas ten un operando onde se esperaba un operador"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2240
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "A expresión de coordenadas remata cun operador en vez dun operando"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2250
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1265,42 +1325,42 @@ msgstr ""
|
||||
"A expresión de coordenadas ten un operador \"%c\" seguido do operador \"%c\" "
|
||||
"sen un operando entre eles"
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2401 ../src/ui/theme.c:2446
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr ""
|
||||
"A expresión de coordenadas ten unha variábel ou constante descoñecida «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2500
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "O analizador da expresión de coordenadas desbordou o seu búfer."
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2529
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr ""
|
||||
"A expresión de coordenadas ten unha paréntese pechada sen unha paréntese "
|
||||
"aberta"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2593
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr ""
|
||||
"A expresión de coordenadas ten unha paréntese aberta sen unha paréntese "
|
||||
"pechada"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2604
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "A expresión de coordenadas non parece ter nin operadores nin operandos"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2816 ../src/ui/theme.c:2836 ../src/ui/theme.c:2856
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "O tema contiña unha expresión que resultou ser un erro: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4527
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1309,24 +1369,24 @@ msgstr ""
|
||||
"<button function=«%s» state=«%s» draw_ops=\"whatever\"/> débese especificar "
|
||||
"para este estilo de marco"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5060 ../src/ui/theme.c:5085
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr "Falta <frame state=«%s» resize=«%s» focus=«%s» style=\"whatever\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5133
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "Produciuse un fallo ao cargar o tema «%s»: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5269 ../src/ui/theme.c:5276 ../src/ui/theme.c:5283
|
||||
#: ../src/ui/theme.c:5290 ../src/ui/theme.c:5297
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "Non se configurou <%s> para o tema «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5305
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1335,7 +1395,7 @@ msgstr ""
|
||||
"Non hai un estilo de marco para o tipo de xanela «%s» no tema «%s», engada "
|
||||
"un elemento <window type=«%s» style_set=\"whatever\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5744 ../src/ui/theme.c:5806 ../src/ui/theme.c:5869
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
@@ -1343,7 +1403,7 @@ msgstr ""
|
||||
"As constantes definidas polo usuario deben comezar cunha letra maiúscula; "
|
||||
"«%s» non o fai"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5752 ../src/ui/theme.c:5814 ../src/ui/theme.c:5877
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "A constante «%s» xa foi definida"
|
||||
@@ -1800,88 +1860,88 @@ msgstr "Esta é unha mensaxe de mostra no diálogo de mostra"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "Elemento de menú falso %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "Xanela só con bordo"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "Barra"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "Xanela de aplicativo normal"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "Caixa de diálogo"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "Caixa de diálogo modal"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "Paleta de utilidades"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "Menú desprazado"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "Bordo"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "Diálogo modal adxunto"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "Proba de disposición de botóns %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "%g milisegundos para debuxar un marco de xanela"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "Uso: metacity-theme-viewer [NOMETEMA]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "Erro ao cargar o tema: %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "Cargouse o tema «%s» en %g segundos\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "Tipo de letra de título normal"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "Tipo de letra de título pequena"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "Tipo de letra de título grande"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "Disposición dos botóns"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "Banco de probas"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "O título da xanela vai aquí"
|
||||
|
||||
@@ -1937,6 +1997,9 @@ msgstr ""
|
||||
"%d expresións de coordenadas interpretadas en %g segundos (%g segundos de "
|
||||
"media)\n"
|
||||
|
||||
#~ msgid "Failed to retrieve color %s[%s] from GTK+ theme.\n"
|
||||
#~ msgstr "Produciuse un fallo ao obter a cor %s[%s] desde o tema de GTK+.\n"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Don't make fullscreen windows that are maximized and have no decorations"
|
||||
#~ msgstr ""
|
||||
|
||||
386
po/he.po
386
po/he.po
@@ -9,62 +9,72 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: metacity.HEAD.he\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-26 00:34+0200\n"
|
||||
"PO-Revision-Date: 2011-03-26 00:35+0200\n"
|
||||
"POT-Creation-Date: 2011-08-18 23:35+0300\n"
|
||||
"PO-Revision-Date: 2011-08-18 23:35+0200\n"
|
||||
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
|
||||
"Language-Team: Hebrew <he@li.org>\n"
|
||||
"Language: he\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: KBabel 1.10.2\n"
|
||||
|
||||
#. 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:487
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
msgstr "מנהל תצוגת חלונות אחר כבר פועל במסך %i בתצוגה \"%s\"."
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "Switch to workspace 1"
|
||||
msgstr "מעבר למרחב עבודה 1"
|
||||
|
||||
#: ../src/core/all-keybindings.h:90
|
||||
msgid "Switch to workspace 2"
|
||||
msgstr "Switch to workspace 2"
|
||||
msgstr "מעבר למרחב עבודה 2"
|
||||
|
||||
#: ../src/core/all-keybindings.h:92
|
||||
msgid "Switch to workspace 3"
|
||||
msgstr "Switch to workspace 3"
|
||||
msgstr "מעבר למרחב עבודה 3"
|
||||
|
||||
#: ../src/core/all-keybindings.h:94
|
||||
msgid "Switch to workspace 4"
|
||||
msgstr "Switch to workspace 4"
|
||||
msgstr "מעבר למרחב עבודה 4"
|
||||
|
||||
#: ../src/core/all-keybindings.h:96
|
||||
msgid "Switch to workspace 5"
|
||||
msgstr "Switch to workspace 5"
|
||||
msgstr "מעבר למרחב עבודה 5"
|
||||
|
||||
#: ../src/core/all-keybindings.h:98
|
||||
msgid "Switch to workspace 6"
|
||||
msgstr "Switch to workspace 6"
|
||||
msgstr "מעבר למרחב עבודה 6"
|
||||
|
||||
#: ../src/core/all-keybindings.h:100
|
||||
msgid "Switch to workspace 7"
|
||||
msgstr "Switch to workspace 7"
|
||||
msgstr "מעבר למרחב עבודה 7"
|
||||
|
||||
#: ../src/core/all-keybindings.h:102
|
||||
msgid "Switch to workspace 8"
|
||||
msgstr "Switch to workspace 8"
|
||||
msgstr "מעבר למרחב עבודה 8"
|
||||
|
||||
#: ../src/core/all-keybindings.h:104
|
||||
msgid "Switch to workspace 9"
|
||||
msgstr "Switch to workspace 9"
|
||||
msgstr "מעבר למרחב עבודה 9"
|
||||
|
||||
#: ../src/core/all-keybindings.h:106
|
||||
msgid "Switch to workspace 10"
|
||||
msgstr "Switch to workspace 10"
|
||||
msgstr "מעבר למרחב עבודה 10"
|
||||
|
||||
#: ../src/core/all-keybindings.h:108
|
||||
msgid "Switch to workspace 11"
|
||||
msgstr "Switch to workspace 11"
|
||||
msgstr "מעבר למרחב עבודה 11"
|
||||
|
||||
#: ../src/core/all-keybindings.h:110
|
||||
msgid "Switch to workspace 12"
|
||||
msgstr "Switch to workspace 12"
|
||||
msgstr "מעבר למרחב עבודה 12"
|
||||
|
||||
#: ../src/core/all-keybindings.h:122
|
||||
msgid "Switch to workspace on the left of the current workspace"
|
||||
@@ -136,7 +146,7 @@ msgstr "Hide all normal windows and set focus to the desktop"
|
||||
|
||||
#: ../src/core/all-keybindings.h:206
|
||||
msgid "Show the panel's main menu"
|
||||
msgstr "Show the panel's main menu"
|
||||
msgstr "הצגת התפריט הראשי של הלוח"
|
||||
|
||||
#: ../src/core/all-keybindings.h:209
|
||||
msgid "Show the panel's \"Run Application\" dialog box"
|
||||
@@ -144,31 +154,31 @@ msgstr "Show the panel's \"Run Application\" dialog box"
|
||||
|
||||
#: ../src/core/all-keybindings.h:211
|
||||
msgid "Start or stop recording the session"
|
||||
msgstr "התחלה או עצירה של צילום ההפעלה"
|
||||
msgstr "התחלה או עצירה של הקלטת ההפעלה"
|
||||
|
||||
#: ../src/core/all-keybindings.h:252
|
||||
msgid "Take a screenshot"
|
||||
msgstr "Take a screenshot"
|
||||
msgstr "צילום תמונת מסך"
|
||||
|
||||
#: ../src/core/all-keybindings.h:254
|
||||
msgid "Take a screenshot of a window"
|
||||
msgstr "Take a screenshot of a window"
|
||||
msgstr "צילום החלון"
|
||||
|
||||
#: ../src/core/all-keybindings.h:256
|
||||
msgid "Run a terminal"
|
||||
msgstr "Run a terminal"
|
||||
msgstr "הפעלת מסוף"
|
||||
|
||||
#: ../src/core/all-keybindings.h:271
|
||||
msgid "Activate the window menu"
|
||||
msgstr "Activate the window menu"
|
||||
msgstr "הפעלת תפריט החלון"
|
||||
|
||||
#: ../src/core/all-keybindings.h:274
|
||||
msgid "Toggle fullscreen mode"
|
||||
msgstr "Toggle fullscreen mode"
|
||||
msgstr "כניסה למצב מסך מלא"
|
||||
|
||||
#: ../src/core/all-keybindings.h:276
|
||||
msgid "Toggle maximization state"
|
||||
msgstr "Toggle maximization state"
|
||||
msgstr "הפעלה/כיבוי מצב הגדלה"
|
||||
|
||||
#: ../src/core/all-keybindings.h:278
|
||||
msgid "Toggle whether a window will always be visible over other windows"
|
||||
@@ -335,24 +345,27 @@ msgstr "אירוע פעמון"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "Unknown window information request: %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr " <tt>%s</tt> אינו מגיב"
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "היישום אינו מגיב."
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
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:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "ה_מתנה"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "_אילוץ סגירה"
|
||||
|
||||
@@ -376,7 +389,7 @@ msgstr "תוכנית אחרת כבר משתמשת במקש %s עם המקש %x
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -387,12 +400,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "אף פקודה %d לא הוגדרה.\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "אף פקודת מסוף לא הוגדרה.\n"
|
||||
@@ -421,12 +434,12 @@ msgstr "Initialize session from savefile"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "Make X calls synchronous"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "Failed to scan themes directory: %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -466,34 +479,34 @@ msgstr "Comma-separated list of compositor plugins"
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "GConf key '%s' is set to an invalid value\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "GConf key \"%s\" is set to an invalid type\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr "מפתח ה־GConf %s כבר נמצא בשימוש ולא ניתן להשתמש בו לדריסת %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "לא ניתן לדרוס את מפתח ה־ GConf, %s לא נמצא\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
@@ -501,12 +514,12 @@ msgstr ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
@@ -515,17 +528,17 @@ msgstr ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
"modifier\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "Error setting number of workspaces to %d: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "סביבת עבודה %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
@@ -534,27 +547,27 @@ msgstr ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
"\"%s\"\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr "שגיאה בהגדרת מצב מצב החלונות החיים המוסתרים: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "שגיאה בהגדרת מצב ללא לשוניות מוקפצות: %s\n"
|
||||
|
||||
#: ../src/core/screen.c:624
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "Screen %d on display '%s' is invalid\n"
|
||||
|
||||
#: ../src/core/screen.c:640
|
||||
#: ../src/core/screen.c:679
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -563,71 +576,71 @@ msgstr ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
"replace option to replace the current window manager.\n"
|
||||
|
||||
#: ../src/core/screen.c:667
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
msgstr ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
|
||||
#: ../src/core/screen.c:722
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "Screen %d on display \"%s\" already has a window manager\n"
|
||||
|
||||
#: ../src/core/screen.c:907
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "Could not release screen %d on display \"%s\"\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "Could not create directory '%s': %s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "Could not open session file '%s' for writing: %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "Error writing session file '%s': %s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "Error closing session file '%s': %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "Failed to parse saved session file: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr "התכונה <mutter_session> מופיעה אך כבר יש בידינו את מספר זיהוי ההפעלה"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "Unknown attribute %s on <%s> element"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "nested <window> tag"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "Unknown element %s"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -672,13 +685,13 @@ msgid "Window manager error: "
|
||||
msgstr "Window manager error: "
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/core/util.c:632 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6795
|
||||
#: ../src/core/window.c:6959
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -694,14 +707,14 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7458
|
||||
#: ../src/core/window.c:7622
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
|
||||
"d x %d and max size %d x %d; this doesn't make much sense.\n"
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
"%d x %d and max size %d x %d; this doesn't make much sense.\n"
|
||||
msgstr ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
|
||||
"d x %d and max size %d x %d; this doesn't make much sense.\n"
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
"%d x %d and max size %d x %d; this doesn't make much sense.\n"
|
||||
|
||||
#: ../src/core/window-props.c:309
|
||||
#, c-format
|
||||
@@ -713,11 +726,16 @@ msgstr "Application set a bogus _NET_WM_PID %lu\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (מעל %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1479
|
||||
#: ../src/core/window-props.c:1488
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1500
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -766,27 +784,39 @@ msgstr ""
|
||||
"monitors or only for windows on the primary monitor."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "Draggable border width"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "Live Hidden Windows"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr "Modifier to use for extended window management operations"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
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 ""
|
||||
"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."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 ""
|
||||
"The amount of total draggable borders. If the theme's visible borders are "
|
||||
"not enough, invisible borders will be added to meet this value."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 ""
|
||||
"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."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
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."
|
||||
@@ -795,7 +825,7 @@ msgstr ""
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
"the parent window."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Workspaces only on primary"
|
||||
|
||||
@@ -804,47 +834,47 @@ msgstr "Workspaces only on primary"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "שימוש: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1123
|
||||
msgid "Close Window"
|
||||
msgstr "סגור חלון"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1126
|
||||
msgid "Window Menu"
|
||||
msgstr "תפריט חלון"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1129
|
||||
msgid "Minimize Window"
|
||||
msgstr "מזער חלון"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1132
|
||||
msgid "Maximize Window"
|
||||
msgstr "הגדל חלון"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1135
|
||||
msgid "Restore Window"
|
||||
msgstr "שחזר חלון"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1138
|
||||
msgid "Roll Up Window"
|
||||
msgstr "גלול חלון מעלה"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1141
|
||||
msgid "Unroll Window"
|
||||
msgstr "בטל גלילה"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1144
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "שמור על החלון גלוי"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1147
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "בטל שמירת החלון גלוי"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1150
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "הראה בכל סביבות העבודה"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1153
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "הראה את החלון על סביבת עבודה אחת בלבד"
|
||||
|
||||
@@ -1047,48 +1077,75 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "top"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "bottom"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "left"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "right"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "frame geometry does not specify \"%s\" dimension"
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "Button aspect ratio %g is not reasonable"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "Frame geometry does not specify size of buttons"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "Gradients should have at least two colors"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1212
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1228
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
|
||||
#: ../src/ui/theme.c:1242
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
|
||||
#: ../src/ui/theme.c:1287
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1097,7 +1154,7 @@ msgstr ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
"where NORMAL is the state; could not parse \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1301
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1106,17 +1163,17 @@ msgstr ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
"fg[NORMAL] where NORMAL is the state; could not parse \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1312
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "Did not understand state \"%s\" in color specification"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1325
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "Did not understand color component \"%s\" in color specification"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1355
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
@@ -1125,44 +1182,44 @@ msgstr ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
"format"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1366
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "Could not parse alpha value \"%s\" in blended color"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1376
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1423
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
msgstr ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1434
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "Could not parse shade factor \"%s\" in shaded color"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1444
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "Shade factor \"%s\" in shaded color is negative"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1473
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "Could not parse color \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1784
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "Coordinate expression contains character '%s' which is not allowed"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1811
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
@@ -1171,12 +1228,12 @@ msgstr ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
"parsed"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1825
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1947
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
@@ -1185,41 +1242,41 @@ msgstr ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
"\"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:2004
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "Coordinate expression was empty or not understood"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2115 ../src/ui/theme.c:2125 ../src/ui/theme.c:2159
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "Coordinate expression results in division by zero"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2167
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
msgstr ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2223
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2232
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "Coordinate expression had an operand where an operator was expected"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2240
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "Coordinate expression ended with an operator instead of an operand"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2250
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1228,38 +1285,38 @@ msgstr ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
"operand in between"
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2401 ../src/ui/theme.c:2446
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr "Coordinate expression had unknown variable or constant \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2500
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "Coordinate expression parser overflowed its buffer."
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2529
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2593
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr ""
|
||||
"Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2604
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "Coordinate expression doesn't seem to have any operators or operands"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2816 ../src/ui/theme.c:2836 ../src/ui/theme.c:2856
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "Theme contained an expression that resulted in an error: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4527
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1268,25 +1325,25 @@ msgstr ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
"specified for this frame style"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5060 ../src/ui/theme.c:5085
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5133
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "Failed to load theme \"%s\": %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5269 ../src/ui/theme.c:5276 ../src/ui/theme.c:5283
|
||||
#: ../src/ui/theme.c:5290 ../src/ui/theme.c:5297
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "No <%s> set for theme \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5305
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1295,14 +1352,14 @@ msgstr ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
"type=\"%s\" style_set=\"whatever\"/> element"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5744 ../src/ui/theme.c:5806 ../src/ui/theme.c:5869
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
msgstr ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5752 ../src/ui/theme.c:5814 ../src/ui/theme.c:5877
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "Constant \"%s\" has already been defined"
|
||||
@@ -1750,88 +1807,88 @@ msgstr "This is a sample message in a sample dialog"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "Fake menu item %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "Border-only window"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "Bar"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "Normal Application Window"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "Dialog Box"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "Modal Dialog Box"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "Utility Palette"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "Torn-off Menu"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "Border"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "Attached Modal Dialog"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "Button layout test %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "%g milliseconds to draw one window frame"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "Error loading theme: %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "Loaded theme \"%s\" in %g seconds\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "Normal Title Font"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "Small Title Font"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "Large Title Font"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "Button Layouts"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "Benchmark"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "Window Title Goes Here"
|
||||
|
||||
@@ -1883,6 +1940,9 @@ msgstr "y value was %d, %d was expected"
|
||||
msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
||||
msgstr "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
||||
|
||||
#~ msgid "Failed to retrieve color %s[%s] from GTK+ theme.\n"
|
||||
#~ msgstr "Failed to retrieve color %s[%s] from GTK+ theme.\n"
|
||||
|
||||
#~ msgid "Turn compositing on"
|
||||
#~ msgstr "Turn compositing on"
|
||||
|
||||
|
||||
398
po/it.po
398
po/it.po
@@ -11,15 +11,26 @@ msgstr ""
|
||||
"Project-Id-Version: mutter 2.9x\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-03-21 19:31+0000\n"
|
||||
"PO-Revision-Date: 2011-03-22 22:52+0100\n"
|
||||
"POT-Creation-Date: 2011-09-06 16:52+0000\n"
|
||||
"PO-Revision-Date: 2011-09-08 21:56+0200\n"
|
||||
"Last-Translator: Luca Ferretti <lferrett@gnome.org>\n"
|
||||
"Language-Team: Italian <tp@lists.linux.it>\n"
|
||||
"Language-Team: Italiano <tp@lists.linux.it>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Content-Transfer-Encoding: 8bits\n"
|
||||
"Language: it\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
|
||||
|
||||
#. 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:486
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
msgstr ""
|
||||
"Un altro compositing manager è già in esecuzione sullo schermo %i sul "
|
||||
"display «%s»."
|
||||
|
||||
# questo e i successivi presi dallo stesso
|
||||
# file vanno a comparire in
|
||||
@@ -355,13 +366,16 @@ msgstr "Evento campanella"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "Richiesta informazioni finestra sconosciuta: %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "Nessuna risposta da <tt>%s</tt>."
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "L'applicazione non risponde."
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
msgid ""
|
||||
"You may choose to wait a short while for it to continue or force the "
|
||||
"application to quit entirely."
|
||||
@@ -369,11 +383,11 @@ msgstr ""
|
||||
"È possibile scegliere di attendere un po' lasciando che l'applicazione "
|
||||
"continui, oppure forzare la terminazione dell'applicazione."
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "_Attendi"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Forza uscita"
|
||||
|
||||
@@ -399,7 +413,7 @@ msgstr ""
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -410,13 +424,13 @@ msgstr ""
|
||||
"\n"
|
||||
"%s."
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "Non è stato definito alcuno comando %d.\n"
|
||||
|
||||
# "comando di terminale" o "comando «terminal»" ???
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "Non è stato definito alcun comando di terminale.\n"
|
||||
@@ -445,12 +459,12 @@ msgstr "Inizializza la sessione da file salvato"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "Rende le chiamate X sincrone"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "Scansione della directory dei temi non riuscita: %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -492,38 +506,38 @@ msgstr "Elenco separato da virgole dei plugin del compositor"
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "La chiave GConf «%s» è impostata ad un valore non valido\n"
|
||||
|
||||
# lasciato "Il valore" iniziale che c'era in precendeza
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr ""
|
||||
"Il valore %d memorizzato nella chiave GConf %s è fuori dall'intervallo da %d "
|
||||
"a %d\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "La chiave GConf «%s» è impostata ad un tipo non valido\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr ""
|
||||
"La chiave GConf %s è già in uso e non può essere usata per scavalcare %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "Impossibile scavalcare la chiave GConf, %s non trovato\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
@@ -531,14 +545,14 @@ msgstr ""
|
||||
"Disabilitate le funzionalità palliative per la applicazioni difettose. "
|
||||
"Alcune applicazioni potrebbero avere comportamenti errati.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr ""
|
||||
"Impossibile analizzare la descrizione del tipo di carattere «%s» dalla "
|
||||
"chiave GConf %s\n"
|
||||
"Impossibile analizzare la descrizione del tipo di carattere «%s» dalla chiave "
|
||||
"GConf %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
@@ -547,57 +561,57 @@ msgstr ""
|
||||
"Il valore «%s» trovato nel database di configurazione non è valido per il "
|
||||
"modificatore del tasto del mouse\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "Errore nell'impostare il numero di spazi di lavoro a %d: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Spazio di lavoro %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
"\"%s\"\n"
|
||||
msgstr ""
|
||||
"Il valore «%s» nel database di configurazione non è valido per "
|
||||
"l'associazione di tasti «%s»\n"
|
||||
"Il valore «%s» nel database di configurazione non è valido per l'associazione "
|
||||
"di tasti «%s»\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "Errore nell'impostare il nome dello spazio di lavoro %d a «%s»: %s\n"
|
||||
|
||||
# eeeehhh????
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr "Errore nell'impostare lo stato \"stato finestre live nascoste\": %s\n"
|
||||
|
||||
# eeeehhh????
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "Errore nell'impostare lo stato \"niente tab popup\": %s\n"
|
||||
|
||||
#: ../src/core/screen.c:623
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "Lo schermo %d nel display «%s» non è valido\n"
|
||||
|
||||
#: ../src/core/screen.c:639
|
||||
#: ../src/core/screen.c:679
|
||||
#, 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"
|
||||
msgstr ""
|
||||
"Lo schermo %d sul display «%s» ha già un window manager; provare a "
|
||||
"utilizzare l'opzione --replace per sostituirlo.\n"
|
||||
"Lo schermo %d sul display «%s» ha già un window manager; provare a utilizzare "
|
||||
"l'opzione --replace per sostituirlo.\n"
|
||||
|
||||
#: ../src/core/screen.c:666
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
@@ -605,66 +619,66 @@ msgstr ""
|
||||
"Impossibile acquisire la selezione del window manager per lo schermo %d nel "
|
||||
"display «%s»\n"
|
||||
|
||||
#: ../src/core/screen.c:721
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "Lo schermo %d sul display «%s» ha già un window manager\n"
|
||||
|
||||
#: ../src/core/screen.c:906
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "Impossibile rilasciare lo schermo %d sul display «%s»\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "Impossibile creare la directory «%s»: %s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "Impossibile aprire il file di sessione «%s» in scrittura: %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "Errore nello scrivere il file di sessione «%s»: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "Errore nel chiudere il file di sessione «%s»: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "Analisi del file della sessione salvato non riuscita: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr ""
|
||||
"Attributo <mutter_session> individuato, ma è già presente un ID della "
|
||||
"sessione"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "Attributo %s sconosciuto per l'elemento <%s>"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "tag <window> annidato"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "Elemento %s sconosciuto"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -693,30 +707,24 @@ msgid "Mutter was compiled without support for verbose mode\n"
|
||||
msgstr ""
|
||||
"Mutter è stato compilato escludendo il supporto per la modalità prolissa\n"
|
||||
|
||||
#: ../src/core/util.c:286
|
||||
#: ../src/core/util.c:290
|
||||
msgid "Window manager: "
|
||||
msgstr "Window manager: "
|
||||
|
||||
#: ../src/core/util.c:434
|
||||
#: ../src/core/util.c:438
|
||||
msgid "Bug in window manager: "
|
||||
msgstr "Bug nel window manager: "
|
||||
|
||||
#: ../src/core/util.c:467
|
||||
#: ../src/core/util.c:471
|
||||
msgid "Window manager warning: "
|
||||
msgstr "Avviso del window manager: "
|
||||
|
||||
#: ../src/core/util.c:495
|
||||
#: ../src/core/util.c:499
|
||||
msgid "Window manager error: "
|
||||
msgstr "Errore del window manager: "
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6752
|
||||
#: ../src/core/window.c:7019
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -732,11 +740,11 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7415
|
||||
#: ../src/core/window.c:7682
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
"%d x %d and max size %d x %d; this doesn't make much sense.\n"
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
|
||||
"d x %d and max size %d x %d; this doesn't make much sense.\n"
|
||||
msgstr ""
|
||||
"La finestra %s ha impostato un hint MWM indicando che non è "
|
||||
"ridimensionabile, ma ha impostato la dimensione minima %d x %d e la "
|
||||
@@ -754,11 +762,18 @@ msgstr "%s (su %s)"
|
||||
|
||||
# Sì, direi che è oscuro -Luca
|
||||
#
|
||||
#: ../src/core/window-props.c:1479
|
||||
#: ../src/core/window-props.c:1481
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "Specificato un WM_TRANSIENT_FOR finestra 0x%lx non valido per %s.\n"
|
||||
|
||||
# Sì, direi che è oscuro -Luca
|
||||
#
|
||||
#: ../src/core/window-props.c:1492
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "WM_TRANSIENT_FOR finestra 0x%lx per %s potrebbe creare un loop.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -787,6 +802,10 @@ msgstr ""
|
||||
"La proprietà %s sulla finestra 0x%lx contiene UTF-8 non valido per "
|
||||
"l'elemento %d nella lista\n"
|
||||
|
||||
#: ../src/mutter.desktop.in.h:1 ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:1
|
||||
msgid "Attach modal dialogs"
|
||||
msgstr "Dialoghi modali attaccati"
|
||||
@@ -811,14 +830,27 @@ msgstr ""
|
||||
"tutti i monitor oppure solo per le finestre sul monitor primario."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "Larghezza bordo trascinabile"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "Finestre nascoste live"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr "Modificatore da utilizzare per le azioni di gestione finestre estese"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 ""
|
||||
"Lo spessore effettivo totale per i bordi trascinabili. Se i bordi visibili "
|
||||
"del tema non sono sufficienti, vengono aggiunti dei bordi invisibili per "
|
||||
"raggiungere questo valore."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -831,7 +863,7 @@ msgstr ""
|
||||
"questa scorciatoia sia o il valore predefinito, oppure che sia impostata "
|
||||
"alla stringa vuota."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
msgid ""
|
||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
@@ -841,7 +873,7 @@ msgstr ""
|
||||
"dialoghi modali appaiono attaccati alla barra del titolo della finestra "
|
||||
"genitore, muovendosi assieme ad essa."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Spazi di lavoro solo sul primario"
|
||||
|
||||
@@ -852,48 +884,48 @@ msgstr "Uso: %s\n"
|
||||
|
||||
# Questo e i successivi simili sono tooltip
|
||||
# per i pulsanti della cornice.
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "Chiude la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "Menù finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "Minimizza la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "Massimizza la finestra"
|
||||
|
||||
# ==demassimizza
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "Ripristina la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Arrotola la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "Srotola la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Tiene la finestra in primo piano"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Rimuove la finestra dalla primo piano"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Sempre sullo spazio di lavoro visibile"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Pone la finestra su un solo spazio di lavoro"
|
||||
|
||||
@@ -1112,49 +1144,77 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d × %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "alto"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "basso"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "sinistra"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "destra"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "la geometria della cornice non specifica la dimensione «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr ""
|
||||
"la geometria della cornice non specifica la dimensione «%s» per il bordo «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "Le proporzioni %g del pulsante non sono ragionevoli"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "La geometria della cornice non specifica la dimensione dei pulsanti"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "I gradienti dovrebbero avere almeno due colori"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1212
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"La specificazione dei colori personalizzati GTK deve presentare un nome di "
|
||||
"colore e un ripiego tra parentesi, per es. gtk:custom(foo,bar); impossibile "
|
||||
"analizzare \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1228
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr ""
|
||||
"Carattere \"%c\" non valido nel parametro color_name di gtk:custom, sono "
|
||||
"validi solo A-Za-z0-9-_"
|
||||
|
||||
#: ../src/ui/theme.c:1242
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr ""
|
||||
"Il formato per Gtk:custom è \"gtk:custom(color_name,fallback)\", «%s» non è "
|
||||
"adatto a tale formato"
|
||||
|
||||
#: ../src/ui/theme.c:1287
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1163,7 +1223,7 @@ msgstr ""
|
||||
"La specificazione del colore GTK deve avere lo stato fra parentesi, per es. "
|
||||
"gtk:fg[NORMAL] dove NORMAL è lo stato; impossibile analizzare \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1301
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1173,18 +1233,18 @@ msgstr ""
|
||||
"lo stato, per es. gtk:fg[NORMAL] dove NORMAL è lo stato; impossibile "
|
||||
"analizzare \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1312
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "State «%s» incomprensibile nella specificazione del colore"
|
||||
msgstr "Stato «%s» incomprensibile nella specificazione del colore"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1325
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr ""
|
||||
"Componente di colore «%s» incomprensibile nella specificazione del colore"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1355
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
@@ -1193,49 +1253,47 @@ msgstr ""
|
||||
"Il formato della sfumature è «blend/bg_color/fg_color/alpha», «%s» non è "
|
||||
"adatto a tale formato"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1366
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "Impossibile analizzare il valore alpha «%s» nel colore sfumato"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1376
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "Il valore alpha «%s» nel colore sfumato non è compreso tra 0.0 e 1.0"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1423
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
msgstr ""
|
||||
"Il formato dell'ombreggiatura è «shade/base_color/factor», «%s» non è adatto "
|
||||
"a tale formato"
|
||||
"Il formato dell'ombreggiatura è «shade/base_color/factor», «%s» non è adatto a "
|
||||
"tale formato"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1434
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr ""
|
||||
"Impossibile analizzare il fattore di ombreggiatura «%s» nel colore "
|
||||
"ombreggiato"
|
||||
"Impossibile analizzare il fattore di ombreggiatura «%s» nel colore ombreggiato"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1444
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "Il fattore di ombreggiatura «%s» nel colore ombreggiato è negativo"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1473
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "Impossibile analizzare il colore «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1784
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr ""
|
||||
"L'espressione delle coordinate contiene il carattere «%s» che non è "
|
||||
"consentito"
|
||||
"L'espressione delle coordinate contiene il carattere «%s» che non è consentito"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1811
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
@@ -1244,14 +1302,14 @@ msgstr ""
|
||||
"L'espressione delle coordinate contiene il numero in virgola mobile «%s» che "
|
||||
"non può essere analizzato"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1825
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr ""
|
||||
"L'espressione delle coordinate contiene l'intero «%s» che non può essere "
|
||||
"analizzato"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1947
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
@@ -1260,18 +1318,18 @@ msgstr ""
|
||||
"L'espressione delle coordinate contiene un operatore sconosciuto all'inizio "
|
||||
"di questo testo: \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:2004
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "L'espressione delle coordinate è vuota o incomprensibile"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2115 ../src/ui/theme.c:2125 ../src/ui/theme.c:2159
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr ""
|
||||
"L'espressione delle coordinate ha come risultato una divisione per zero"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2167
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
@@ -1279,74 +1337,74 @@ msgstr ""
|
||||
"L'espressione delle coordinate tenta di usare un operatore mod su un numero "
|
||||
"in virgola mobile"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2223
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr ""
|
||||
"L'espressione delle coordinate ha un operatore «%s» dove è atteso un operando"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2232
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr ""
|
||||
"L'espressione delle coordinate ha un operando dove è atteso un operatore"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2240
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr ""
|
||||
"L'espressione delle coordinate finisce con un operatore invece che un "
|
||||
"operando"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2250
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
"operand in between"
|
||||
msgstr ""
|
||||
"L'espressione delle coordinate ha l'operatore «%c» seguito dall'operatore "
|
||||
"«%c» senza un operando fra i due"
|
||||
"L'espressione delle coordinate ha l'operatore «%c» seguito dall'operatore «%c» "
|
||||
"senza un operando fra i due"
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2401 ../src/ui/theme.c:2446
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr ""
|
||||
"L'espressione delle coordinate ha la variabile o la costante «%s» sconosciuta"
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2500
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr ""
|
||||
"L'analizzatore dell'espressione delle coordinate ha superato il proprio "
|
||||
"buffer."
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2529
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr ""
|
||||
"L'espressione delle coordinate ha una parentesi di chiusura senza la "
|
||||
"relativa di apertura"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2593
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr ""
|
||||
"L'espressione delle coordinate ha una parentesi di apertura senza la "
|
||||
"relativa di chiusura"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2604
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr ""
|
||||
"L'espressione delle coordinate non sembra avere né operatori né operandi"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2816 ../src/ui/theme.c:2836 ../src/ui/theme.c:2856
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "Il tema contiene un'espressione che ha come risultato un errore: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4527
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1355,7 +1413,7 @@ msgstr ""
|
||||
"È necessario specificare <button function=\"%s\" state=\"%s\" draw_ops="
|
||||
"\"whatever\"/> per questo stile di cornice"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5060 ../src/ui/theme.c:5085
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
@@ -1363,35 +1421,35 @@ msgstr ""
|
||||
"Risulta mancante <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style="
|
||||
"\"whatever\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5133
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "Caricamento del tema «%s» non riuscito: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5269 ../src/ui/theme.c:5276 ../src/ui/theme.c:5283
|
||||
#: ../src/ui/theme.c:5290 ../src/ui/theme.c:5297
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "Nessun <%s> impostato per il tema «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5305
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
"type=\"%s\" style_set=\"whatever\"/> element"
|
||||
msgstr ""
|
||||
"Nessuno stile di cornice impostato per il tipo di finestra «%s» nel tema "
|
||||
"«%s», aggiungere un elemento <window type=\"%s\" style_set=\"whatever\"/>"
|
||||
"Nessuno stile di cornice impostato per il tipo di finestra «%s» nel tema «%s», "
|
||||
"aggiungere un elemento <window type=\"%s\" style_set=\"whatever\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5744 ../src/ui/theme.c:5806 ../src/ui/theme.c:5869
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
msgstr ""
|
||||
"Le costanti definite dall'utente devono iniziare con una lettera maiuscola, "
|
||||
"«%s» non lo fa"
|
||||
"Le costanti definite dall'utente devono iniziare con una lettera maiuscola, «%"
|
||||
"s» non lo fa"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5752 ../src/ui/theme.c:5814 ../src/ui/theme.c:5877
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "La costante «%s» è già definita"
|
||||
@@ -1427,8 +1485,7 @@ msgstr "Impossibile analizzare «%s» come un intero"
|
||||
#: ../src/ui/theme-parser.c:603 ../src/ui/theme-parser.c:658
|
||||
#, c-format
|
||||
msgid "Did not understand trailing characters \"%s\" in string \"%s\""
|
||||
msgstr ""
|
||||
"Non sono stati compresi i caratteri di chiusura «%s» nella stringa «%s»"
|
||||
msgstr "Non sono stati compresi i caratteri di chiusura «%s» nella stringa «%s»"
|
||||
|
||||
#: ../src/ui/theme-parser.c:613
|
||||
#, c-format
|
||||
@@ -1625,8 +1682,7 @@ msgstr "Funzione «%s» sconosciuta per il pulsante"
|
||||
#, c-format
|
||||
msgid "Button function \"%s\" does not exist in this version (%d, need %d)"
|
||||
msgstr ""
|
||||
"La funzione di pulsante «%s» non esiste in questa versione (%d, necessaria "
|
||||
"%d)"
|
||||
"La funzione di pulsante «%s» non esiste in questa versione (%d, necessaria %d)"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2994
|
||||
#, c-format
|
||||
@@ -1724,8 +1780,8 @@ msgid ""
|
||||
"\"version\" attribute cannot be used in metacity-theme-1.xml or metacity-"
|
||||
"theme-2.xml"
|
||||
msgstr ""
|
||||
"L'attributo «version» non può essere usato in metacity-theme-1.xml o "
|
||||
"metacity-theme-2.xml"
|
||||
"L'attributo «version» non può essere usato in metacity-theme-1.xml o metacity-"
|
||||
"theme-2.xml"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3530
|
||||
#, c-format
|
||||
@@ -1864,88 +1920,88 @@ msgstr "Questo è un messaggio d'esempio in una finestra di dialogo d'esempio"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "Voce di menu finta n.%d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "Finestra solo-bordo"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "Barra"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "Finestra applicazione normale"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "Casella di dialogo"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "Casella di dialogo modale"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "Tavolozza di utilità"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "Menù staccato"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "Bordo"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "Dialogo modale attaccato"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "Test n.%d disposizione pulsanti"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "%g millisecondi per disegnare una cornice di finestra"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "Uso: metacity-theme-viewer [NOME_TEMA]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "Errore nel caricare il tema: %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "Tema «%s» caricato in %g secondi\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "Carattere titolo normale"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "Carattere titolo piccolo"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "Carattere titolo grande"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "Disposizione pulsanti"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "Prestazioni"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "Qui va il titolo della finestra"
|
||||
|
||||
@@ -2176,12 +2232,6 @@ msgstr ""
|
||||
#~ msgstr "Solleva automaticamente la finestra col focus"
|
||||
|
||||
# Mi sa che l'originale è sbagliato aperto un bug
|
||||
#~| msgid ""
|
||||
#~| "Clicking a window while holding down this modifier key will move the "
|
||||
#~| "window (left click), resize the window (middle click), or show the "
|
||||
#~| "window menu (right click). The left and right operations may be swapped "
|
||||
#~| "using the \"mouse_button_resize\" key. Modifier is expressed as \"<"
|
||||
#~| "Alt>\" or \"<Super>\" for example."
|
||||
#~ msgid ""
|
||||
#~ "Clicking a window while holding down this modifier key will move the "
|
||||
#~ "window (left click), resize the window (middle click), or show the window "
|
||||
|
||||
325
po/ko.po
325
po/ko.po
@@ -18,8 +18,8 @@ msgstr ""
|
||||
"Project-Id-Version: mutter\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-03-21 19:31+0000\n"
|
||||
"PO-Revision-Date: 2011-04-02 20:10+0900\n"
|
||||
"POT-Creation-Date: 2011-08-10 12:42+0000\n"
|
||||
"PO-Revision-Date: 2011-09-24 08:21+0900\n"
|
||||
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
|
||||
"Language-Team: GNOME Korea <gnome-kr@googlegroups.com>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -28,6 +28,15 @@ msgstr ""
|
||||
"Language: Korean\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. 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:487
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
msgstr "다른 창 구성 관리 프로그램이 이미 디스플레이 \"%2$s\" 화면 %1$i번에서 실행 중입니다."
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "1번째 작업 공간으로 이동"
|
||||
@@ -345,23 +354,26 @@ msgstr "삑소리 이벤트"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "알 수 없는 창 정보 요청: %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> 창이 반응하지 않습니다."
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "프로그램이 반응하지 않습니다."
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
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:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "기다리기(_W)"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "강제로 끝내기(_F)"
|
||||
|
||||
@@ -387,7 +399,7 @@ msgstr ""
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -397,12 +409,12 @@ msgstr ""
|
||||
"<tt>%s</tt> 명령을 실행하는 중 오류가 발생했습니다:\n"
|
||||
"%s."
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "명령 %d이(가) 정의되지 않았습니다.\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "터미널 명령을 정의하지 않았습니다.\n"
|
||||
@@ -431,12 +443,12 @@ msgstr "저장 파일에서 세션을 초기화 합니다"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "동기 X 호출을 합니다"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "테마 디렉터리를 읽는 데 실패했습니다: %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -478,36 +490,36 @@ msgstr "컴포짓 플러그인의 목록, 쉼표로 구분"
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "GConf 키 '%s'이(가) 잘못된 값으로 설정되어 있습니다\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr ""
|
||||
"GConf 키 %2$s에 저장된 %1$d은(는) %3$d에서 %4$d 사이의 범위를 벗어납니다\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "\"%s\" GConf 키가 잘못된 형식으로 설정되어 있습니다\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr ""
|
||||
"\"%s\" GConf 키가 이미 사용 중이므로 %s 키를 대신하는데 사용될 수 없습니다\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "GConf 키를 대신할 수 없습니다. %s 키가 있습니다\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
@@ -515,12 +527,12 @@ msgstr ""
|
||||
"응용 프로그램에 대한 임시 방편을 막았습니다. 몇몇 응용프로그램들이 제대로 동"
|
||||
"작하지 않을것입니다.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr "GConf 키 %2$s에서 글꼴 지정 \"%1$s\"을(를) 분석할 수 없습니다\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
@@ -529,17 +541,17 @@ msgstr ""
|
||||
"설정 데이터베이스에서 찾은 \"%s\"이(가) 마우스 단추 변경 키의 올바른 값이 아"
|
||||
"닙니다\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "작업 공간의 수를 %d(으)로 설정하는 중 오류: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "작업 공간 %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
@@ -548,100 +560,98 @@ msgstr ""
|
||||
"설정 데이터베이스에서 찾은 \"%s\"이(가) 단축키 \"%s\"에 대한 올바른 값이 아닙"
|
||||
"니다\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "작업 공간 %d의 이름을 \"%s\"(으)로 설정하는 중 오류: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr "실행 중인 숨긴 창 상태를 설정하는 중 오류: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "탭 없음 팝업 상태를 설정하는 중 오류: %s\n"
|
||||
|
||||
#: ../src/core/screen.c:623
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "디스플레이 '%2$s'의 화면 %1$d은(는) 잘못되었습니다\n"
|
||||
|
||||
#: ../src/core/screen.c:639
|
||||
#: ../src/core/screen.c:679
|
||||
#, 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"
|
||||
msgstr ""
|
||||
"디스플레이 \"%2$s\"의 화면 %1$d에 이미 창 관리자가 실행되고 있습니다; 현재 "
|
||||
"창 관리자를 무시하는 --replace 옵션을 써보십시오.\n"
|
||||
msgstr "디스플레이 \"%2$s\"의 화면 %1$d에 이미 창 관리자가 실행되고 있습니다. 현재 창 관리자를 무시하는 --replace 옵션을 써보십시오.\n"
|
||||
|
||||
#: ../src/core/screen.c:666
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
msgstr "디스플레이 \"%2$s\"의 화면 %1$d에 창 관리 선택을 가질 수 없습니다\n"
|
||||
|
||||
#: ../src/core/screen.c:721
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr ""
|
||||
"디스플레이 \"%2$s\"의 화면 %1$d은(는) 이미 창 관리자가 실행되고 있습니다\n"
|
||||
|
||||
#: ../src/core/screen.c:906
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "디스플레이 \"%2$s\"의 화면 %1$d을(를) 떼어 놓을수 없습니다\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "디렉터리 '%s'을(를) 만들 수 없습니다: %s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "세션 파일 '%s'을(를) 쓰기위해 열 수 없습니다: %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "세션 파일 '%s'을(를) 쓰는 중 오류: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "세션 파일 '%s'을(를) 닫는 중 오류: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "저장된 세션파일을 분석하기 실패: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr "이미 세션 ID를 가지고 있는데 <mutter_session> 속성이 나왔습니다."
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "<%2$s> 엘리먼트에 알 수 없는 속성 %1$s"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "포함된 <window> 태그"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "알 수 없는 속성 %s"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -686,13 +696,13 @@ msgid "Window manager error: "
|
||||
msgstr "장 관리자 오류: "
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/core/util.c:632 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "머터"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6752
|
||||
#: ../src/core/window.c:6959
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -708,14 +718,12 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7415
|
||||
#: ../src/core/window.c:7622
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
|
||||
"d x %d and max size %d x %d; this doesn't make much sense.\n"
|
||||
msgstr ""
|
||||
"%s 창에서 크기 변경이 불가능하다는 MWM 힌트를 설정했지만, 최소 크기 %d x %d "
|
||||
"및 최대 크기 %d x %d(으)로 설정했습니다; 앞뒤가 맞지 않습니다.\n"
|
||||
msgstr "%s 창에서 크기 변경이 불가능하다는 MWM 힌트를 설정했지만, 최소 크기 %d x %d 및 최대 크기 %d x %d(으)로 설정했습니다. 앞뒤가 맞지 않습니다.\n"
|
||||
|
||||
#: ../src/core/window-props.c:309
|
||||
#, c-format
|
||||
@@ -728,11 +736,16 @@ msgstr "응용 프로그램이 가짜 _NET_WM_PID %lu을(를) 설정하였습니
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (%s에서)"
|
||||
|
||||
#: ../src/core/window-props.c:1479
|
||||
#: ../src/core/window-props.c:1488
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "%2$s에 대해 WM_TRANSIENT_FOR 0x%1$lx 창이 잘못되었습니다.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1500
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "%2$s에 대해 WM_TRANSIENT_FOR 0x%1$lx 창은 무한 반복입니다.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -782,14 +795,24 @@ msgstr ""
|
||||
"결정합니다."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "마우스로 끌 수 있는 가장자리의 너비"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "실행 중인 숨긴 창"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr "창 관리 작업을 할 때 사용할 변경 키"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 "마우스로 끌 수 있는 가장자리의 너비. 테마의 가장자리가 이보다 작은 경우, 투명한 가장자리가 부족한 양만큼 추가됩니다."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -801,7 +824,7 @@ msgstr ""
|
||||
"기본값은 \"윈도우 키\"입니다. 보통 이 키 바인딩은 기본값이거나 빈 문자열입니"
|
||||
"다."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
msgid ""
|
||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
@@ -810,7 +833,7 @@ msgstr ""
|
||||
"참이면 모달 대화 상자에서 별도의 제목 표시줄을 표시하지 않고 상위 창의 제목 "
|
||||
"표시줄에 붙어서 상위 창과 함께 움직입니다."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "주 모니터에서만 작업 공간"
|
||||
|
||||
@@ -819,47 +842,47 @@ msgstr "주 모니터에서만 작업 공간"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "사용법: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1123
|
||||
msgid "Close Window"
|
||||
msgstr "창 닫기"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1126
|
||||
msgid "Window Menu"
|
||||
msgstr "창 메뉴"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1129
|
||||
msgid "Minimize Window"
|
||||
msgstr "창 최소화"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1132
|
||||
msgid "Maximize Window"
|
||||
msgstr "창 최대화"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1135
|
||||
msgid "Restore Window"
|
||||
msgstr "창 복귀"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1138
|
||||
msgid "Roll Up Window"
|
||||
msgstr "창 말아올리기"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1141
|
||||
msgid "Unroll Window"
|
||||
msgstr "창 펼치기"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1144
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "창을 맨 위에 두기"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1147
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "창을 맨 위에서 빼기"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1150
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "항상 현재 작업 공간에 놓기"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1153
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "창을 한 개 작업 공간에만 두기"
|
||||
|
||||
@@ -1062,78 +1085,95 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "맨 위"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "맨 아래"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "왼쪽"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "오른쪽"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "프레임 위치가 \"%s\"차원으로 지정되지 않았습니다"
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr ""
|
||||
"프레임 위치가 가장자리 \"%2$s\" 가장자리의 \"%1$s\"차원으로 지정되지 않았습니"
|
||||
"다."
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "단추의 가로세로 비 %g이(가) 적당하지 않습니다"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "프레임 위치가 단추의 크기로 지정되지 않았습니다"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "서서히 변하는 색으로 지정하려면 최소 2색이 필요합니다"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1205
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr "GTK 사용자 지정 색상 지정은 색 이름과 대체할 색을 괄호 안에 써야 합니다. 예를 들어: gtk:custom(foo,bar). \"%s\"을(를) 분석할 수 없습니다"
|
||||
|
||||
#: ../src/ui/theme.c:1221
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr "gtk:custom의 color_name 파라미터 안에 잘못된 문자 '%c'. A-Za-z0-9-_ 문자만 허용합니다."
|
||||
|
||||
#: ../src/ui/theme.c:1235
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr "gtk:custom 형식은 \"gtk:custom(색이름,대체색)\"입니다, \"%s\"(은)는 형식에 맞지 않습니다"
|
||||
|
||||
#: ../src/ui/theme.c:1271
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
"where NORMAL is the state; could not parse \"%s\""
|
||||
msgstr ""
|
||||
"GTK 색상 지정은 중괄호안에 있어야 합니다, 예: gtk:fg[NORMAL] NORMAL은 값; \"%"
|
||||
"s\"을(를) 분석할 수 없습니다"
|
||||
msgstr "GTK 색상 지정은 중괄호안에 있어야 합니다. 예를 들어: gtk:fg[NORMAL], 여기서 NORMAL이 값입니다. \"%s\"을(를) 분석할 수 없습니다."
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1285
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
"fg[NORMAL] where NORMAL is the state; could not parse \"%s\""
|
||||
msgstr ""
|
||||
"GTK 색상 지정은 값 뒤에 중괄호로 닫혀 있어야 합니다, 예: gtk:fg[NORMAL]NORMAL"
|
||||
"은 값; \"%s\"을(를) 분석할 수 없습니다"
|
||||
msgstr "GTK 색상 지정은 값 뒤에 중괄호로 닫혀 있어야 합니다. 예를 들어: gtk:fg[NORMAL], 여기서 NORMAL은 값입니다. \"%s\"을(를) 분석할 수 없습니다."
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1296
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "색상 지정의 \"%s\" 값을 이해할 수 없습니다"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1309
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "색상 지정의 색상 구성요소 \"%s\"을(를) 이해할 수 없습니다"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1339
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
@@ -1142,17 +1182,17 @@ msgstr ""
|
||||
"섞기 형식은 \"blend/bg_color/fg_color/alpha\"입니다, \"%s\"은(는) 형식에 맞"
|
||||
"지 않습니다"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1350
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "색상 섞기에서 알파 값 \"%s\"을(를) 분석할 수 없습니다"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1360
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "색상 섞기에서 알파 값 \"%s\"은(는) 0.0 과 1.0사이의 값이 아닙니다"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1407
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
@@ -1160,39 +1200,39 @@ msgstr ""
|
||||
"그림자 형식은 \"shade/base_color/format\"입니다, \"%s\"(은)는 형식에 맞지 않"
|
||||
"습니다"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1418
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "그림자색에서 그림자 인자 \"%s\"(을)를 해석할 수 없습니다"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1428
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "그림자색에서 그림자 인자 \"%s\"(은)는 음수입니다"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1457
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "색상 \"%s\"을(를) 해석할 수 없습니다"
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1768
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "좌표식에 허용되지 않는 문자 '%s'(이)가 포함되어 있습니다"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1795
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
"parsed"
|
||||
msgstr "좌표식에 분석할 수 없는 부동소수점 숫자 '%s'이(가) 포함되어 있습니다"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1809
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr "좌표식에 분석할 수 없는 정수 '%s'이(가) 포함되어 있습니다"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1931
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
@@ -1200,39 +1240,39 @@ msgid ""
|
||||
msgstr ""
|
||||
"좌표식에 이 글자 시작부분에 알 수 없는 연산자가 포함되어 있습니다: \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:1988
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "좌표식이 비어있거나 이해할 수 없습니다"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2099 ../src/ui/theme.c:2109 ../src/ui/theme.c:2143
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "좌표식의 결과 값이 0로 나누었습니다"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2151
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
msgstr "좌표식에서 부동소수점 수에 나머지 연산을 하려 합니다"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2207
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr "좌표식에서 피연산자가 들어갈 곳에 연산자 \"%s\"이(가) 있습니다"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2216
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "좌표식에서 연산자가 들어갈 곳에 피연산자가 있습니다"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2224
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "좌표식에서 피연산자 대신에 연산자로 끝나있습니다"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2234
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1241,37 +1281,37 @@ msgstr ""
|
||||
"좌표식에서 피연산자가 없는 연산자 \"%2$c\"다음에 연산자 \"%1$c\"이(가) 있습니"
|
||||
"다"
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2385 ../src/ui/theme.c:2430
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr "좌표식에 알 수 없는 변수나 상수 \"%s\"이(가) 있습니다"
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2484
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "좌표 계산 파서의 버퍼가 크기를 넘어갔습니다."
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2513
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr "좌표식에 닫는 괄호는 있지만 여는 괄호가 없습니다"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2577
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr "좌표식에 여는 괄호는 있지만 닫는 괄호가 없습니다"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2588
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "좌표식에 어떠한 연산자나 피연산자가 없습니다"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2800 ../src/ui/theme.c:2820 ../src/ui/theme.c:2840
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "테마가 오류 값을 내는 표현식이 들어 있습니다: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4511
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1280,7 +1320,7 @@ msgstr ""
|
||||
"이 프레임 스타일에는 <button function=\"%s\" style=\"%s\" draw_ops=\"whatever"
|
||||
"\"/>가 지정되어야 합니다"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5044 ../src/ui/theme.c:5069
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
@@ -1288,18 +1328,18 @@ msgstr ""
|
||||
"<frame state=\"%s\" resize=\"%s\" focus=\"%s\" state=\"whatever\"/> 가 없습니"
|
||||
"다"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5117
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "테마 \"%s\"을(를) 읽을 수 없습니다: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5253 ../src/ui/theme.c:5260 ../src/ui/theme.c:5267
|
||||
#: ../src/ui/theme.c:5274 ../src/ui/theme.c:5281
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "테마 \"%2$s\"의 <%1$s>(이)가 설정되지 않았습니다"
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5289
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1308,14 +1348,13 @@ msgstr ""
|
||||
"테마 \"%2$s\"의 창 형식 \"%1$s\"에 대한 프레임 스타일이 없습니다,<window "
|
||||
"type=\"%3$s\" style_set=\"whatever\"/> 엘리먼트를 추가하십시오"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5728 ../src/ui/theme.c:5790 ../src/ui/theme.c:5853
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
msgstr ""
|
||||
"사용자 정의 상수는 대문자로 시작되어야 합니다; \"%s\"은(는) 그렇지 않습니다"
|
||||
msgstr "사용자 정의 상수는 대문자로 시작되어야 합니다. \"%s\"은(는) 그렇지 않습니다."
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5736 ../src/ui/theme.c:5798 ../src/ui/theme.c:5861
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "상수 \"%s\"은(는) 이미 지정되어 있습니다"
|
||||
@@ -1765,88 +1804,88 @@ msgstr "예제 대화 상자의 예제 메시지입니다"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "가짜 메뉴 항목 %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "테두리만 있는 창"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "모음"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "보통 프로그램 창"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "대화 상자"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "모달 대화 상자"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "도구 팔레트"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "떼어내기 메뉴"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "테두리"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "부착한 모달 대화 상자"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "단추 배치 테스트 %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "창 프레임 하나를 그리는 데 %g ms"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "사용법: metacity-theme-viewer [테마이름]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "테마를 읽어들이는 데 오류가 발생했습니다: %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "\"%s\" 테마를 읽어들이는 데 %g초\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "보통 제목 글꼴"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "작은 제목 글꼴"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "큰 제목 글꼴"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "단추 배치"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "벤치마크"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "창 제목이 여기에 들어갑니다"
|
||||
|
||||
|
||||
320
po/lv.po
320
po/lv.po
@@ -5,14 +5,15 @@
|
||||
# Peteris Krisjanis <pecisk@inbox.lv>, 2002.
|
||||
# Raivis Dejus <orvils@gmail.com>, 2006, 2007, 2009.
|
||||
# Rudolfs <rudolfs.mazurs@gmail.com>, 2011.
|
||||
# Rūdofls Mazurs <rudolfs.mazurs@gmail.com>, 2011.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: lv\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug."
|
||||
"cgi?product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-03-21 19:31+0000\n"
|
||||
"PO-Revision-Date: 2011-03-26 13:54+0200\n"
|
||||
"Last-Translator: Rudolfs <rudolfs.mazurs@gmail.com>\n"
|
||||
"POT-Creation-Date: 2011-08-29 11:52+0000\n"
|
||||
"PO-Revision-Date: 2011-09-07 11:36+0300\n"
|
||||
"Last-Translator: Rūdofls Mazurs <rudolfs.mazurs@gmail.com>\n"
|
||||
"Language-Team: Latvian <locale@laka.lv>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -21,6 +22,15 @@ msgstr ""
|
||||
"2);\n"
|
||||
"X-Generator: Lokalize 1.1\n"
|
||||
|
||||
#. 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:486
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
msgstr "Cits kompozīcijas pārvaldnieks jau darbojas ekrānā %d displejā \"%s\"."
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "Pārslēgties uz 1. darbvietu"
|
||||
@@ -339,13 +349,16 @@ msgstr "Zvana notikums"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "Nezināms logu informācijas pieprasījums: %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> nereaģē."
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "Lietotne nereaģē."
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
msgid ""
|
||||
"You may choose to wait a short while for it to continue or force the "
|
||||
"application to quit entirely."
|
||||
@@ -353,11 +366,11 @@ msgstr ""
|
||||
"Jūs varat uzgaidīt neilgu brīdi, līdz tā atgūstas, vai arī aizvērt to "
|
||||
"piespiedu kārtā."
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "_Gaidīt"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "Aizvērt _piespiedu kārtā"
|
||||
|
||||
@@ -382,7 +395,7 @@ msgstr ""
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -393,12 +406,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "Komanda %d nav definēta.\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "Termināla komandas nav definētas.\n"
|
||||
@@ -427,12 +440,12 @@ msgstr "Inicializēt sesiju no saglabātā faila"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "Padarīt X izsaukumus sinhronus"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "Neizdevās noskanēt tēmu direktoriju: %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -474,36 +487,36 @@ msgstr "Ar komatu atdalīts kompozīcijas spraudņu saraksts"
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "GConf atslēga '%s' ir iestatīta uz nederīgu vērtību\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr "%d, kas saglabāts GConf atslēgā %s, ir ārpus %d līdz %d diapazona\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "GConf atslēga \"%s\" ir iestatīta uz nederīgu tipu\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr ""
|
||||
"GConf atslēga \"%s\" jau tiek izmantota un to nevar izmantot, lai "
|
||||
"pārrakstītu %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "Nevar pārrakstīt GConf atslēgu, %s nav atrasts\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
@@ -511,12 +524,12 @@ msgstr ""
|
||||
"Apvedceļi bojātām lietotnēm atslēgti. Dažas lietotnes var neuzvesties "
|
||||
"pareizi.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr "Neizdevās parsēt fonta aprakstu \"%s\" no GConf atslēgas %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
@@ -525,17 +538,17 @@ msgstr ""
|
||||
"\"%s\", kas atrasta konfigurācijas datubāzē, nav derīga vērtība peles pogas "
|
||||
"modifikatoram\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "Kļūda, iestatot darbvietu daudzumu uz %d: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Darbvieta %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
@@ -544,27 +557,27 @@ msgstr ""
|
||||
"\"%s\", kas atrasta konfigurācijas datubāzē, nav derīga vērtība "
|
||||
"taustiņsasaistei \"%s\"\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "Kļūda, iestatot darbvietas %d nosaukumu uz \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr "Kļūda, iestatot dzīvo slēptā loga statusu: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "Kļūda, iestatot bez ciļņu uzvednes statusu: %s\n"
|
||||
|
||||
#: ../src/core/screen.c:623
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "Ekrāna %d displejs \"%s\" ir nederīgs\n"
|
||||
|
||||
#: ../src/core/screen.c:639
|
||||
#: ../src/core/screen.c:679
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -573,70 +586,70 @@ msgstr ""
|
||||
"Ekrāna %d displejam \"%s\" jau ir logu pārvaldnieks; mēģiniet lietot --"
|
||||
"replace iespēju, lai aizvietotu pašreizējo logu pārvaldnieku.\n"
|
||||
|
||||
#: ../src/core/screen.c:666
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
msgstr "Neizdevās iegūt logu pārvaldnieka izvēli ekrāna %d displejā \"%s\"\n"
|
||||
|
||||
#: ../src/core/screen.c:721
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "Ekrāna %d displejam \"%s\" jau ir logu pārvaldnieks\n"
|
||||
|
||||
#: ../src/core/screen.c:906
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "Neizdevās atlaist ekrānu %d uz displeja \"%s\"\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "Neizdevās izveidot mapi '%s': %s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "Neizdevās atvērt sesijas failu '%s' rakstīšanai: %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "Kļūda, ierakstot sesijas failu '%s': %s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "Kļūda, aizverot sesijas failu '%s': %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "Kļūda, parsējot saglabāto sesijas failu: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr "<mutter_session> atribūts pamanits, bet mums jau ir sesijas ID"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "Nezināms atribūts %s <%s> elementam"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "ligzdota <window> birka"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "Nezināms elements %s"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -681,13 +694,13 @@ msgid "Window manager error: "
|
||||
msgstr "Logu pārvaldnieka kļūda: "
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/core/util.c:632 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6752
|
||||
#: ../src/core/window.c:7019
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -703,7 +716,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7415
|
||||
#: ../src/core/window.c:7682
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
|
||||
@@ -722,11 +735,16 @@ msgstr "Lietotne iestatīja neīstu _NET_WM_PID %lu\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (uz %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1479
|
||||
#: ../src/core/window-props.c:1481
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "Nederīgs WM_TRANSIENT_FOR logs 0x%lx norādīts %s.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1492
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "WM_TRANSIENT_FOR logs 0x%lx priekš %s veidotu cilpu.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -767,9 +785,6 @@ msgstr ""
|
||||
"atrodas citās darbvietās) uzturēt pie dzīvības."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:3
|
||||
#| msgid ""
|
||||
#| "Determines whether workspace switching should happen for windows on all "
|
||||
#| "monitors or only the primary window."
|
||||
msgid ""
|
||||
"Determines whether workspace switching should happen for windows on all "
|
||||
"monitors or only for windows on the primary monitor."
|
||||
@@ -778,14 +793,26 @@ msgstr ""
|
||||
"monitoros, vai tikai logiem galvenajā monitorā."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "Velkams malas platums"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "Dzīvie slēptie logi"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h: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"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 ""
|
||||
"Kopējo velkamo malu apjoms. Ja tēmas redzamās robežas nav pietiekamas, "
|
||||
"tiks pievienotas neredzamas robežas, lai iegūtu šo vērtību."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -797,7 +824,7 @@ msgstr ""
|
||||
"PC aparatūras. Tiek sagaidīts, ka šī sasaite ir vai nu noklusētā, vai tukša "
|
||||
"virkne."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
msgid ""
|
||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
@@ -807,7 +834,7 @@ msgstr ""
|
||||
"būs piesaistīts virsraksta joslai vecāka logam un tiks pārvietots kopā ar "
|
||||
"vecāka logu."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Darbvietas tikai uz galvenā"
|
||||
|
||||
@@ -816,47 +843,47 @@ msgstr "Darbvietas tikai uz galvenā"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Lietojums: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "Aizvērt logu"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "Loga izvēlne"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "Minimizēt logu"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "Maksimizēt logu"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "Atjaunot logu"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Uzrullēt logu"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "Norullēt logu"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Turēt logu virspusē"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Aizvākt logu no virspuses"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Vienmēr redzamajā darbvietā"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Turēt logu tikai vienā darbvietā"
|
||||
|
||||
@@ -1059,48 +1086,75 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "augša"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "apakša"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "pa kreisi"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "pa labi"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "rāmja ģeometrija nenosaka \"%s\" dimensiju"
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr "rāmja ģeometrija nenosaka dimensiju \"%s\" robežai \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "Pogas samērs %g nav saprātīgs"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "Rāmja ģeometrija nenosaka pogu izmēru"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "Krāsu pārejās ir jābūt vismaz divām krāsām"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1212
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"GTK pielāgotajā krāsu specifikācijā ir jābūt krāsas nosaukumam un atkāpšanās "
|
||||
"ceļam iekavās, piem., gtk:custom(foo,bar); neizdevās parsēt \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1228
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr ""
|
||||
"Nederīga rakstzīme '%c' iekš color_name parameter no gtk:custom, tikai A-Za-"
|
||||
"z0-9-_ ir derīgas"
|
||||
|
||||
#: ../src/ui/theme.c:1242
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr ""
|
||||
"Gtk:custom formāts ir \"gtk:custom(color_name,fallback)\", \"%s\" "
|
||||
"neiekļaujas formātā"
|
||||
|
||||
#: ../src/ui/theme.c:1287
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1109,7 +1163,7 @@ msgstr ""
|
||||
"GTK krāsas specifikācijā ir jābūt stāvoklim iekavās, piem., gtk:fg[NORMAL], "
|
||||
"kur NORMAL ir stāvoklis; neizdevās parsēt \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1301
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1118,17 +1172,17 @@ msgstr ""
|
||||
"GTK krāsas specifikācijā ir jābūt kvadrātiekavām pēc stāvokļa, piem., gtk:fg"
|
||||
"[NORMAL], kur NORMAL ir stāvoklis; neizdevās parsēt \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1312
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "Nesaprotams stāvoklis \"%s\" krāsas specifikācijā"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1325
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "Nesaprotams krāsas komponents \"%s\" krāsas specifikācijā"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1355
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
@@ -1137,96 +1191,96 @@ msgstr ""
|
||||
"Saplūšanas formāts ir \"blend/bg_color/fg_color/alpha\", \"%s\" neatbilst "
|
||||
"formātam"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1366
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "Neizdevās parsēt alfa vērtību \"%s\" sapludinātajā krāsā"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1376
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "Alfa vērtība \"%s\" sapludinātajā krāsā nav starp 0.0 un 1.0"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1423
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
msgstr ""
|
||||
"Ēnošanas formāts ir \"shade/base_color/factor\", \"%s\" neatbilst formātam"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1434
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "Neizdevās parsēt ēnas faktoru \"%s\" ēnotajā krāsā"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1444
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "Ēnošanas faktors \"%s\" ēnotajā krāsā ir negatīvs"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1473
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "Neizdevās parsēt krāsu \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1784
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "Koordinātu izteiksme satur rakstzīmi '%s', kas nav atļauta"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1811
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
"parsed"
|
||||
msgstr "Koordinātu izteiksme satur neparsējamu peldošā punkta skaitli '%s'"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1825
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr "Koordinātu izteiksme satur neparsējamu veselu skaitli '%s'"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1947
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
"\"%s\""
|
||||
msgstr "Koordinātu izteiksme satur nezināmu operatoru šī teksta sākumā: \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:2004
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "Koordinātu izteiksme bija tukša vai nesaprasta"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2115 ../src/ui/theme.c:2125 ../src/ui/theme.c:2159
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "Koordinātu izteiksme noved pie dalīšanas ar nulli"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2167
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
msgstr ""
|
||||
"Koordinātu izteiksme mēģina lietot mod operatoru uz peldošā punkta skaitļa"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2223
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr "Koordinātu izteiksmei ir operators \"%s\", kur tika gaidīts operands"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2232
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "Koordinātu izteiksmei bija operands, kur tika gaidīts operators"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2240
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "Koordinātu izteiksme beidzās ar operatoru, nevis ar operandu"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2250
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1235,39 +1289,39 @@ msgstr ""
|
||||
"Koordinātu izteiksmē ir operatoram \"%c\" sekojošais operators \"%c\" bez "
|
||||
"operanda to starpā"
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2401 ../src/ui/theme.c:2446
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr "Koordinātu izteiksmē bija nezināms mainīgais vai konstante \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2500
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "Koordinātu izteiksme pārpildīja parsera buferi."
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2529
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr ""
|
||||
"Koordinātu izteiksmei bija aizvērtās iekavas bez nevienas atvērtās iekavas"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2593
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr ""
|
||||
"Koordinātu izteiksmei bija atvērtās iekavas bez nevienas aizvērtās iekavas"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2604
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "Šķiet, ka koordinātu izteiksmē nav ne operatoru, ne operandu"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2816 ../src/ui/theme.c:2836 ../src/ui/theme.c:2856
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "Tēma saturēja izteiksmi, kas noveda pie kļūdas: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4527
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1276,25 +1330,25 @@ msgstr ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"jebkas\"/> jābūt noteiktam "
|
||||
"šajā rāmja stilā"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5060 ../src/ui/theme.c:5085
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr ""
|
||||
"Iztrūkst <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"jebkas\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5133
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "Neizdevās ielādēt tēmu \"%s\": %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5269 ../src/ui/theme.c:5276 ../src/ui/theme.c:5283
|
||||
#: ../src/ui/theme.c:5290 ../src/ui/theme.c:5297
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "Nav iestatīts <%s> tēmai \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5305
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1303,14 +1357,14 @@ msgstr ""
|
||||
"Nav rāmja stila kopas loga tipam \"%s\" tēmā \"%s\"; pievienojiet <window "
|
||||
"type=\"%s\" style_set=\"jebkas\"/> elementu"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5744 ../src/ui/theme.c:5806 ../src/ui/theme.c:5869
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
msgstr ""
|
||||
"Lietotāja definētajām konstantēm jāsākas ar lielo burtu; \"%s\" nesākas"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5752 ../src/ui/theme.c:5814 ../src/ui/theme.c:5877
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "Konstante \"%s\" jau tikusi definēta"
|
||||
@@ -1758,88 +1812,88 @@ msgstr "Šis ir paraugpaziņojums parauga dialogā"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "Neīsts izvēlnes elements %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "Logs tikai ar apmali"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "Josla"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "Normāls lietotnes logs"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "Dialoglodziņš"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "Modālais dialoglodziņš"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "Utilītpalete"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "Atrauta izvēlne"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "Apmale"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "Piesaistītais modālais dialogs"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "Pogu izkārtojuma tests %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "%g milisekundes, lai uzzīmētu loga rāmi"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "Pielietojums: metacity-theme-viewer [TĒMASNOSAUKUMS]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "Kļūda, ielādējot tēmu: %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "Tēma \"%s\" ielādēta \"%g\"sekundēs\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "Normāls virsraksta fonts"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "Mazs virsraksta fonts"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "Liels virsraksta fonts"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "Pogu izkārtojumi"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "Etalonuzdevums"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "Šeit paredzēts loga virsraksts"
|
||||
|
||||
|
||||
318
po/nb.po
318
po/nb.po
@@ -4,10 +4,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: mutter 2.91.x\n"
|
||||
"Project-Id-Version: mutter 3.1.x\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-22 11:13+0100\n"
|
||||
"PO-Revision-Date: 2011-03-22 11:13+0100\n"
|
||||
"POT-Creation-Date: 2011-08-10 15:24+0200\n"
|
||||
"PO-Revision-Date: 2011-08-10 15:25+0200\n"
|
||||
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
|
||||
"Language-Team: Norwegian bokmål <i18n-no@lister.ping.uio.no>\n"
|
||||
"Language: \n"
|
||||
@@ -15,6 +15,15 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. 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:487
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
msgstr "En annen compositing manager kjører skjerm %i på display «%s»."
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "Bytt til arbeidsområde 1"
|
||||
@@ -332,13 +341,16 @@ msgstr "Klokkehendelse"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "Ukjent forespørsel om vindusinformasjon: %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> svarer ikke."
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "Programmet svarer ikke."
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
msgid ""
|
||||
"You may choose to wait a short while for it to continue or force the "
|
||||
"application to quit entirely."
|
||||
@@ -346,11 +358,11 @@ msgstr ""
|
||||
"Du kan velge å vente en kort stund for å se om det fortsetter eller tvinge "
|
||||
"programmet til å avslutte helt."
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "_Vent"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Tvungen nedstenging"
|
||||
|
||||
@@ -376,7 +388,7 @@ msgstr ""
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -387,12 +399,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "Ingen kommando %d er definert\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "Ingen terminalkommando er definert\n"
|
||||
@@ -421,12 +433,12 @@ msgstr "Initier sesjonen fra en lagret fil"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "Gjør X-kall synkrone"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "Feil under søk i temakatalog: %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -467,35 +479,35 @@ msgstr "Kommaseparert liste av tillegg for compositor"
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "GConf-nøkkel «%s» er satt til en ugyldig verdi\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr "%d lagret i GConf-nøkkel %s er utenfor område %d til %d\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "GConf-nøkkel «%s» er satt til en ugyldig type\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr ""
|
||||
"GConf-nøkkel %s er allerede i bruk og kan ikke brukes til å overstyre %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "Kan ikke overstyre GConf-nøkkel. %s ble ikke funnet\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
@@ -503,12 +515,12 @@ msgstr ""
|
||||
"Funksjonalitet for å gå rundt ødelagte programmer er deaktivert. Noen "
|
||||
"programmer vil kanskje ikke oppføre seg korrekt.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr "Kunne ikke tolke skriftbeskrivelsen «%s» fra GConf-nøkkel %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
@@ -517,17 +529,17 @@ msgstr ""
|
||||
"«%s» funnet i konfigurasjonsdatabasen er ikke en gyldig verdi for endring av "
|
||||
"musknapp\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "Feil under spesifisering av antall arbeidsområder til %d: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Arbeidsområde %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
@@ -536,28 +548,28 @@ msgstr ""
|
||||
"«%s» funnet i konfigurasjonsdatabasen er ikke en gyldig verdi for "
|
||||
"tastaturbinding «%s»\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "Feil under setting av navn på arbeidsområde %d til «%s»: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr ""
|
||||
"Feil under setting av status for status for levende skjulte vinduer: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "Feil under setting av status for popup uten faner: %s\n"
|
||||
|
||||
#: ../src/core/screen.c:623
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "Skjerm %d på display «%s» er ugyldig\n"
|
||||
|
||||
#: ../src/core/screen.c:639
|
||||
#: ../src/core/screen.c:679
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -566,71 +578,71 @@ msgstr ""
|
||||
"Skjerm %d på display «%s» har allerede en vindushåndterer; prøv å bruke "
|
||||
"flagget --replace for å erstatte aktiv vindushåndterer.\n"
|
||||
|
||||
#: ../src/core/screen.c:666
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
msgstr ""
|
||||
"Kunne ikke hente utvalg fra vinduhåndterer på skjerm %d, display «%s»\n"
|
||||
|
||||
#: ../src/core/screen.c:721
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "Skjerm %d på display «%s» har allerede en vinduhåndterer\n"
|
||||
|
||||
#: ../src/core/screen.c:906
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "Kunne ikke slippe skjerm %d på display «%s»\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "Kunne ikke opprette katalog «%s»: %s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "Kunne ikke åpne sesjonsfil «%s» for skriving: %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "Feil under skriving av sesjonsfil «%s»: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "Feil under lukking av sesjonsfil «%s»: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "Feil under tolking av lagret sesjonsfil: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr "<mutter_session>-attributt sett men vi har allerede sesjons-ID"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "Ukjent attributt %s på <%s>-element"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "<window> tag med flere nivåer"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "Ukjent element %s"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -675,13 +687,13 @@ msgid "Window manager error: "
|
||||
msgstr "Feil i vindushåndterer: "
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/core/util.c:632 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6795
|
||||
#: ../src/core/window.c:6959
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -697,7 +709,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7458
|
||||
#: ../src/core/window.c:7622
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
@@ -717,11 +729,16 @@ msgstr "Programmet satte en feil _NET_WM_PID %lu\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (på %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1479
|
||||
#: ../src/core/window-props.c:1488
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "Ugyldig WM_TRANSIENT_FOR vindu 0x%lx oppgitt for %s.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1500
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "WM_TRANSIENT_FOR vindu 0x%lx for %s ville skapt en løkke.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -766,17 +783,29 @@ msgstr ""
|
||||
msgid ""
|
||||
"Determines whether workspace switching should happen for windows on all "
|
||||
"monitors or only for windows on the primary monitor."
|
||||
msgstr "Bestemmer om bytting mellom arbeidsområder skal skje for vinduer på alle skjermer eller kun på primær skjerm."
|
||||
msgstr ""
|
||||
"Bestemmer om bytting mellom arbeidsområder skal skje for vinduer på alle "
|
||||
"skjermer eller kun på primær skjerm."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "Bredde på drakant"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "Levende skjulte vinduer"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr "Endringstast som skal brukes for utvidede vindushåndteringsoperasjoner"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 "Total mengde med drakant. Hvis temas synlige kanter ikke er nok vil usynlige kanter legges til for å imøtekomme denne verdien."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -788,7 +817,7 @@ msgstr ""
|
||||
"tasten» på PC-maskinvare. Det forventes at denne bindingen er satt til "
|
||||
"forvalg eller en tom streng."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
msgid ""
|
||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
@@ -798,7 +827,7 @@ msgstr ""
|
||||
"tittellinjen på opphavsvinduet og flyttes sammen med dette i stedet for å ha "
|
||||
"individuelle tittellinjer."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Arbeidsområder kun på primær skjerm"
|
||||
|
||||
@@ -807,47 +836,47 @@ msgstr "Arbeidsområder kun på primær skjerm"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr " Bruk: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1123
|
||||
msgid "Close Window"
|
||||
msgstr "Lukk vindu"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1126
|
||||
msgid "Window Menu"
|
||||
msgstr "Vindumeny"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1129
|
||||
msgid "Minimize Window"
|
||||
msgstr "Minimer vindu"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1132
|
||||
msgid "Maximize Window"
|
||||
msgstr "Maksimer vindu"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1135
|
||||
msgid "Restore Window"
|
||||
msgstr "Gjenopprett vindu"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1138
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Rull opp vindu"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1141
|
||||
msgid "Unroll Window"
|
||||
msgstr "Rull ned vindu"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1144
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Plasser vindu i forgrunnen"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1147
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Fjern vindu fra forgrunnen"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1150
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Alltid på synlig arbeidsområde"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1153
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Plasser vindu kun på ett arbeidsområde"
|
||||
|
||||
@@ -1050,48 +1079,75 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "topp"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "bunn"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "venstre"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "høyre"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "rammegeometrien spesifiserer ikke «%s»-dimensjon"
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr "rammegeometri spesifiserer ikke dimensjon «%s» for kant «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "Aspektrate %g for knapp er ikke fornuftig"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "Rammegeometrien spesifiserer ikke størrelse på knapper"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "Gradienter må ha minst to farger"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1205
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"Egendefinert GTK-fargespesifikasjon må ha fargenavn og reserve i parantes, f."
|
||||
"eks gtk:custom(foo,bar); kunne ikke lese «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1221
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr ""
|
||||
"Ugyldig tegn «%c» i parameter color_name for gtk:custom, kun A-Za-z0-9-_ er "
|
||||
"gyldig"
|
||||
|
||||
#: ../src/ui/theme.c:1235
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr ""
|
||||
"Gtk:custom-format er «gtk:custom(color_name,fallback)», «%s» passer ikke i "
|
||||
"formatet"
|
||||
|
||||
#: ../src/ui/theme.c:1271
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1100,7 +1156,7 @@ msgstr ""
|
||||
"GTK-fargespesifikasjon må ha tilstand i klammer, f.eks. gtk:fg[NORMAL], hvor "
|
||||
"NORMAL er tilstanden; kunne ikke lese «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1285
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1109,17 +1165,17 @@ msgstr ""
|
||||
"GTK-fargespesifikasjon må ha en avsluttende klamme etter tilstanden, f.eks. "
|
||||
"gtk:fg[NORMAL], hvor NORMAL er tilstanden; kunne ikke lese «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1296
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "Forsto ikke tilstand «%s» i fargespesifikasjonen"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1309
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "Forsto ikke fargekomponent «%s» i fargespesifikasjonen"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1339
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
@@ -1128,56 +1184,56 @@ msgstr ""
|
||||
"Blandingsformat er «blend/bg_color/fg_color/alpha», «%s» passer ikke i "
|
||||
"formatet"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1350
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "Kunne ikke lese alpha-verdi «%s» i blandet farge"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1360
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "Alpha-verdi «%s» i blandet farge er ikke mellom 0.0 og 1.0"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1407
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
msgstr ""
|
||||
"Skyggeformatet er «shade/base_color/factor», «%s» passer ikke i formatet"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1418
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "Kunne ikke lese skyggefaktor «%s» i skyggelagt farge"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1428
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "Skyggefaktor «%s» i skyggelagt farge er negativ"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1457
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "Kunne ikke lese farge «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1768
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "Koordinatuttrykk inneholder tegn «%s» som ikke er tillatt"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1795
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
"parsed"
|
||||
msgstr "Koordinatuttrykk inneholder flyttall «%s» som ikke kunne tolkes"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1809
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr "Koordinatuttrykk inneholder heltall «%s» som ikke kunne tolkes"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1931
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
@@ -1186,39 +1242,39 @@ msgstr ""
|
||||
"Koordinatuttrykket inneholdt en ukjent operator ved begynnelsen av denne "
|
||||
"teksten: «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:1988
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "Koordinatuttrykket var tomt eller ble ikke forstått"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2099 ../src/ui/theme.c:2109 ../src/ui/theme.c:2143
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "Koordinatuttrykket resulterer i divisjon med null"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2151
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
msgstr "Koordinatuttrykket prøver å bruke mod-operator på et flyttall"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2207
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr "Koordinatuttrykket har en operator «%s» hvor en operand var ventet"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2216
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "Koordinatuttrykket hadde en operand hvor en operator var ventet"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2224
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "Koordinatuttrykket sluttet med en operator i stedet for en operand"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2234
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1227,38 +1283,38 @@ msgstr ""
|
||||
"Koordinatuttrykket har en operator «%c» etter en operator «%c» og ingen "
|
||||
"operand mellom dem."
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2385 ../src/ui/theme.c:2430
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr "Koordinatuttrykket haddeen ukjent variabel eller konstant «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2484
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "Tolkeren for koordinatuttrykk oversteg buffergrensen."
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2513
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr "Koordinatuttrykket hadde en parantes slutt uten parantes start"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2577
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr "Koordinatuttrykket hadde en åpen parantes uten en avsluttende parantes"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2588
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr ""
|
||||
"Koordinatuttrykket ser ikke ut til å ha noen operatorer eller operander"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2800 ../src/ui/theme.c:2820 ../src/ui/theme.c:2840
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "Tema inneholdt et uttrykk som resulterte i en feil: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4511
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1267,25 +1323,25 @@ msgstr ""
|
||||
"<button function=«%s» state=«%s» draw_ops=«ett-eller-annet»/> må "
|
||||
"spesifiseres for denne rammestilen"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5044 ../src/ui/theme.c:5069
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr ""
|
||||
"Mangler <frame state=«%s» resize=«%s» focus=«%s» stil=«ett-eller-annet»/>"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5117
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "Klarte ikke å laste tema «%s»: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5253 ../src/ui/theme.c:5260 ../src/ui/theme.c:5267
|
||||
#: ../src/ui/theme.c:5274 ../src/ui/theme.c:5281
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "<%s> er ikke satt for tema «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5289
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1294,14 +1350,14 @@ msgstr ""
|
||||
"Ingen rammestil satt for vindutype «%s» i tema «%s», legg til et <window "
|
||||
"type=«%s» style_set=«ett-eller-annet»/>-element"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5728 ../src/ui/theme.c:5790 ../src/ui/theme.c:5853
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
msgstr ""
|
||||
"Brukerdefinerte konstanter må begynne med stor bokstav; «%s» gjør ikke det"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5736 ../src/ui/theme.c:5798 ../src/ui/theme.c:5861
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "Konstant «%s» er allerede definert"
|
||||
@@ -1752,88 +1808,88 @@ msgstr "Dette er en eksempelbeskjed i en eksempeldialog"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "Falsk menyoppføring %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "Vindu uten innhold"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "Linje"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "Normalt programvindu"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "Dialogboks"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "Modal dialogboks"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "Verktøypalett"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "Avrevet meny"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "Kant"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "Festet modal dialog"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "Test av knappeplassering %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "%g millisekunder for å tegne en vindusramme"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "Bruk: metacity-theme-viewer [TEMANAVN]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "Feil under lasting av tema: %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "Lastet tema «%s» på %g sekunder\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "Normal tittelskrift"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "Liten tittelskrift"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "Stor tittelskrift"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "Knappeplasseringer"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "Ytelsestest"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "Vindutittel skal her"
|
||||
|
||||
|
||||
333
po/pa.po
333
po/pa.po
@@ -14,10 +14,10 @@
|
||||
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: 2011-03-21 19:31+0000\n"
|
||||
"PO-Revision-Date: 2011-03-26 23:49+0530\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-08-10 12:42+0000\n"
|
||||
"PO-Revision-Date: 2011-08-21 09:26+0530\n"
|
||||
"Last-Translator: A S Alam <aalam@users.sf.net>\n"
|
||||
"Language-Team: Punjabi/Panjabi <punjabi-users@lists.sf.net>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -28,6 +28,19 @@ msgstr ""
|
||||
"\n"
|
||||
"Language: pa\n"
|
||||
|
||||
#. 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:487
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
msgstr ""
|
||||
"ਇੱਕ ਹੋਰ ਕੰਪੋਜ਼ਟਿੰਗ ਮੈਨੇਜਰ %i ਸਕਰੀਨ ਉੱਤੇ ਡਿਸਪਲੇਅ \"%s\" ਉੱਤੇ ਪਹਿਲਾਂ ਹੀ ਚੱਲ "
|
||||
"ਰਿਹਾ ਹੈ।"
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "ਵਰਕਸਪੇਸ ੧ ਵਿੱਚ ਜਾਓ"
|
||||
@@ -345,13 +358,17 @@ msgstr "ਘੰਟੀ ਈਵੈਂਟ"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "ਅਣਜਾਣ ਵਿੰਡੋ ਜਾਣਕਾਰੀ ਮੰਗ: %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> ਜਵਾਬ ਨਹੀ ਦਿੰਦਾ।"
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
#| msgid "<tt>%s</tt> is not responding."
|
||||
msgid "Application is not responding."
|
||||
msgstr "ਐਪਲੀਕੇਸ਼ਨ ਜਵਾਬ ਨਹੀਂ ਦੇ ਰਹੀ ਹੈ।"
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
msgid ""
|
||||
"You may choose to wait a short while for it to continue or force the "
|
||||
"application to quit entirely."
|
||||
@@ -359,11 +376,11 @@ msgstr ""
|
||||
"ਤੁਸੀਂ ਇਸ ਲਈ ਕੁਝ ਸਮੇਂ ਵਾਸਤੇ ਉਡੀਕ ਕਰ ਸਕਦੇ ਹੋ ਜਾਂ ਕਾਰਜ ਨੂੰ ਧੱਕੇ ਨਾਲ ਬੰਦ ਕਰ ਸਕਦੇ "
|
||||
"ਹੋ।"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "ਉਡੀਕੋ(_W)"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "ਧੱਕੇ ਨਾਲ ਬੰਦ(_F)"
|
||||
|
||||
@@ -388,7 +405,7 @@ msgstr ""
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -399,12 +416,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "ਕੋਈ ਕਮਾਂਡ %d ਪਰਭਾਸ਼ਿਤ ਨਹੀ ਕੀਤੀ।\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "ਕੋਈ ਟਰਮੀਨਲ ਕਮਾਂਡ ਪ੍ਰਭਾਸ਼ਿਤ ਨਹੀ ਕੀਤੀ।\n"
|
||||
@@ -414,7 +431,6 @@ msgid "Disable connection to session manager"
|
||||
msgstr "ਸ਼ੈਸ਼ਨ ਮੈਨੇਜਰ ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਅਯੋਗ"
|
||||
|
||||
#: ../src/core/main.c:212
|
||||
#| msgid "Replace the running window manager with Mutter"
|
||||
msgid "Replace the running window manager"
|
||||
msgstr "ਚੱਲ ਰਹੇ ਵਿੰਡੋ ਮੈਨੇਜਰ ਨੂੰ ਬਦਲੋ"
|
||||
|
||||
@@ -434,12 +450,12 @@ msgstr "ਸੰਭਾਲੀ ਫਾਇਲ ਤੋਂ ਸ਼ੈਸ਼ਨ ਸ਼ੁ
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "X ਕਾਲ ਸੈਕਰੋਨਸ ਬਣਾਓ"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "ਥੀਮ ਡਾਇਰੈਕਟਰੀ ਦੀ ਜਾਂਚ ਅਸਫਲ: %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -479,36 +495,36 @@ msgstr "ਕਾਮਿਆਂ ਨਾਲ ਵੱਖ ਕੀਤੀ ਕੰਪੋਜ਼
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "ਜੀ-ਕਾਨਫ ਸਵਿੱਚ \"%s\" ਨੂੰ ਇੱਕ ਅਯੋਗ ਕੀਮਤ ਦਿੱਤੀ ਗਈ ਹੈ\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr "ਜੀ-ਕਾਨਫ ਸੰਭਾਲੀ %d ਸਵਿੱਚ %s ਵਿੱਚ ਰੇਜ਼ %d ਤੋਂ %d ਬਾਹਰ ਹੈ\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "ਜੀ-ਕਾਨਫ ਸਵਿੱਚ \"%s\" ਨੂੰ ਇੱਕ ਅਯੋਗ ਕਿਸਮ ਦਿੱਤੀ ਗਈ ਹੈ\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr ""
|
||||
"GConf ਕੁੰਜੀ %s ਪਹਿਲਾਂ ਹੀ ਵਰਤੋਂ ਅਧੀਨ ਹੈ, ਤੇ %s ਅਣਡਿੱਠਾ ਕਰਨ ਲਈ ਨਹੀਂ ਵਰਤੀ ਜਾ "
|
||||
"ਸਕਦੀ\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "GConf ਕੁੰਜੀ ਅਣਡਿੱਠੀ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ, %s ਨਹੀਂ ਲੱਭੀ\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
@@ -516,12 +532,12 @@ msgstr ""
|
||||
"ਖਰਾਬ ਐਪਲੀਕੇਸ਼ਨ ਲਈ ਜੁਗਾੜ ਬੰਦ ਕੀਤਾ ਹੈ। ਕੁਝ ਐਪਲੀਕੇਸ਼ਨ ਚੰਗੀ ਤਰਾਂ ਕੰਮ ਨਹੀਂ ਕਰ ਸਕਦੇ "
|
||||
"ਹਨ।\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr "ਜੀ-ਕਾਨਫ ਸਵਿੱਚ \"%s\" ਤੋਂ ਅੱਖਰ ਵੇਰਵਾ \"%s\" ਨੂੰ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਿਆ\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
@@ -529,17 +545,17 @@ msgid ""
|
||||
msgstr ""
|
||||
"ਸੰਰਚਨਾ ਡਾਟਾਬੇਸ ਵਿੱਚ ਲੱਭੀ ਹੋਈ \"%s\" ਮਾਊਸ ਬਟਨ ਸੋਧਕ ਲਈ ਯੋਗ ਕੀਮਤ ਨਹੀਂ ਹੈ\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "ਵਰਕਸਪੇਸਾਂ ਦੀ ਗਿਣਤੀ %d ਸੈੱਟ ਕਰਨ ਨਾਲ ਗਲਤੀ: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "ਵਰਕਸਪੇਸ %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
@@ -548,27 +564,27 @@ msgstr ""
|
||||
"ਸੰਰਚਨਾ ਡਾਟਾਬੇਸ ਵਿੱਚ ਲੱਭੀ ਹੋਈ \"%s\" ਸਵਿੱਚ-ਬਾਈਡਿੰਗ \"%s\" ਲਈ ਯੋਗ ਕੀਮਤ ਨਹੀਂ "
|
||||
"ਹੈ\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "ਵਰਕਸਪੇਸ %d ਦਾ ਨਾਂ \"%s\" ਸੈੱਟ ਕਰਨ ਵਿੱਚ ਗਲਤੀ:%s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr "ਲਾਈਵ ਲੁਕਵੀਂ ਵਿੰਡੋ ਹਾਲਤ ਸੈੱਟ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "ਕੋਈ ਟੈਬ ਪੋਪਅੱਪ ਨਹੀਂ ਹਾਲਤ ਸੈਟ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ: %s\n"
|
||||
|
||||
#: ../src/core/screen.c:623
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "ਸਕਰੀਨ %d ਲਈ ਡਿਸਪਲੇਅ '%s' ਅਯੋਗ ਹੈ\n"
|
||||
|
||||
#: ../src/core/screen.c:639
|
||||
#: ../src/core/screen.c:679
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -578,71 +594,71 @@ msgstr ""
|
||||
"--replace "
|
||||
"ਮੌਜੂਦਾ ਵਿੰਡੋ ਮੈਨੇਜਰ ਵਰਤੋਂ।\n"
|
||||
|
||||
#: ../src/core/screen.c:666
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
msgstr ""
|
||||
"%d ਸਕਰੀਨ ਉੱਤੇ ਡਿਸਪਲੇਅ \"%s\" ਉੱਤੇ ਵਿੰਡੋ ਮੈਨੇਜਰ ਚੋਣ ਉਪਲੱਬਧ ਨਹੀਂ ਹੋ ਸਕੀ\n"
|
||||
|
||||
#: ../src/core/screen.c:721
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "ਸਕਰੀਨ %d ਉੱਤੇ ਡਿਸਪਲੇਅ \"%s\" ਉੱਤੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਵਿੰਡੋ ਮੈਨੇਜਰ ਹੈ\n"
|
||||
|
||||
#: ../src/core/screen.c:906
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "ਸਕਰੀਨ %d ਉੱਤੇ ਡਿਸਪਲੇਅ \"%s\" ਰੀਲਿਜ਼ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "'%s' ਡਾਇਰੈਕਟਰੀ ਬਣਾਈ ਨਹੀਂ ਜਾ ਸਕੀ:%s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "ਲਿਖਣ ਲਈ ਸ਼ੈਸ਼ਨ ਫਾਇਲ '%s' ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ: %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "ਸ਼ੈਸ਼ਨ ਫਾਇਲ '%s' ਲਿਖਣ ਦੀ ਗਲਤੀ:%s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "ਸ਼ੈਸ਼ਨ ਫਾਇਲ '%s' ਖੋਲ੍ਹਣ ਦੀ ਗਲਤੀ: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "ਸੰਭਾਲੀ ਸ਼ੈਸ਼ਨ ਫਾਇਲ ਨੂੰ ਪਾਰਸ ਕਰਨ ਲਈ ਅਸਫਲ: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr "<mutter_session> ਗੁਣ ਦਿਖਿਆ, ਪਰ ਸਾਡੇ ਕੋਲ ਸ਼ੈਸ਼ਨ ID ਪਹਿਲਾਂ ਹੀ ਹੈ"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "<%2$s> ਐਲੀਮੈਂਟ ਉੱਤੇ ਅਣਜਾਣ %1$s ਗੁਣ"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "ਨੈਸਟਡ <window> ਟੈਗ"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "ਅਣਜਾਣ ਐਲੀਮੈਂਟ %s"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -688,13 +704,13 @@ msgid "Window manager error: "
|
||||
msgstr "ਵਿੰਡੋ ਮੈਨੇਜਰ ਗਲਤੀ: "
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/core/util.c:632 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "ਮੱਟਰ"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6752
|
||||
#: ../src/core/window.c:6959
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -710,7 +726,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7415
|
||||
#: ../src/core/window.c:7622
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
|
||||
@@ -730,11 +746,17 @@ msgstr "ਐਪਲੀਕੇਸ਼ਨ ਨੇ ਇੱਕ ਫਰਜ਼ੀ _NET_WM_PID
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (%s ਉੱਤੇ)"
|
||||
|
||||
#: ../src/core/window-props.c:1479
|
||||
#: ../src/core/window-props.c:1488
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "ਗਲਤ WM_TRANSIENT_FOR ਵਿੰਡੋ 0x%lx %s ਲਈ ਦਿੱਤਾ ਗਿਆ ਹੈ।\n"
|
||||
|
||||
#: ../src/core/window-props.c:1500
|
||||
#, c-format
|
||||
#| msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "WM_TRANSIENT_FOR ਵਿੰਡੋ 0x%lx %s ਲੂਪ ਬਣਾਏਗਾ।\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -784,14 +806,27 @@ msgstr ""
|
||||
"ਵਿੰਡੋ ਲਈ ਹੀ "
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "ਡਰੈਗ ਹੋਣ ਯੋਗ ਬਾਰਡਰ ਚੌੜਾਈ"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "ਲੁਕਵੀਆਂ ਵਿੰਡੋਜ਼ ਲਾਈਵ"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr "ਵਾਧੂ ਵਿੰਡੋ ਪਰਬੰਧ ਓਪਰੇਸ਼ਨਾਂ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਮੋਡੀਫਾਇਰ"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 ""
|
||||
"ਕੁੱਲ ਡਰੈਗ ਹੋਣ ਯੋਗ ਬਾਰਡਰ ਦੀ ਮਾਤਰਾ। ਜੇ ਥੀਮ ਦੇ ਦਿੱਖ ਬਾਰਡਰ ਲੋੜ ਮੁਤਾਬਕ ਨਾ ਹੋਣ ਤਾਂ "
|
||||
"ਅਦਿੱਖ "
|
||||
"ਬਾਰਡਰ ਨੂੰ ਇਹ ਮੁੱਲ ਦੇ ਬਰਾਬਰ ਕਰਨ ਲਈ ਵਧਾਇਆ ਜਾਵੇਗਾ।"
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -804,7 +839,7 @@ msgstr ""
|
||||
"ਜਾਂਦੀ ਹੈ ਕਿ "
|
||||
"ਜਾਂ ਤਾਂ ਡਿਫਾਲਟ ਬਾਈਡਿੰਗ ਰੱਖੀ ਜਾਵੇ ਜਾਂ ਖਾਲੀ ਲਾਈਨ ਵਰਤੀ ਜਾਵੇ।"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
msgid ""
|
||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
@@ -814,7 +849,7 @@ msgstr ""
|
||||
"ਟਾਈਟਲ ਬਾਰ ਨਾਲ "
|
||||
"ਜੁੜਿਆ ਉਭਰੇਗਾ ਤੇ ਮੁੱਢਲੀ ਵਿੰਡੋ ਨਾਲ ਹੀ ਹਿੱਲੇਗਾ।"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "ਵਰਕਸਪੇਸ ਕੇਵਲ ਪ੍ਰਾਇਮਰੀ ਉੱਤੇ ਹੀ"
|
||||
|
||||
@@ -823,47 +858,47 @@ msgstr "ਵਰਕਸਪੇਸ ਕੇਵਲ ਪ੍ਰਾਇਮਰੀ ਉੱਤੇ
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "ਵਰਤੋਂ: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1123
|
||||
msgid "Close Window"
|
||||
msgstr "ਵਿੰਡੋ ਬੰਦ ਕਰੋ"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1126
|
||||
msgid "Window Menu"
|
||||
msgstr "ਵਿੰਡੋ ਮੇਨੂ"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1129
|
||||
msgid "Minimize Window"
|
||||
msgstr "ਵਿੰਡੋ ਘੱਟੋ-ਘੱਟ"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1132
|
||||
msgid "Maximize Window"
|
||||
msgstr "ਵਿੰਡੋ ਵੱਧੋ-ਵੱਧ"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1135
|
||||
msgid "Restore Window"
|
||||
msgstr "ਵਿੰਡੋ ਮੁੜ-ਸਟੋਰ"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1138
|
||||
msgid "Roll Up Window"
|
||||
msgstr "ਵਿੰਡੋ ਸਮੇਟੋ"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1141
|
||||
msgid "Unroll Window"
|
||||
msgstr "ਵਿੰਡੋ ਫੈਲਾਓ"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1144
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "ਵਿੰਡੋ ਉੱਤੇ ਰੱਖੋ"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1147
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "ਵਿੰਡੋ ਉੱਤੇ ਤੋਂ ਹਟਾਓ"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1150
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "ਹਮੇਸ਼ਾ ਉਪਲੱਬਧ ਵਰਕਸਪੇਸ 'ਚ"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1153
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "ਵਿੰਡੋ ਨੂੰ ਸਿਰਫ਼ ਇੱਕ ਵਰਕਸਪੇਸ ਉੱਤੇ ਰੱਖੋ"
|
||||
|
||||
@@ -1066,48 +1101,82 @@ msgstr "ਮਾਡ੫"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "ਉੱਤੇ"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "ਹੇਠਾਂ"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "ਖੱਬਾ"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "ਸੱਜਾ"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "ਫਰੇਮ ਜੁਮੈਟਰੀ \"%s\" ਮਾਪ ਨਹੀਂ ਦਰਸਾਉਦੀ ਹੈ"
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr "ਫਰੇਮ ਜੁਮੈਟਰੀ \"%2$s\" ਹਾਸ਼ੀਏ ਲਈ \"%1$s\" ਮਾਪ ਨਹੀਂ ਦਰਸਾਉਦੀ ਹੈ"
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "ਤਲ ਆਕਾਰ ਅਨੁਪਾਤ %g ਢੁੱਕਵਾਂ ਨਹੀਂ ਹੈ"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "ਫਰੇਮ ਜੁਮੈਟਰੀ ਬਟਨਾਂ ਦਾ ਆਕਾਰ ਨਹੀਂ ਦਰਸਾਉਦੀ"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "ਢਾਲਵੇ ਲਈ ਘੱਟ ਤੋਂ ਘੱਟ ਦੋ ਰੰਗ ਚਾਹੀਦੇ ਹਨ"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1205
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "GTK color specification must have a close bracket after the state, e.g. "
|
||||
#| "gtk:fg[NORMAL] where NORMAL is the state; could not parse \"%s\""
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"ਹਾਲਤ ਤੋਂ ਬਾਅਦ GTK ਰੰਗ ਹਦਾਇਤ ਬਰੈਕਟਾਂ ਵਿੱਚ ਬੰਦ ਕਰਨੀ ਜ਼ਰੂਰੀ ਹੈ, ਉਦਾਹਰਨ ਵਜੋਂ "
|
||||
"gtk:custom "
|
||||
"(foo,bar); \"%s\" ਦੀ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਿਆ"
|
||||
|
||||
#: ../src/ui/theme.c:1221
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr ""
|
||||
"gtk:custom ਦੇ color_name ਪੈਰਾਮੀਟਰ ਵਿੱਚ ਗਲਤ ਅੱਖਰ '%c' ਹੈ, ਕੇਵਲ A-Za-z0-9-"
|
||||
"_ ਸ਼ਾਮਲ ਹੋ ਸਕਦੇ ਹਨ"
|
||||
|
||||
#: ../src/ui/theme.c:1235
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the "
|
||||
#| "format"
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr ""
|
||||
"Gtk:custom ਫਾਰਮੈਟ \"gtk:custom(color_name,fallback)\" ਹੈ, \"%s\" ਫਾਰਮੈਟ ਵਿੱਚ "
|
||||
"ਫਿੱਟ ਨਹੀਂ ਹੈ"
|
||||
|
||||
#: ../src/ui/theme.c:1271
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1117,7 +1186,7 @@ msgstr ""
|
||||
"ਜਿੱਥੇ ਸਾਧਾਰਨ "
|
||||
"ਇੱਕ ਹਾਲਤ ਹੈ; \"%s\" ਦੀ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਿਆ"
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1285
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1127,60 +1196,60 @@ msgstr ""
|
||||
"gtk:fg[ਸਾਧਾਰਨ] "
|
||||
"ਜਿੱਥੇ ਸਾਧਾਰਨ ਇੱਕ ਹਾਲਤ ਹੈ; \"%s\" ਦੀ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਿਆ"
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1296
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "ਰੰਗ ਹਦਾਇਤ ਵਿੱਚ \"%s\" ਹਾਲਤ ਨੂੰ ਨਹੀਂ ਸਮਝਿਆ"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1309
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "ਰੰਗ ਹਦਾਇਤ ਵਿੱਚ ਰੰਗ ਸੰਖੇਪ \"%s\" ਨੂੰ ਨਹੀਂ ਸਮਝਿਆ"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1339
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
"format"
|
||||
msgstr "ਧੁੰਦਲੀ ਬਣਤਰ \"ਧੁੰਦਲੀ/bg_ਰੰਗ/ਐਲਫਾ, \"%s\" ਬਣਤਰ ਵਿੱਚ ਠੀਕ ਨਹੀਂ ਆਂਉਦੀ"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1350
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "ਧੁੰਦਲੇ ਰੰਗ ਵਿੱਚ ਐਲਫਾ ਕੀਮਤ \"%s\" ਦੀ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਿਆ"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1360
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "ਧੁੰਦਲੇ ਰੰਗ ਵਿੱਚ ਐਲਫਾ ਕੀਮਤ \"%s\" 0.0 ਅਤੇ 1.0 ਵਿਚਕਾਰ ਨਹੀਂ ਹੈ"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1407
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
msgstr "ਰੰਗਤ ਬਣਤਰ \"ਰੰਗਤ/ਆਧਾਰ_ਰੰਗ/ਫੈਕਟਰ\" ਹੈ, \"%s\" ਬਣਤਰ ਵਿੱਚ ਠੀਕ ਨਹੀਂ ਆਉਦੀ"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1418
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "ਛਾਇਆ ਰੰਗ ਵਿੱਚ ਰੰਗਤ ਫੈਕਟਰ \"%s\" ਦੀ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਿਆ"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1428
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "ਛਾਇਆ ਰੰਗ ਵਿੱਚ ਰੰਗਤ ਫੈਕਟਰ \"%s\" ਨਾਂਹਵਾਚਕ ਹੈ"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1457
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "\"%s\" ਰੰਗ ਦੀ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਿਆ"
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1768
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "ਕਰੋਆਡੀਨੇਟ ਐਕਸ਼ਪਰੈਸ਼ਨ ਵਿੱਚ ਅੱਖਰ '%s' ਸ਼ਾਮਿਲ ਹੈ ਜਿਸ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1795
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
@@ -1189,13 +1258,13 @@ msgstr ""
|
||||
"ਕਰੋਆਡੀਨੇਟ ਐਕਸ਼ਪਰੈਸ਼ਨ ਵਿੱਚ ਦਸ਼ਮਲਵ ਅੰਕ '%s' ਸ਼ਾਮਿਲ ਹੈ ਜਿਸ ਦੀ ਪਾਰਸ ਨਹੀਂ ਕੀਤੀ ਜਾ "
|
||||
"ਸਕਦੀ"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1809
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr ""
|
||||
"ਕਰੋਆਡੀਨੇਟ ਐਕਸ਼ਪਰੈਸ਼ਨ ਵਿੱਚ ਪੂਰਨ ਅੰਕ '%s' ਸ਼ਾਮਿਲ ਹੈ ਜਿਸ ਦੀ ਪਾਰਸ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1931
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
@@ -1203,42 +1272,42 @@ msgid ""
|
||||
msgstr ""
|
||||
"ਕਰੋਆਡੀਨੇਟ ਐਕਸ਼ਪਰੈਸ਼ਨ ਵਿੱਚ ਇਸ ਪਾਠ \"%s\" ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ ਅਣਪਛਾਤਾ ਆਪ੍ਰੇਟਰ ਸ਼ਾਮਿਲ ਹੈ"
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:1988
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "ਕਰੋਆਡੀਨੇਟ ਐਕਸ਼ਪਰੈਸ਼ਨ ਖਾਲੀ ਸੀ ਜਾਂ ਸਮਝਿਆ ਨਹੀਂ"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2099 ../src/ui/theme.c:2109 ../src/ui/theme.c:2143
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "ਕਰੋਆਡੀਨੇਟ ਐਕਸ਼ਪਰੈਸ਼ਨ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਜੀਰੋ ਨਾਲ ਭਾਗ ਹੈ"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2151
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
msgstr ""
|
||||
"ਕਰੋਆਡੀਨੇਟ ਐਕਸ਼ਪਰੈਸ਼ਨ ਦਸ਼ਮਲਵ ਅੰਕ ਉੱਤੇ ਮਾਡ (mod) ਆਪ੍ਰੇਟਰ ਵਰਤਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2207
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr ""
|
||||
"ਕਰੋਆਡੀਨੇਟ ਐਕਸ਼ਪਰੈਸ਼ਨ ਵਿੱਚ ਆਪ੍ਰੇਟਰ \"%s\" ਹੈ ਜਿੱਥੇ ਪ੍ਰਭਾਵੀ ਅੰਕ ਦੀ ਉਮੀਦ ਸੀ"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2216
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "ਕਰੋਆਡੀਨੇਟ ਐਕਸ਼ਪਰੈਸ਼ਨ ਵਿੱਚ ਪ੍ਰਭਾਵੀ ਅੰਕ ਸੀ ਜਿੱਥੇ ਆਪ੍ਰੇਟਰ ਦੀ ਉਮੀਦ ਸੀ"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2224
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr ""
|
||||
"ਕਰੋਆਡੀਨੇਟ ਐਕਸ਼ਪਰੈਸ਼ਨ ਦੀ ਸਮਾਪਤੀ ਆਪ੍ਰੇਟਰ ਨਾਲ ਹੁੰਦੀ ਹੈ ਨਾ ਕਿ ਪ੍ਰਭਾਵੀ ਅੰਕ ਨਾਲ"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2234
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1248,39 +1317,39 @@ msgstr ""
|
||||
"ਬਾਅਦ ਆਪ੍ਰੇਟਰ \"%c"
|
||||
"\" ਹੈ "
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2385 ../src/ui/theme.c:2430
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr "ਕਰੋਆਡੀਨੇਟ ਐਕਸ਼ਪਰੈਸ਼ਨ ਵਿੱਚ ਅਣਪਛਾਤਾ ਅਸਥਿਰ ਜਾਂ ਸਥਿਰ \"%s\" ਸੀ"
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2484
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "ਕਰੋਆਡੀਨੇਟ ਐਕਸ਼ਪਰੈਸ਼ਨ ਪਾਰਸਰ ਦਾ ਬਫ਼ਰ ਓਵਰਫਲੋ ਹੋ ਗਿਆ ਹੈ।"
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2513
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr ""
|
||||
"ਕਰੋਆਡੀਨੇਟ ਐਕਸ਼ਪਰੈਸ਼ਨ ਵਿੱਚ ਕੋਈ ਖੁੱਲੀ ਬਰੈਕਟ ਨਾ ਹੋਣ ਕਰਕੇ ਬੰਦ ਬਰੈਕਟ(parenthesis) "
|
||||
"ਸੀ"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2577
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr "ਕਰੋਆਡੀਨੇਟ ਐਕਸ਼ਪਰੈਸ਼ਨ ਵਿੱਚ ਕੋਈ ਬੰਦ ਬਰੈਕਟ ਨਾ ਹੋਣ ਕਰਕੇ ਖੁੱਲੀ ਬਰੈਕਟ ਸੀ"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2588
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "ਕਰੋਆਡੀਨੇਟ ਐਕਸ਼ਪਰੈਸ਼ਨ ਵਿੱਚ ਕੋਈ ਵੀ ਆਪ੍ਰੇਟਰ ਜਾਂ ਪ੍ਰਭਾਵੀ ਅੰਕ ਨਹੀਂ ਦਿਸਦਾ"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2800 ../src/ui/theme.c:2820 ../src/ui/theme.c:2840
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "ਥੀਮ ਵਿੱਚ ਸਮੀਕਰਨ ਹੈ, ਜਿਸ ਦਾ ਨਤੀਜਾ ਹੈ ਗਲਤੀ: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4511
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1290,25 +1359,25 @@ msgstr ""
|
||||
"ਦੇਣਾ "
|
||||
"ਲਾਜ਼ਮੀ ਹੈ"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5044 ../src/ui/theme.c:5069
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr ""
|
||||
"<frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/> ਗੁੰਮ ਹੈ"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5117
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "ਥੀਮ \"%s\" ਲੋਡ ਕਰਨ ਲਈ ਅਸਫਲ: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5253 ../src/ui/theme.c:5260 ../src/ui/theme.c:5267
|
||||
#: ../src/ui/theme.c:5274 ../src/ui/theme.c:5281
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "ਥੀਮ \"%2$s\" ਲਈ <%1$s> ਨਹੀਂ ਸੈੱਟ ਕੀਤਾ"
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5289
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1318,13 +1387,13 @@ msgstr ""
|
||||
"window type="
|
||||
"\"%s\" style_set=\"whatever\"/> ਐਲੀਮੈਂਟ ਸ਼ਾਮਿਲ ਕਰੋ"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5728 ../src/ui/theme.c:5790 ../src/ui/theme.c:5853
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
msgstr "ਯੂਜ਼ਰ ਰਾਹੀਂ ਪਰਭਾਸ਼ਿਤ ਸਥਿਰ ਵੱਡੇ ਅੱਖਰ ਨਾਲ ਸ਼ੁਰੂ ਹੋਣ; \"%s\" ਨਹੀਂ ਹੁੰਦੇ"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5736 ../src/ui/theme.c:5798 ../src/ui/theme.c:5861
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "ਸਥਿਰ \"%s\" ਪਹਿਲਾਂ ਹੀ ਪਰਭਾਸ਼ਿਤ ਕੀਤਾ ਹੈ"
|
||||
@@ -1774,88 +1843,88 @@ msgstr "ਇਹ ਸੈਂਪਲ ਡਾਈਲਾਗ ਵਿੱਚ ਸੈਂਪਲ
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "ਨਕਲੀ ਮੇਨੂ ਆਈਟਮ %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "ਕੇਵਲ ਬਾਰਡਰ ਵਿੰਡੋ"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "ਬਾਰ"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "ਸਾਧਾਰਨ ਐਪਲੀਕੇਸ਼ਨ ਵਿੰਡੋ"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "ਡਾਈਲਾਗ ਡੱਬਾ"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "ਮਾਡਲ ਡਾਈਲਾਗ ਡੱਬਾ"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "ਸਹੂਲਤ ਪਲੇਅਟ"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "ਮੇਨੂ ਵੱਖ ਕਰੋ"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "ਬਾਰਡਰ"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "ਮਾਡਲ ਡਾਈਲਾਗ ਅਟੈਚ ਹੈ"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "ਬਟਨ ਲੇਆਉਟ ਟੈਸਟ %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "ਇੱਕ ਵਿੰਡੋ ਫਰੇਮ ਉਲੀਕਣ ਲਈ %g ਮਿਲੀ ਸਕਿੰਟ"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "ਵਰਤੋਂ: metacity-theme-viewer [THEMENAME]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "ਥੀਮ ਲੋਡ ਕਰਨ ਵਿੱਚ ਗਲਤੀ: %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "ਥੀਮ \"%s\" ਨੂੰ ਲੋਡ ਕਰਨ ਵਿੱਚ ਲੱਗਾ ਸਮਾਂ %g ਸਕਿੰਟਾਂ ਵਿੱਚ \n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "ਸਾਧਾਰਨ ਟਾਇਟਲ ਫੋਂਟ"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "ਛੋਟੇ ਟਾਇਟਲ ਫੋਂਟ"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "ਵੱਡੇ ਟਾਇਟਲ ਫੋਂਟ"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "ਬਟਨ ਲੇਆਉਟ"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "ਬੈਂਚਮਾਰਕ"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "ਵਿੰਡੋ ਟਾਇਟਲ ਇੱਥੇ ਹੋਵੇਗਾ"
|
||||
|
||||
|
||||
332
po/pl.po
332
po/pl.po
@@ -8,8 +8,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: mutter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-21 20:35+0100\n"
|
||||
"PO-Revision-Date: 2011-03-21 20:40+0100\n"
|
||||
"POT-Creation-Date: 2011-09-08 21:26+0200\n"
|
||||
"PO-Revision-Date: 2011-09-08 21:27+0200\n"
|
||||
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
|
||||
"Language-Team: Polish <gnomepl@aviary.pl>\n"
|
||||
"Language: pl\n"
|
||||
@@ -21,6 +21,16 @@ msgstr ""
|
||||
"X-Poedit-Language: Polish\n"
|
||||
"X-Poedit-Country: Poland\n"
|
||||
|
||||
#. 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:486
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
msgstr ""
|
||||
"Inny menedżer składania jest już uruchomiony na podekranie %i ekranu \"%s\"."
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "Przełączenie na 1. obszar roboczy"
|
||||
@@ -340,23 +350,26 @@ msgstr "Zdarzenie sygnału dźwiękowego"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "Żądanie nieznanej informacji okna: %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "Okno <tt>%s</tt> nie odpowiada."
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "Program nie odpowiada."
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
msgid ""
|
||||
"You may choose to wait a short while for it to continue or force the "
|
||||
"application to quit entirely."
|
||||
msgstr "Można poczekać chwilę dłużej lub wymusić zakończenie programu."
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "_Czekaj"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Zakończ"
|
||||
|
||||
@@ -383,7 +396,7 @@ msgstr ""
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -394,12 +407,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "Nie określono polecenia %d.\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "Nie określono polecenia terminala.\n"
|
||||
@@ -428,12 +441,12 @@ msgstr "Inicjuje sesję z zapisanego pliku"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "Synchroniczne wezwania X"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "Przejrzenie katalogu z motywami się nie powiodło: %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -476,34 +489,34 @@ msgstr "Lista wtyczek składania oddzielonych przecinkami"
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "Kluczowi GConf \"%s\" jest przypisana nieprawidłowa wartość\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr "Wartość %d zapisana w kluczu GConf %s jest poza zakresem %d - %d\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "Klucz GConf \"%s\" jest nieprawidłowego typu\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr "Klucz GConf %s jest już używany i nie może zastępować klucza %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "Nie można zastąpić klucza GConf, nie odnaleziono %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
@@ -511,13 +524,13 @@ msgstr ""
|
||||
"Obejścia dla błędnie działających programów są wyłączone. Niektóre z nich "
|
||||
"mogą się więc zachowywać w sposób nieprzewidywalny.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr ""
|
||||
"Nie można przetworzyć opisu czcionki \"%s\", powiązanego z kluczem GConf %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
@@ -526,17 +539,17 @@ msgstr ""
|
||||
"Wartość \"%s\", odnaleziona w bazie danych konfiguracji nie opisuje "
|
||||
"prawidłowo modyfikatora przycisku myszy\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "Błąd podczas ustawiania liczby obszarów roboczych na %d: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Obszar roboczy %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
@@ -545,27 +558,27 @@ msgstr ""
|
||||
"Wartość \"%s\", odnaleziona w bazie danych konfiguracji nie opisuje "
|
||||
"prawidłowo skrótu klawiszowego \"%s\"\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "Błąd podczas ustawianiu nazwy obszaru roboczego %d na \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr "Błąd podczas ustawiania stanu ukrytych aktywnych okien: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "Błąd podczas ustawiania stanu bez wyskakujących okien: %s\n"
|
||||
|
||||
#: ../src/core/screen.c:623
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "Podekran %d ekranu \"%s\" jest nieprawidłowy\n"
|
||||
|
||||
#: ../src/core/screen.c:639
|
||||
#: ../src/core/screen.c:679
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -574,7 +587,7 @@ msgstr ""
|
||||
"Na podekranie %d ekranu \"%s\" działa już menedżer okien. Aby zastąpić "
|
||||
"działającego menedżera okien, proszę spróbować użyć opcji --replace.\n"
|
||||
|
||||
#: ../src/core/screen.c:666
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
@@ -582,66 +595,66 @@ msgstr ""
|
||||
"Nie można uzyskać zaznaczenia menedżera okien na podekranie %d ekranu \"%s"
|
||||
"\"\n"
|
||||
|
||||
#: ../src/core/screen.c:721
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "Na podekranie %d ekranu \"%s\" działa już menedżer okien\n"
|
||||
|
||||
#: ../src/core/screen.c:906
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "Nie można zwolnić podekranu %d ekranu \"%s\"\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "Nie można utworzyć katalogu \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "Nie można otworzyć pliku sesji \"%s\" do zapisania: %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "Błąd podczas zapisywania pliku sesji \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "Błąd podczas zamykania pliku sesji \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "Przetworzenie zapisanego pliku sesji się nie powiodło: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr ""
|
||||
"Odnaleziono atrybut <mutter_session>, kiedy identyfikator sesji został już "
|
||||
"ustawiony"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "Nieznany atrybut %s elementu <%s>"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "zagnieżdżony znacznik <window>"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "Nieznany element %s"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -670,30 +683,24 @@ msgid "Mutter was compiled without support for verbose mode\n"
|
||||
msgstr ""
|
||||
"Program Mutter został skompilowany bez obsługi trybu z obszerną informacją\n"
|
||||
|
||||
#: ../src/core/util.c:286
|
||||
#: ../src/core/util.c:290
|
||||
msgid "Window manager: "
|
||||
msgstr "Menedżer okien: "
|
||||
|
||||
#: ../src/core/util.c:434
|
||||
#: ../src/core/util.c:438
|
||||
msgid "Bug in window manager: "
|
||||
msgstr "Błąd w programie menedżera okien: "
|
||||
|
||||
#: ../src/core/util.c:467
|
||||
#: ../src/core/util.c:471
|
||||
msgid "Window manager warning: "
|
||||
msgstr "Ostrzeżenie menedżera okien: "
|
||||
|
||||
#: ../src/core/util.c:495
|
||||
#: ../src/core/util.c:499
|
||||
msgid "Window manager error: "
|
||||
msgstr "Błąd menedżera okien: "
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6752
|
||||
#: ../src/core/window.c:7019
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -709,7 +716,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7415
|
||||
#: ../src/core/window.c:7682
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
@@ -729,12 +736,17 @@ msgstr "Program ustawił błędną wartość _NET_WM_PID %lu\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (na %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1479
|
||||
#: ../src/core/window-props.c:1481
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr ""
|
||||
"Nieprawidłowa wartość WM_TRANSIENT_FOR dla okna 0x%lx określona w %s.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1492
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "WM_TRANSIENT_FOR okna 0x%lx dla %s utworzyłoby pętlę.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -765,6 +777,10 @@ msgstr ""
|
||||
"Własność %s odnosząca się do okna 0x%lx zawiera nieprawidłową sekwencję "
|
||||
"UTF-8 w %d. elemencie listy\n"
|
||||
|
||||
#: ../src/mutter.desktop.in.h:1 ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:1
|
||||
msgid "Attach modal dialogs"
|
||||
msgstr "Dołączanie modalnych okien dialogowych"
|
||||
@@ -786,14 +802,27 @@ msgstr ""
|
||||
"okien na wszystkich monitorach, czy tylko dla okien na pierwszym monitorze."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "Szerokość krawędzi możliwej do przenoszenia"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "Aktywne ukryte okna"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr "Modyfikator używany do rozszerzonych działań menedżera okien"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 ""
|
||||
"Suma całkowitych krawędzi możliwych do przenoszenia. Jeśli widoczne "
|
||||
"krawędzie motywu nie są dostateczne, to zostaną dodane niewidoczne "
|
||||
"krawędzie, aby spełnić tę wartość."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -805,7 +834,7 @@ msgstr ""
|
||||
"z klawiszem \"Windows\" na sprzęcie typu PC. Ustawienie tego powiązania "
|
||||
"powinno być domyślne lub puste."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
msgid ""
|
||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
@@ -815,7 +844,7 @@ msgstr ""
|
||||
"paska tytułowego okna nadrzędnego zamiast posiadać oddzielne paski tytułowe "
|
||||
"i są przenoszone razem z nim."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Obszary robocze tylko na pierwszym"
|
||||
|
||||
@@ -824,47 +853,47 @@ msgstr "Obszary robocze tylko na pierwszym"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Użycie: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "Zamyka okno"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "Menu okna"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "Minimalizuje okno"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "Maksymalizuje okno"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "Przywrócenie okna"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Zwiń okno"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "Rozwiń okno"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Zatrzymaj okno na wierzchu"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Usuń okno z wierzchu"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Zawsze na widocznym obszarze roboczym"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Umieść okno tylko na jednym obszarze roboczym"
|
||||
|
||||
@@ -1067,49 +1096,76 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "góra"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "dół"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "lewa"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "prawa"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "Rozmiar ramki nie określa wymiaru \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr "Rozmiar ramki nie określa wymiaru \"%s\" dla krawędzi \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr ""
|
||||
"Współczynnik proporcji przycisku %g nie mieści się w rozsądnych granicach"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "Rozmiar ramki nie określa liczby przycisków"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "Gradienty powinny się składać co najmniej z dwóch kolorów"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1212
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"Własna specyfikacja koloru GTK+ musi posiadać nazwę koloru i kolor zastępczy "
|
||||
"w nawiasach, np. gtk:custom(foo,bar); nie można przetworzyć \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1228
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr ""
|
||||
"Nieprawidłowy znak \"%c\" w parametrze nazwa_koloru opcji gtk:custom, tylko "
|
||||
"znaki A-Za-z0-9-_ są prawidłowe"
|
||||
|
||||
#: ../src/ui/theme.c:1242
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr ""
|
||||
"Formatem Gtk:custom jest \"gtk:custom(nazwa_koloru,kolor_zastępczy)\", \"%s"
|
||||
"\" nie pasuje do formatu"
|
||||
|
||||
#: ../src/ui/theme.c:1287
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1118,7 +1174,7 @@ msgstr ""
|
||||
"Specyfikacja koloru GTK+ musi zawierać stan w nawiasach kwadratowych, np. "
|
||||
"gtk:fg[NORMAL], gdzie NORMAL jest nazwą stanu; nie można przetworzyć \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1301
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1128,17 +1184,17 @@ msgstr ""
|
||||
"kwadratowy, np. gtk:fg[NORMAL], gdzie NORMAL jest nazwą stanu; nie można "
|
||||
"przetworzyć \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1312
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "Niezrozumiały stan \"%s\" w specyfikacji koloru"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1325
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "Niezrozumiała definicja koloru \"%s\" w specyfikacji koloru"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1355
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
@@ -1147,19 +1203,19 @@ msgstr ""
|
||||
"Formatem przenikania jest \"blend/bg_color/fg_color/alpha\", \"%s\" nie "
|
||||
"pasuje do formatu"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1366
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "Nie można przetworzyć wartości alfa \"%s\" w przenikającym kolorze"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1376
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr ""
|
||||
"Wartość alfa \"%s\" w przenikającym kolorze nie zawiera się pomiędzy 0,0 i "
|
||||
"1,0"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1423
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
@@ -1167,29 +1223,29 @@ msgstr ""
|
||||
"Formatem przenikania jest \"shade/base_color/factor\", \"%s\" nie pasuje do "
|
||||
"formatu"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1434
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr ""
|
||||
"Nie można przetworzyć współczynnika przenikania \"%s\" w przenikającym "
|
||||
"kolorze"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1444
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "Współczynnik przenikania \"%s\" w przenikającym kolorze jest ujemny"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1473
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "Nie można przetworzyć koloru \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1784
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "Wyrażenie określające współrzędne zawiera niedozwolony znak \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1811
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
@@ -1198,14 +1254,14 @@ msgstr ""
|
||||
"Wyrażenie określające współrzędne zawiera liczbę zmiennoprzecinkową \"%s\", "
|
||||
"której nie można przetworzyć"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1825
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr ""
|
||||
"Wyrażenie określające współrzędne zawiera liczbę całkowitą \"%s\", której "
|
||||
"nie można przetworzyć"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1947
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
@@ -1214,18 +1270,18 @@ msgstr ""
|
||||
"Wyrażenie określające współrzędne zawiera nieznany operator na początku "
|
||||
"tekstu: \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:2004
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr ""
|
||||
"Wyrażenie określające współrzędne jest puste lub nie można go rozpoznać"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2115 ../src/ui/theme.c:2125 ../src/ui/theme.c:2159
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "Wyrażenie opisujące położenie zawiera dzielenie przez zero"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2167
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
@@ -1233,7 +1289,7 @@ msgstr ""
|
||||
"Wyrażenie opisujące położenie używa operatora dzielenia modulo z argumentem "
|
||||
"zmiennoprzecinkowym"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2223
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
@@ -1241,19 +1297,19 @@ msgstr ""
|
||||
"Wyrażenie opisujące położenie zawiera operand \"%s\" w miejscu, w którym "
|
||||
"oczekiwano argumentu"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2232
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr ""
|
||||
"Wyrażenie opisujące położenie zawiera operand w miejscu, w którym oczekiwano "
|
||||
"operatora"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2240
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "Wyrażenie opisujące położenie kończy się operatorem zamiast operandem"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2250
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1262,43 +1318,43 @@ msgstr ""
|
||||
"Wyrażenie opisujące położenie zawiera argument \"%c\" bezpośrednio po "
|
||||
"argumencie \"%c\" bez rozdzielającego ich operatora"
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2401 ../src/ui/theme.c:2446
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr ""
|
||||
"Wyrażenie opisujące położenie zawiera nieznaną zmienną lub stałą \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2500
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "Parser wyrażeń określających współrzędne przepełnił swój bufor."
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2529
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr ""
|
||||
"Wyrażenie opisujące położenie zawiera nawias zamykający bez odpowiadającego "
|
||||
"mu nawiasu otwierającego"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2593
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr ""
|
||||
"Wyrażenie opisujące położenie zawiera nawias otwierający bez odpowiadającego "
|
||||
"mu nawiasu zamykającego"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2604
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr ""
|
||||
"Wyrażenie opisujące położenie nie zawiera żadnych operatorów ani operandów"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2816 ../src/ui/theme.c:2836 ../src/ui/theme.c:2856
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "Motyw zawiera wyrażenie, przy którego obliczaniu wystąpił błąd: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4527
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1307,25 +1363,25 @@ msgstr ""
|
||||
"Przy tym stylu ramki należy podać <button function=\"%s\" state=\"%s\" "
|
||||
"draw_ops=\"cokolwiek\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5060 ../src/ui/theme.c:5085
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr ""
|
||||
"Brak <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"cokolwiek\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5133
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "Wczytanie motywu \"%s\" się nie powiodło: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5269 ../src/ui/theme.c:5276 ../src/ui/theme.c:5283
|
||||
#: ../src/ui/theme.c:5290 ../src/ui/theme.c:5297
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "Nie określono elementu <%s> dla motywu \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5305
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1334,7 +1390,7 @@ msgstr ""
|
||||
"Przy typie okna \"%s\" w motywie \"%s\" nie ustawiono stylu ramki. Należy "
|
||||
"dodać element <window type=\"%s\" style_set=\"cokolwiek\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5744 ../src/ui/theme.c:5806 ../src/ui/theme.c:5869
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
@@ -1342,7 +1398,7 @@ msgstr ""
|
||||
"Stałe definiowane przez użytkownika powinny rozpoczynać się wielką literą, "
|
||||
"natomiast \"%s\" nie spełnia tego warunku"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5752 ../src/ui/theme.c:5814 ../src/ui/theme.c:5877
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "Stała \"%s\" została już określona"
|
||||
@@ -1800,88 +1856,88 @@ msgstr "To jest przykładowy komunikat w prostym oknie dialogowym"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "Imitacja elementu menu %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "Okno zawierające tylko krawędzie"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "Pasek"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "Zwykłe okno programu"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "Okno dialogowe"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "Modalne okno dialogowe"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "Paleta narzędziowa"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "Menu rozwijane"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "Krawędź"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "Dołączone modalne okno dialogowe"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "Test układu przycisków %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "%g milisekundy do narysowania jednej ramki okna"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "Użycie: methacity-theme-viewer [NAZWA_MOTYWU]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "Błąd podczas wczytywania motywu: %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "Wczytano motyw \"%s\" w ciągu %g sekund\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "Zwykła czcionka tytułu"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "Mała czcionka tytułu"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "Duża czcionka tytułu"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "Układy przycisków"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "Test wydajności"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "Tutaj znajduje się tytuł okna"
|
||||
|
||||
|
||||
334
po/pt.po
334
po/pt.po
@@ -5,10 +5,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 3.0\n"
|
||||
"Project-Id-Version: 3.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-29 00:25+0100\n"
|
||||
"PO-Revision-Date: 2011-03-29 00:25+0000\n"
|
||||
"POT-Creation-Date: 2011-09-08 00:21+0100\n"
|
||||
"PO-Revision-Date: 2011-09-08 00:25+0000\n"
|
||||
"Last-Translator: Duarte Loreto <happyguy_pt@hotmail.com>\n"
|
||||
"Language-Team: Portuguese <gnome_pt@yahoogroups.com>\n"
|
||||
"Language: pt\n"
|
||||
@@ -16,6 +16,16 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. 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:486
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
msgstr ""
|
||||
"Já se encontra em execução outro gestor de janelas no ecrã %i do monitor \"%s\"."
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "Mover para a área de trabalho 1"
|
||||
@@ -340,13 +350,16 @@ msgstr "Evento de campainha"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "Pedido de informação de janela desconhecido: %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> não está a responder."
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "A aplicação não está a responder."
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
msgid ""
|
||||
"You may choose to wait a short while for it to continue or force the "
|
||||
"application to quit entirely."
|
||||
@@ -354,11 +367,11 @@ msgstr ""
|
||||
"Poderá aguardar uns instantes para que continue ou forçar a aplicação a "
|
||||
"terminar definitivamente."
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "_Aguardar"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Forçar Terminar"
|
||||
|
||||
@@ -384,7 +397,7 @@ msgstr ""
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -395,12 +408,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "Não foi definido nenhum comando %d.\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "Não foi definido nenhum comando de consola.\n"
|
||||
@@ -429,12 +442,12 @@ msgstr "Inicializar a sessão a partir de um ficheiro de gravação de sessão"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "Realizar as invocações X sincronamente"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "Falha ao analizar directório de temas: %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -477,36 +490,36 @@ msgstr "Lista separada por vírgulas de plugins de compositor"
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "Chave GConf '%s' está definida com um valor inválido\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr "%d armazenado na chave GConf %s está fora do intervalo de %d a %d\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "Chave GConf \"%s\" está definida para um tipo inválido\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr ""
|
||||
"A chave GConf %s já está a ser utilizada e não pode ser utilizada para "
|
||||
"sobrepor %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "Incapaz de sobrepor a chave GConf, %s não foi encontrada\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
@@ -514,12 +527,12 @@ msgstr ""
|
||||
"Recursos para aplicações problemáticas inactivos. Algumas aplicações poderão "
|
||||
"não funcionar correctamente.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr "Incapaz de processar descrição de fonte \"%s\" da chave GConf %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
@@ -528,17 +541,17 @@ msgstr ""
|
||||
"\"%s\" encontrado na base de dados de configuração não é um valor válido "
|
||||
"para o modificador de botão de rato\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "Erro ao definir número de ambientes de trabalho para %d: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Área de Trabalho %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
@@ -547,27 +560,27 @@ msgstr ""
|
||||
"\"%s\" encontrado na base de dados de configuração não é um valor válido "
|
||||
"para o atalho de teclado \"%s\"\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "Erro ao definir nome da área de trabalho %d para \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr "Erro ao definir o estado das janelas escondidas activas: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "Erro ao definir o estado de popup ao ciclar: %s\n"
|
||||
|
||||
#: ../src/core/screen.c:624
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "Ecrã %d no monitor '%s' é inválido\n"
|
||||
|
||||
#: ../src/core/screen.c:640
|
||||
#: ../src/core/screen.c:679
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -576,71 +589,71 @@ msgstr ""
|
||||
"Ecrã %d no monitor \"%s\" já tem um gestor de janelas; tente utilizar a "
|
||||
"opção --replace para substituir o gestor de janelas actual.\n"
|
||||
|
||||
#: ../src/core/screen.c:667
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
msgstr ""
|
||||
"Incapaz de obter selecção do gestor de janelas no ecrã %d monitor \"%s\"\n"
|
||||
|
||||
#: ../src/core/screen.c:722
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "Ecrã %d no monitor \"%s\" já tem um gestor de janelas\n"
|
||||
|
||||
#: ../src/core/screen.c:907
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "Incapaz libertar ecrã %d no monitor \"%s\"\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "Incapaz de criar directório '%s': %s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "Incapaz de abrir ficheiro de sessão '%s' para escrita: %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "Erro ao escrever ficheiro de sessão '%s': %s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "Erro ao fechar ficheiro de sessão '%s': %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "Falha ao processar ficheiro de sessão gravado: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr "Atributo <mutter_session> observado mas o ID de sessão já é conhecido"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "Atributo %s desconhecido no elemento <%s>"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "etiqueta de <window> encadeada"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "Elemento %s desconhecido"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -669,30 +682,24 @@ msgid "Mutter was compiled without support for verbose mode\n"
|
||||
msgstr ""
|
||||
"Mutter foi compilado sem suporte para modo de registo detalhado (verbose)\n"
|
||||
|
||||
#: ../src/core/util.c:286
|
||||
#: ../src/core/util.c:290
|
||||
msgid "Window manager: "
|
||||
msgstr "Gestor de janelas: "
|
||||
|
||||
#: ../src/core/util.c:434
|
||||
#: ../src/core/util.c:438
|
||||
msgid "Bug in window manager: "
|
||||
msgstr "Erro no gestor de janelas: "
|
||||
|
||||
#: ../src/core/util.c:467
|
||||
#: ../src/core/util.c:471
|
||||
msgid "Window manager warning: "
|
||||
msgstr "Aviso do gestor de janelas: "
|
||||
|
||||
#: ../src/core/util.c:495
|
||||
#: ../src/core/util.c:499
|
||||
msgid "Window manager error: "
|
||||
msgstr "Erro do gestor de janelas: "
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6847
|
||||
#: ../src/core/window.c:7019
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -708,7 +715,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7510
|
||||
#: ../src/core/window.c:7682
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
@@ -728,11 +735,16 @@ msgstr "Aplicação definiu um _NET_WM_PID %lu fictício\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (em %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1482
|
||||
#: ../src/core/window-props.c:1481
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "Janela 0x%lx de WM_TRANSIENT_FOR inválido especificada para %s.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1492
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "Janela 0x%lx de WM_TRANSIENT_FOR para %s iria criar um ciclo infinito.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -762,6 +774,10 @@ msgstr ""
|
||||
"Propriedade %s na janela 0x%lx continha UTF-8 inválido para item %d na "
|
||||
"lista\n"
|
||||
|
||||
#: ../src/mutter.desktop.in.h:1 ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:1
|
||||
msgid "Attach modal dialogs"
|
||||
msgstr "Anexar diálogos modais"
|
||||
@@ -783,14 +799,27 @@ msgstr ""
|
||||
"todos os monitores ou apenas para janelas no monitor principal."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "Largura da margem de arrasto"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "Janelas Escondidas Activas"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr "Modificador a utilizar para operações estendidas de gestão de janelas"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 ""
|
||||
"A quantidade de margem total arrastável. Se as margens visíveis do tema não "
|
||||
"forem suficientes, serão adicionadas margens invisíveis para atingir este "
|
||||
"valor."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -802,7 +831,7 @@ msgstr ""
|
||||
"Windows\" em computadores PC. Espera-se que esta associação esteja para a "
|
||||
"omissão ou uma expressão vazia."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
msgid ""
|
||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
@@ -812,7 +841,7 @@ msgstr ""
|
||||
"diálogos modais surgem anexados à barra de título da janela pai e são "
|
||||
"movidos juntamente com a janela pai."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Áreas de trabalho apenas para a principal"
|
||||
|
||||
@@ -821,47 +850,47 @@ msgstr "Áreas de trabalho apenas para a principal"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Utilização: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "Fechar Janela"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "Menu de Janela"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "Minimizar Janela"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "Maximizar Janela"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "Restaurar a Janela"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Enrolar a Janela"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "Desenrolar a Janela"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Manter a Janela no Topo"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Remover a Janela do Topo"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Sempre na Área de Trabalho Visível"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Colocar a Janela Apenas em Uma Área de Trabalho"
|
||||
|
||||
@@ -1064,48 +1093,75 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "superior"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "inferior"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "esquerda"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "direita"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "geometria de moldura não especifica dimensão \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr "geometria de moldura não especifica dimensão \"%s\" para margem \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "Rácio de aparência de botão %g não é um valor razoável"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "Geometria de moldura não especifica dimensão dos botões"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "Gradientes deverão ter pelo menos duas cores"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1212
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"Especificação de cor GTK tem de ter o nome da cor e o recurso entre "
|
||||
"parentesis, por ex. gtk:custom(foo,bar); incapaz de processar \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1228
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr ""
|
||||
"Caracter '%c' inválido no parâmetro color_name de gtk:custom, apenas são "
|
||||
"válidos os caracteres A-Za-z0-9-_"
|
||||
|
||||
#: ../src/ui/theme.c:1242
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr ""
|
||||
"Formato Gtk:custom é \"gtk:custom(color_name,fallback)\", \"%s\" não cumpre "
|
||||
"o formato"
|
||||
|
||||
#: ../src/ui/theme.c:1287
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1114,7 +1170,7 @@ msgstr ""
|
||||
"Especificação de cor GTK tem de ter o estado entre parentesis rectos, por "
|
||||
"ex. gtk:fg[NORMAL] em que NORMAL é o estado; incapaz de processar \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1301
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1124,18 +1180,18 @@ msgstr ""
|
||||
"estado, por ex. gtk:fg[NORMAL] em que NORMAL é o estado; incapaz de "
|
||||
"processar \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1312
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "Incapaz de compreender o estado \"%s\" na especificação de cor"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1325
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr ""
|
||||
"Incapaz de compreender componente de cor \"%s\" na especificação de cor"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1355
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
@@ -1144,45 +1200,45 @@ msgstr ""
|
||||
"Formato de mistura é \"blend/bg_color/fg_color/alpha\", \"%s\" não cumpre o "
|
||||
"formato"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1366
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "Incapaz de processar o valor alfa \"%s\" na mistura de cor"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1376
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "Valor alfa \"%s\" na mistura de cor não está entre 0.0 e 1.0"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1423
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
msgstr ""
|
||||
"Formato de sombra é \"shade/base_color/factor\", \"%s\" não cumpre o formato"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1434
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr ""
|
||||
"Incapaz de processar o valor de factor de sombra \"%s\" na cor sombreada"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1444
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "Factor de sombreado \"%s\" na cor sombreada é negativo"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1473
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "Incapaz de processar cor \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1784
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "Expressão de coordenada contém caracter '%s' que não é permitido"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1811
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
@@ -1191,14 +1247,14 @@ msgstr ""
|
||||
"Expressão de coordenada contém número decimal '%s' que não pode ser "
|
||||
"processado"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1825
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr ""
|
||||
"Expressão de coordenada contém número inteiro '%s' que não pode ser "
|
||||
"processado"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1947
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
@@ -1207,40 +1263,40 @@ msgstr ""
|
||||
"Expressão de coordenada contém operador desconhecido no início deste texto: "
|
||||
"\"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:2004
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "Expressão de coordenada está vazia ou não foi compreendida"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2115 ../src/ui/theme.c:2125 ../src/ui/theme.c:2159
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "Expressão de coordenada resulta em divisão por zero"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2167
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
msgstr "Expressão de coordenada tenta utilizar operador mod num número decimal"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2223
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr ""
|
||||
"Expressão de coordenada tem um operador \"%s\" onde era esperado um operando"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2232
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "Expressão de coordenada tem um operando onde era esperado um operador"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2240
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "Expressão de coordenada terminou com um operador em vez de um operando"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2250
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1249,40 +1305,40 @@ msgstr ""
|
||||
"Expressão de coordenada tem o operador \"%c\" seguido do operador \"%c\" sem "
|
||||
"um operando entre os dois"
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2401 ../src/ui/theme.c:2446
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr ""
|
||||
"Expressão de coordenada tem uma variável ou constante \"%s\" desconhecida"
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2500
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "O processador de expressão de coordenada transbordou o seu buffer."
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2529
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr ""
|
||||
"Expressão de coordenada tem um fecho de parentesis sem a respectiva abertura"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2593
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr ""
|
||||
"Expressão de coordenada tem uma abertura de parentesis sem o respectivo fecho"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2604
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "Expressão de coordenada não aparenta ter operadores nem operandos"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2816 ../src/ui/theme.c:2836 ../src/ui/theme.c:2856
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "O tema continha uma expressão que resultou num erro: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4527
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1291,7 +1347,7 @@ msgstr ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"qualquercoisa\"/> tem de ser "
|
||||
"especificado para este estilo de moldura"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5060 ../src/ui/theme.c:5085
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
@@ -1299,18 +1355,18 @@ msgstr ""
|
||||
"Falta <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"qualquercoisa\"/"
|
||||
">"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5133
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "Falha ao ler tema \"%s\": %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5269 ../src/ui/theme.c:5276 ../src/ui/theme.c:5283
|
||||
#: ../src/ui/theme.c:5290 ../src/ui/theme.c:5297
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "Nenhum <%s> definido para o tema \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5305
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1319,7 +1375,7 @@ msgstr ""
|
||||
"Nenhum estilo de moldura definido para tipo de janela \"%s\" no tema \"%s\", "
|
||||
"adicione um elemento <window type=\"%s\" style_set=\"qualquer\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5744 ../src/ui/theme.c:5806 ../src/ui/theme.c:5869
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
@@ -1327,7 +1383,7 @@ msgstr ""
|
||||
"Constante definida pelo utilizador tem de começar com uma maiúscula; \"%s\" "
|
||||
"não começa"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5752 ../src/ui/theme.c:5814 ../src/ui/theme.c:5877
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "Constante \"%s\" já foi definida"
|
||||
@@ -1785,88 +1841,88 @@ msgstr "Esta é uma mensagem de exemplo num diálogo de exemplo"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "Item de menu %d falso\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "Janela apenas com margem"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "Barra"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "Janela Normal de Aplicação"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "Janela de Diálogo"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "Janela de Diálogo Modal"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "Paleta de Utilitários"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "Menu Destacável"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "Margem"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "Diálogo Modal Anexado"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "Teste %d de disposição de botão"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "%g milisegundos para desenhar uma moldura de janela"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "Utilização: metacity-theme-viewer [NOMETEMA]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "Erro ao ler tema: %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "Tema \"%s\" lido em %g segundos\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "Fonte Normal de Título"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "Fonte Pequena de Título"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "Fonte Grande de Título"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "Disposição de Botões"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "Análise de Desempenho"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "Título da Janela Fica Aqui"
|
||||
|
||||
|
||||
339
po/pt_BR.po
339
po/pt_BR.po
@@ -8,26 +8,40 @@
|
||||
# Raul Pereira <contato@raulpereira.com>, 2007.
|
||||
# Og Maciel <ogmaciel@gnome.org>, 2007-2008.
|
||||
# Rodrigo Flores <rodrigomarquesflores@gmail.com>, 2007.
|
||||
# Djavan Fagundes <dnoway@gmail.com>, 2008, 2009.
|
||||
# Djavan Fagundes <djavanf@gnome.org>, 2008, 2009, 2011.
|
||||
# Vladimir Melo <vmelo@gnome.org>, 2009.
|
||||
# Antonio Fernandes C. Neto <fernandes@pelivre.org>, 2010.
|
||||
# Rodrigo Padula de Oliveira <contato@rodrigopadula.com>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: metacity\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-04-01 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-03-31 20:34-0300\n"
|
||||
"Last-Translator: Rodrigo Padula de Oliveira <contato@rodrigopadula.com>\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mutter"
|
||||
"&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-08-10 12:42+0000\n"
|
||||
"PO-Revision-Date: 2011-09-20 18:35-0200\n"
|
||||
"Last-Translator: Djavan Fagundes <djavanf@gnome.org>\n"
|
||||
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
|
||||
"Language: pt_BR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Virtaal 0.6.1\n"
|
||||
"X-Poedit-Language: Portuguese\n"
|
||||
"X-Poedit-Country: BRAZIL\n"
|
||||
|
||||
#. 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:487
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
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"
|
||||
"\"."
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "Trocar para o espaço de trabalho 1"
|
||||
@@ -352,13 +366,17 @@ msgstr "Evento de som"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "Informação solicitada de janela desconhecida: %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> não está respondendo."
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
#| msgid "<tt>%s</tt> is not responding."
|
||||
msgid "Application is not responding."
|
||||
msgstr "O aplicativo não está respondendo."
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
msgid ""
|
||||
"You may choose to wait a short while for it to continue or force the "
|
||||
"application to quit entirely."
|
||||
@@ -366,11 +384,11 @@ msgstr ""
|
||||
"Você pode escolher aguardar um pouco e continuar ou forçar o aplicativo a "
|
||||
"sair completamente."
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "_Esperar"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Forçar sair"
|
||||
|
||||
@@ -396,7 +414,7 @@ msgstr ""
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -407,12 +425,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "Nenhum comando %d foi definido.\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "Nenhum comando de terminal foi definido.\n"
|
||||
@@ -441,12 +459,12 @@ msgstr "Inicializar a sessão a partir do arquivo salvo"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "Fazer X chamadas síncronas"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "Falha ao varrer a pasta de temas: %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -489,35 +507,35 @@ msgstr "Lista de plugins de composição separados por vírgula"
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "A chave GConf \"%s\" está definida com um valor inválido\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr "%d armazenado na chave GConf %s está fora do intervalo de %d a %d\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "A chave GConf \"%s\" está definida como um tipo inválido\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr ""
|
||||
"Chave %s do GConf já está em uso e não pode ser usada para sobrescrever %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "Não é possível sobrescrever a chave do GConf, %s não encontrada\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
@@ -525,14 +543,14 @@ msgstr ""
|
||||
"As alternativas para aplicativos quebrados estão desabilitadas. É possível "
|
||||
"que alguns aplicativos não funcionem de maneira adequada.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr ""
|
||||
"Não foi possível analisar a descrição da fonte \"%s\" a partir da chave "
|
||||
"GConf %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
@@ -541,17 +559,17 @@ msgstr ""
|
||||
"\"%s\" localizado no banco de dados de configurações não é um valor válido "
|
||||
"para o modificador de botão do mouse\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "Erro ao definir o número de espaços de trabalho como %d: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Espaço de trabalho %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
@@ -560,28 +578,28 @@ msgstr ""
|
||||
"\"%s\" localizado no banco de dados de configurações não é um valor válido "
|
||||
"para a tecla de atalho \"%s\"\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr ""
|
||||
"Erro ao definir o nome para o espaço de trabalho %d para \"%s\": \"%s\"\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr "Erro ao definir o status das janelas ocultas ativas: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "Erro ao definir nenhuma janela de notificação de status: %s\n"
|
||||
|
||||
#: ../src/core/screen.c:624
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "A tela %d na exibição \"%s\" é inválida\n"
|
||||
|
||||
#: ../src/core/screen.c:640
|
||||
#: ../src/core/screen.c:679
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -590,7 +608,7 @@ msgstr ""
|
||||
"A tela %d na exibição \"%s\" já possui um gerenciador de janelas; tente usar "
|
||||
"a opção --replace para substituir o gerenciador de janelas atual.\n"
|
||||
|
||||
#: ../src/core/screen.c:667
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
@@ -598,64 +616,64 @@ msgstr ""
|
||||
"Não foi possível obter a seleção do gerenciador de janelas na exibição \"%2$s"
|
||||
"\" da tela %1$d\n"
|
||||
|
||||
#: ../src/core/screen.c:722
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "A tela %d na exibição \"%s\" já possui um gerenciador de janelas\n"
|
||||
|
||||
#: ../src/core/screen.c:907
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "Não foi possível liberar a tela %d na exibição \"%s\"\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "Não foi possível criar o diretório \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "Não foi possível abrir o arquivo de sessão \"%s\" para gravação: %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "Erro ao gravar o arquivo de sessão\"%s\": %s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "Erro ao fechar o arquivo de sessão \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "Falha ao analisar o arquivo de sessão salvo: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr "O atributo <mutter_session> foi visto, mas já temos o ID da sessão"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "Atributo %s desconhecido no elemento <%s>"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "marca de <window> aninhada"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "Elemento %s desconhecido"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -701,13 +719,13 @@ msgid "Window manager error: "
|
||||
msgstr "Erro do gerenciador de janelas: "
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/core/util.c:632 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6847
|
||||
#: ../src/core/window.c:6959
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -723,7 +741,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7510
|
||||
#: ../src/core/window.c:7622
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
|
||||
@@ -743,11 +761,17 @@ msgstr "O aplicativo definiu um _NET_WM_PID %lu inválido\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (em %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1482
|
||||
#: ../src/core/window-props.c:1488
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "Janela WM_TRANSIENT_FOR inválida 0x%lx especificada para %s.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1500
|
||||
#, c-format
|
||||
#| msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "Janela WM_TRANSIENT_FOR 0x%lx especificada para %s iriar criar loop.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -798,15 +822,28 @@ msgstr ""
|
||||
"os monitores ou apenas para janelas no monitor principal."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "Largura da borda arrastável"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "Janelas ocultas ativas"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr ""
|
||||
"Modificador a ser usado para operações de gerenciamento de janelas extendido."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 ""
|
||||
"A quantidade do total de bordas arrastáveis. Se as bordas dos temas visíveis "
|
||||
"não são suficientes, as bordas invisíveis serão adicionadas para encontrar "
|
||||
"este valor."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -818,7 +855,7 @@ msgstr ""
|
||||
"\"tecla Windows\" no hardware do computador. É esperada para esta associação "
|
||||
"tanto o padrão quanto a definição de uma string vazia. "
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
msgid ""
|
||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
@@ -828,7 +865,7 @@ msgstr ""
|
||||
"diálogos modais surgem anexados à barra de título da janela pai e são "
|
||||
"movidos juntamente com a janela pai."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Áreas de trabalho apenas para a principal"
|
||||
|
||||
@@ -837,47 +874,47 @@ msgstr "Áreas de trabalho apenas para a principal"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Uso: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1123
|
||||
msgid "Close Window"
|
||||
msgstr "Fechar janela"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1126
|
||||
msgid "Window Menu"
|
||||
msgstr "Menu de janela"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1129
|
||||
msgid "Minimize Window"
|
||||
msgstr "Minimizar janela"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1132
|
||||
msgid "Maximize Window"
|
||||
msgstr "Maximizar janela"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1135
|
||||
msgid "Restore Window"
|
||||
msgstr "Restaurar janela"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1138
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Enrolar janela"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1141
|
||||
msgid "Unroll Window"
|
||||
msgstr "Desenrolar janela"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1144
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Manter no topo"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1147
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Remover do topo"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1150
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Sempre no espaço de trabalho visível"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1153
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Colocar em apenas um espaço de trabalho"
|
||||
|
||||
@@ -1080,48 +1117,82 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "superior"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "inferior"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "esquerda"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "direita"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "a geometria do quadro não especifica a dimensão \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr "a geometria do quadro não especifica a dimensão \"%s\" da borda \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "A taxa de proporção %g do botão não é razoável"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "A geometria do quadro não especifica o tamanho dos botões"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "Os gradientes devem ter pelo menos duas cores"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1205
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "GTK color specification must have a close bracket after the state, e.g. "
|
||||
#| "gtk:fg[NORMAL] where NORMAL is the state; could not parse \"%s\""
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"A especificação de cor personalizada do GTK deve ter um nome de cor e "
|
||||
"fallback em parênteses, por exemplo, gtk:custom[foo,bar]; não foi possível "
|
||||
"analisar \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1221
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr ""
|
||||
"Caractere inválido \"%c\" no parâmetro color_name do gtk:custom, somente "
|
||||
"A-Za-z0-9-_ são válidos"
|
||||
|
||||
#: ../src/ui/theme.c:1235
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the "
|
||||
#| "format"
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr ""
|
||||
"Formato gtk:custom é \"gtk:custom(color_name,fallback)\", \"%s\" não é adequado "
|
||||
"ao formato"
|
||||
|
||||
#: ../src/ui/theme.c:1271
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1131,7 +1202,7 @@ msgstr ""
|
||||
"exemplo, gtk:fg[NORMAL], onde NORMAL é o estado; não foi possível analisar "
|
||||
"\"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1285
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1141,18 +1212,18 @@ msgstr ""
|
||||
"GTK, por exemplo, gtk:fg[NORMAL], onde NORMAL é o estado; não foi possível "
|
||||
"analisar \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1296
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "O estado \"%s\" não foi compreendido na especificação de cor"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1309
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr ""
|
||||
"O componente de cor \"%s\" não foi compreendido na especificação de cor"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1339
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
@@ -1161,17 +1232,17 @@ msgstr ""
|
||||
"O formato de mistura é \"blend/bg_color/fg_color/alpha\"; \"%s\" não é "
|
||||
"adequado ao formato"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1350
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "Não foi possível analisar o valor de alfa \"%s\" na cor misturada"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1360
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "O valor de alfa \"%s\" na cor misturada não está entre 0,0 e 1,0"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1407
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
@@ -1179,27 +1250,27 @@ msgstr ""
|
||||
"O formato de sombra é \"shade/base_color/factor\", \"%s\" não é adequado ao "
|
||||
"formato"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1418
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "Não foi possível analisar o fator de sombra \"%s\" na cor sombreada"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1428
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "O fator de sombra \"%s\" na cor sombreada é negativo"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1457
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "Não foi possível analisar a cor \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1768
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "A expressão coordenada contém o caractere \"%s\" que não é permitido"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1795
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
@@ -1208,13 +1279,13 @@ msgstr ""
|
||||
"A expressão coordenada contém o número de ponto flutuante \"%s\" que não "
|
||||
"pôde ser analisado"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1809
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr ""
|
||||
"A expressão coordenada contém o inteiro \"%s\" que não pôde ser analisado"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1931
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
@@ -1223,17 +1294,17 @@ msgstr ""
|
||||
"A expressão coordenada continha um operador desconhecido no início deste "
|
||||
"texto: \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:1988
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "A expressão coordenada estava vazia ou não foi compreendida"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2099 ../src/ui/theme.c:2109 ../src/ui/theme.c:2143
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "A expressão coordenada resulta na divisão por zero"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2151
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
@@ -1241,25 +1312,25 @@ msgstr ""
|
||||
"A expressão coordenada tenta usar o operador mod em um número de ponto "
|
||||
"flutuante"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2207
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr ""
|
||||
"A expressão coordenada tem o operador \"%s\" onde era esperado um operando"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2216
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "A expressão coordenada tinha um operando onde era esperado um operador"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2224
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr ""
|
||||
"A expressão coordenada terminou com um operador, em vez de com um operando"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2234
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1268,43 +1339,43 @@ msgstr ""
|
||||
"A expressão coordenada tem o operador \"%c\" após o operador \"%c\" sem "
|
||||
"nenhum operando entre eles"
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2385 ../src/ui/theme.c:2430
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr ""
|
||||
"A expressão coordenada tinha uma variável ou uma constante desconhecida \"%s"
|
||||
"\""
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2484
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "O analisador de expressão coordenada estourou o buffer."
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2513
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr ""
|
||||
"A expressão coordenada tinha um parêntese de fechamento sem um parêntese de "
|
||||
"abertura"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2577
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr ""
|
||||
"A expressão coordenada tinha um parêntese de abertura sem um parêntese de "
|
||||
"fechamento"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2588
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "Aparentemente não há operadores nem operandos na expressão coordenada"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2800 ../src/ui/theme.c:2820 ../src/ui/theme.c:2840
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "O tema continha uma expressão que resultou em um erro: %s \n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4511
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1313,25 +1384,25 @@ msgstr ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> deve ser "
|
||||
"especificado para este estilo de quadro"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5044 ../src/ui/theme.c:5069
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr ""
|
||||
"<frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/> ausente"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5117
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "Falha ao carregar o tema \"%s\": %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5253 ../src/ui/theme.c:5260 ../src/ui/theme.c:5267
|
||||
#: ../src/ui/theme.c:5274 ../src/ui/theme.c:5281
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "Nenhum <%s> definido para o tema \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5289
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1340,7 +1411,7 @@ msgstr ""
|
||||
"Nenhum estilo de quadro definido para o tipo de janela \"%s\" no tema \"%s"
|
||||
"\", adicione um elemento <window type=\"%s\" style_set=\"whatever\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5728 ../src/ui/theme.c:5790 ../src/ui/theme.c:5853
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
@@ -1348,7 +1419,7 @@ msgstr ""
|
||||
"As constantes definidas pelo usuário devem iniciar com letra maiúscula; \"%s"
|
||||
"\" não inicia"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5736 ../src/ui/theme.c:5798 ../src/ui/theme.c:5861
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "A constante \"%s\" já foi definida"
|
||||
@@ -1806,88 +1877,88 @@ msgstr "Esta é uma mensagem de exemplo em um diálogo de exemplo"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "Item falso de menu %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "Janela com bordas somente"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "Barra"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "Janela normal de aplicativos"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "Caixa de diálogo"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "Caixa de diálogo modal"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "Paleta utilitária"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "Menu destacável"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "Borda"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "Diálogo modal anexado"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "Teste de disposição dos botões %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "%g milissegundos para desenhar um quadro de janela"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "Uso: metacity-theme-viewer [NOMEDOTEMA]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "Erro ao carregar tema: %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "Tema \"%s\" carregado em %g segundos\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "Fonte de título normal"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "Fonte de título pequeno"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "Fonte de título grande"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "Disposições de botões"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "Benchmark"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "O título da janela vem aqui"
|
||||
|
||||
|
||||
379
po/sl.po
379
po/sl.po
@@ -10,8 +10,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: mutter master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-03-22 10:13+0000\n"
|
||||
"PO-Revision-Date: 2011-03-22 21:47+0100\n"
|
||||
"POT-Creation-Date: 2011-09-06 16:52+0000\n"
|
||||
"PO-Revision-Date: 2011-09-07 20:10+0100\n"
|
||||
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
|
||||
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
|
||||
"Language: \n"
|
||||
@@ -23,6 +23,13 @@ msgstr ""
|
||||
"X-Poedit-Country: SLOVENIA\n"
|
||||
"X-Poedit-SourceCharset: utf-8\n"
|
||||
|
||||
#. 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:486
|
||||
#, c-format
|
||||
msgid "Another compositing manager is already running on screen %i on display \"%s\"."
|
||||
msgstr "Drug upravljalnik sestavljanja je že zagnan na zaslonu %i prikaza \"%s\"."
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "Preklopi na delovno površino 1"
|
||||
@@ -345,21 +352,24 @@ msgstr "Dogodek zvonjenja"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "Zahteva izpisa podrobnosti neznanega okna: %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> se ne odziva."
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "Program se ne odziva."
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
msgid "You may choose to wait a short while for it to continue or force the application to quit entirely."
|
||||
msgstr "Lahko še malo počakate, če program morda spet začne delovati, ali pa vsilite končanje delovanja."
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "_Počakaj"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Vsili konec"
|
||||
|
||||
@@ -382,7 +392,7 @@ msgstr "Tipko %s s spremenilnikom %x uporablja že nek drug program\n"
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -393,12 +403,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "Ukaz %d ni bil naveden.\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "Ni navedenih ukazov terminala.\n"
|
||||
@@ -427,12 +437,12 @@ msgstr "Začni sejo iz shranjene datoteke"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "Uskladi klice X"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "Ni mogoče preiskati mape tem: %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid "Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
msgstr "Ni mogoče najti teme! Prepričajte se, da %s obstaja in vsebuje običajni zapis teme.\n"
|
||||
@@ -469,166 +479,166 @@ msgstr "Z vejico ločen seznam vstavkov sestavljanja"
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543
|
||||
#: ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550
|
||||
#: ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "Ključ GConf '%s' je nastavljen na neveljavno vrednost\n"
|
||||
|
||||
#: ../src/core/prefs.c:630
|
||||
#: ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637
|
||||
#: ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr "%d shranjen v GConf ključu %s je izven meja med %d in %d\n"
|
||||
|
||||
# G:1 K:0 O:0
|
||||
#: ../src/core/prefs.c:674
|
||||
#: ../src/core/prefs.c:751
|
||||
#: ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863
|
||||
#: ../src/core/prefs.c:1324
|
||||
#: ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357
|
||||
#: ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681
|
||||
#: ../src/core/prefs.c:758
|
||||
#: ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870
|
||||
#: ../src/core/prefs.c:1331
|
||||
#: ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364
|
||||
#: ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "Ključ GConf \"%s\" je nastavljen na neveljavno vrsto\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr "Ključ GConf %s je že v uporabi in ga ni mogoče uporabiti za prepis %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "Ni mogoče prepisati ključa GConf, saj %s ni mogoče najti.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid "Workarounds for broken applications disabled. Some applications may not behave properly.\n"
|
||||
msgstr "Obhodi za pokvarjene programe so onemogočeni. Nekateri programi se morda ne bodo odzivali na pričakovan način.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr "Ni mogoče razčleniti opisa \"%s\" iz ključa GConf %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid "\"%s\" found in configuration database is not a valid value for mouse button modifier\n"
|
||||
msgstr "\"%s\", najden v podatkovni zbirki nastavitev, ni veljaven spremenilnik za miškine gumbe.\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "Napaka med nastavljanjem števila delovnih površin na %d: %s\n"
|
||||
|
||||
# G:1 K:0 O:0
|
||||
#: ../src/core/prefs.c:2200
|
||||
#: ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212
|
||||
#: ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Delovna površina %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232
|
||||
#: ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244
|
||||
#: ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid "\"%s\" found in configuration database is not a valid value for keybinding \"%s\"\n"
|
||||
msgstr "\"%s\", najden v podatkovni zbirki nastavitev, ni veljaven ključ za tipkovno bližnjico \"%s\"\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "Napaka med nastavljanjem imena delovne površine %d na \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr "Napaka med nastavljanjem stanja skritih oken: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "Napaka med nastavljanjem stanja pojavnih oken: %s\n"
|
||||
|
||||
#: ../src/core/screen.c:623
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "Zaslon %d na prikazu '%s' ni veljaven\n"
|
||||
|
||||
#: ../src/core/screen.c:639
|
||||
#: ../src/core/screen.c:679
|
||||
#, 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"
|
||||
msgstr "Zaslon %d na prikazu \"%s\" je že upravljan z upravljalnikom oken; poskušajte uporabiti možnost --replace za zamenjavo trenutnega.\n"
|
||||
|
||||
#: ../src/core/screen.c:666
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid "Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
msgstr "Ni mogoče dobiti izbire upravljalnika oken na zaslonu %d prikaza \"%s\"\n"
|
||||
|
||||
#: ../src/core/screen.c:721
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "Zaslon %d na prikazu \"%s\" je že upravljan z upravljalnikom oken\n"
|
||||
|
||||
#: ../src/core/screen.c:906
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "Ni mogoče opustiti zaslona %d na prikazu \"%s\"\n"
|
||||
|
||||
#: ../src/core/session.c:837
|
||||
#: ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843
|
||||
#: ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "Ni mogoče ustvariti imenika '%s': %s\n"
|
||||
|
||||
# G:2 K:0 O:0
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "Ni mogoče odpreti datoteke seje '%s' za pisanje: %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "Napaka med zapisovanjem datoteke seje '%s': %s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "Napaka med zapiranjem datoteke seje '%s': %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "Ni mogoče razčleniti datoteke shranjene seje: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr "atribut <mutter_session> je zaznan, vendar pa ima sistem že določen ID seje"
|
||||
|
||||
#: ../src/core/session.c:1192
|
||||
#: ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299
|
||||
#: ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198
|
||||
#: ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305
|
||||
#: ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "Neznan atribut %s predmeta <%s>"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "gnezdena označba <window>"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "Neznan predmet %s"
|
||||
|
||||
# G:2 K:6 O:0
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid "These windows do not support "save current setup" and will have to be restarted manually next time you log in."
|
||||
msgstr "Ta okna ne podpirajo možnosti "shranjevanja trenutnih nastavitev", zato jih bo treba ob naslednji prijavi zagnati ročno."
|
||||
|
||||
@@ -653,32 +663,25 @@ msgstr "Odprta dnevniška datoteka %s\n"
|
||||
msgid "Mutter was compiled without support for verbose mode\n"
|
||||
msgstr "Program Mutter je kodno preveden brez podpore za podrobni način izpisovanja\n"
|
||||
|
||||
#: ../src/core/util.c:286
|
||||
#: ../src/core/util.c:290
|
||||
msgid "Window manager: "
|
||||
msgstr "Upravljalnik oken: "
|
||||
|
||||
# G:4 K:0 O:0
|
||||
#: ../src/core/util.c:434
|
||||
#: ../src/core/util.c:438
|
||||
msgid "Bug in window manager: "
|
||||
msgstr "Hrošč v upravljalniku oken: "
|
||||
|
||||
#: ../src/core/util.c:467
|
||||
#: ../src/core/util.c:471
|
||||
msgid "Window manager warning: "
|
||||
msgstr "Opozorilo upravljalnika oken: "
|
||||
|
||||
#: ../src/core/util.c:495
|
||||
#: ../src/core/util.c:499
|
||||
msgid "Window manager error: "
|
||||
msgstr "Napaka upravljalnika oken: "
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615
|
||||
#: ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6795
|
||||
#: ../src/core/window.c:7019
|
||||
#, c-format
|
||||
msgid "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER window as specified in the ICCCM.\n"
|
||||
msgstr "Okno %s nastavi svoj SM_CLIENT_ID, namesto, da bi nastavilo WM_CLIENT_LEADER kot je zavedeno v ICCCM.\n"
|
||||
@@ -690,7 +693,7 @@ msgstr "Okno %s nastavi svoj SM_CLIENT_ID, namesto, da bi nastavilo WM_CLIENT_LE
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7458
|
||||
#: ../src/core/window.c:7682
|
||||
#, c-format
|
||||
msgid "Window %s sets an MWM hint indicating it isn't resizable, but sets min size %d x %d and max size %d x %d; this doesn't make much sense.\n"
|
||||
msgstr "Okno %s določi namig MWM, ki pove, da ni mogoče spremeniti velikosti, hkrati pa določi najmanjšo velikost na %d x %d in največjo na %d x %d; vrednost ni smiselna.\n"
|
||||
@@ -705,11 +708,16 @@ msgstr "Program je nastavil pokvarjen _NET_WM_PID %lu\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (na %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1479
|
||||
#: ../src/core/window-props.c:1481
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "Neveljaven WM_TRANSIENT_FOR za okno 0x%lx naveden za %s.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1492
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "Predmet WM_TRANSIENT_FOR okna 0x%lx za %s lahko ustvari zanko.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -735,6 +743,11 @@ msgstr "Lastnost %s okna 0x%lx vsebuje neveljaven znak UTF-8\n"
|
||||
msgid "Property %s on window 0x%lx contained invalid UTF-8 for item %d in the list\n"
|
||||
msgstr "Lastnost %s okna 0x%lx vsebuje neveljaven znak UTF-8 za predmet %d na seznamu\n"
|
||||
|
||||
#: ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:1
|
||||
msgid "Attach modal dialogs"
|
||||
msgstr "Pripni modalna pogovorna okna"
|
||||
@@ -748,22 +761,30 @@ msgid "Determines whether workspace switching should happen for windows on all m
|
||||
msgstr "Določa ali naj se delovne površine preklapljajo na vseh zaslonih ali le na prvem, glavnem zaslonu."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "Prilagodljiva obroba pravokotnika"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "Ohranjena skrita okna"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr "Spremenilnik, ki naj se uporabi za upravljanje oken"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 "Delež skupne prilagodljive obrobe. V kolikor vidni robovi teme niso dovolj, so dodane nevidne obrobe, za dodatno prilagajanje."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "Ta vrednost določa \"prevleko\", ki združuje predogled okna in zaganjalnik programa. Vrednost je zamišljena kot \"ključ oken\" na strojni opremi računalnika. Pričakovano je, da je vrednost določena privzeto ali pa ni določena."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
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 "Izbrana možnost omogoči, da je namesto samostojnih nazivnih vrstic, na to mesto pripeto modalno pogovorno okno, ki se premika z nadrejenim oknom."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Delovne površine le na prvem zaslonu"
|
||||
|
||||
@@ -772,51 +793,51 @@ msgstr "Delovne površine le na prvem zaslonu"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Uporaba: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "Zapri okno"
|
||||
|
||||
# G:1 K:1 O:0
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "Meni okna"
|
||||
|
||||
# G:0 K:1 O:0
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "Skrči okno"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "Razpni okno"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "Obnovi okno"
|
||||
|
||||
# G:2 K:0 O:0
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Zavij okno"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "Odvij okno"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Ohrani okno na vrhu"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Odstrani okno z vrha"
|
||||
|
||||
# G:1 K:0 O:0
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Vedno na vidni delovni površini"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Postavi okno na samo eno delovno površino"
|
||||
|
||||
@@ -1038,236 +1059,251 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "zgoraj"
|
||||
|
||||
# G:12 K:5 O:0
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "spodaj"
|
||||
|
||||
# G:10 K:4 O:0
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "levo"
|
||||
|
||||
# G:1 K:0 O:0
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "desno"
|
||||
|
||||
# G:1 K:0 O:0
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "geometrija okvirja ne navaja dimenzije \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr "geometrija okvirja ne navaja dimenzije \"%s\" za rob \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "Vrednost razmerja gumba %g ni smiselna"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "Geometrija okvirja ne navaja velikosti gumbov"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "Prelivi bi morali imeti vsaj dve barvi"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1212
|
||||
#, c-format
|
||||
msgid "GTK custom color specification must have color name and fallback in parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr "Navedba barve GTK mora biti opredeljena z imenom barve in v navednicah povrnjeno barvo , npr. gtk:izbirno(ime_barve,povrnjena_barva); ni mogoče razčleniti \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1228
|
||||
#, c-format
|
||||
msgid "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-_ are valid"
|
||||
msgstr "Neveljaven znak '%c' v imenu barve gtk:izbirno; dovoljeni znaki so le A-Za-z0-9-_."
|
||||
|
||||
#: ../src/ui/theme.c:1242
|
||||
#, c-format
|
||||
msgid "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not fit the format"
|
||||
msgstr "Gtk:zapis po meri \"gtk:izbirno(ime_barve,povrnjena_barva)\", \"%s\" ne ustreza pravilni obliki."
|
||||
|
||||
#: ../src/ui/theme.c:1287
|
||||
#, c-format
|
||||
msgid "GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] where NORMAL is the state; could not parse \"%s\""
|
||||
msgstr "Navedba barve GTK mora vsebovati stanje v oglatih oklepajih, npr. gtk:fg[NORMAL], kjer je NORMAL stanje; ni mogoče razčleniti \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1301
|
||||
#, c-format
|
||||
msgid "GTK color specification must have a close bracket after the state, e.g. gtk:fg[NORMAL] where NORMAL is the state; could not parse \"%s\""
|
||||
msgstr "Navedbi barve GTK manjka oglati zaklepaj za stanjem, npr. gtk:fg[NORMAL], kjer je NORMAL stanje; ni mogoče razčleniti \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1312
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "Ni mogoče razumeti stanja \"%s\" v navedbi barve "
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1325
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "Ni mogoče razumeti barvne komponente \"%s\" v navedbi barve"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1355
|
||||
#, c-format
|
||||
msgid "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the format"
|
||||
msgstr "Oblika zapisa preliva je \"blend/bg_color/fg_color/alpha\", \"%s\" ne ustreza pravilni obliki"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1366
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "V prelivni barvi ni mogoče razčleniti vrednosti alfa \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1376
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "V prelivni barvi alfa vrednost \"%s\" ni med 0.0 in 1.0"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1423
|
||||
#, c-format
|
||||
msgid "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
msgstr "Oblika zapisa barve senčenja je \"shade/base_color/factor\", \"%s\" ne ustreza pravilni obliki."
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1434
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "Ni mogoče razčleniti vrednosti senčenja \"%s\" v senčeni barvi"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1444
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "V senčeni barvi je vrednost senčenja \"%s\" negativna"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1473
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "Ni mogoče razčleniti barve \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1784
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "Izraz koordinat vsebuje znak '%s', ki pa ni dovoljen"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1811
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains floating point number '%s' which could not be parsed"
|
||||
msgstr "Izraz koordinat vsebuje številko s plavajočo vejico '%s', ki je ni mogoče razčleniti"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1825
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr "Izraz koordinat vsebuje celo število '%s', ki ga ni mogoče razčleniti"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1947
|
||||
#, c-format
|
||||
msgid "Coordinate expression contained unknown operator at the start of this text: \"%s\""
|
||||
msgstr "Izraz koordinat vsebuje neznan operator na začetku besedila: \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:2004
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "Izraz koordinat je prazen ali pa ni v razumljivem zapisu"
|
||||
|
||||
#: ../src/ui/theme.c:1977
|
||||
#: ../src/ui/theme.c:1987
|
||||
#: ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2115
|
||||
#: ../src/ui/theme.c:2125
|
||||
#: ../src/ui/theme.c:2159
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "Izraz koordinat povzroči deljenje z vrednostjo nič"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2167
|
||||
#, c-format
|
||||
msgid "Coordinate expression tries to use mod operator on a floating-point number"
|
||||
msgstr "Izraz koordinat poskuša uporabiti operator mod ali številko s plavajočo vejico"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2223
|
||||
#, c-format
|
||||
msgid "Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr "Izraz koordinat vsebuje operator \"%s\", kjer je pričakovan operand"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2232
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "Izraz koordinat vsebuje operand kjer je pričakovan operator"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2240
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "Izraz koordinat se konča z operatorjem namesto z operandom"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2250
|
||||
#, c-format
|
||||
msgid "Coordinate expression has operator \"%c\" following operator \"%c\" with no operand in between"
|
||||
msgstr "Izraz koordinat vsebuje operator \"%c\", ki sledi operatorju \"%c\", brez vmesnega operanda"
|
||||
|
||||
#: ../src/ui/theme.c:2263
|
||||
#: ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2401
|
||||
#: ../src/ui/theme.c:2446
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr "Izraz koordinat vsebuje neznano spremenljivko ali konstanto \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2500
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "Razčlenjevalnik izrazov koordinat je preplavil medpomnilnik."
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2529
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr "Izraz koordinat vsebuje zaklepaj, ne pa tudi uklepaja"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2593
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr "Izraz koordinat vsebuje uklepaj, vendar je brez zaklepaja"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2604
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "Videti je, da izraz koordinat ne vsebuje operatorjev ali operandov"
|
||||
|
||||
#: ../src/ui/theme.c:2676
|
||||
#: ../src/ui/theme.c:2696
|
||||
#: ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2816
|
||||
#: ../src/ui/theme.c:2836
|
||||
#: ../src/ui/theme.c:2856
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "Tema vsebuje izraz, ki povzroča napako: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4527
|
||||
#, c-format
|
||||
msgid "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be specified for this frame style"
|
||||
msgstr "Za ta slog okvirja mora biti naveden <button function=\"%s\" state=\"%s\" draw_ops=\"karkoli\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:4940
|
||||
#: ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5060
|
||||
#: ../src/ui/theme.c:5085
|
||||
#, c-format
|
||||
msgid "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr "Manjka <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"karkoli\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5133
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "Napaka med nalaganjem teme \"%s\": %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149
|
||||
#: ../src/ui/theme.c:5156
|
||||
#: ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170
|
||||
#: ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5269
|
||||
#: ../src/ui/theme.c:5276
|
||||
#: ../src/ui/theme.c:5283
|
||||
#: ../src/ui/theme.c:5290
|
||||
#: ../src/ui/theme.c:5297
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "Ni nastavljena vrednost <%s> za temo \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5305
|
||||
#, c-format
|
||||
msgid "No frame style set for window type \"%s\" in theme \"%s\", add a <window type=\"%s\" style_set=\"whatever\"/> element"
|
||||
msgstr "Ni določenega sloga okvirja okna vrste \"%s\" v temi \"%s\". Dodajte predmet <window type=\"%s\" style_set=\"whatever\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5635
|
||||
#: ../src/ui/theme.c:5697
|
||||
#: ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5744
|
||||
#: ../src/ui/theme.c:5806
|
||||
#: ../src/ui/theme.c:5869
|
||||
#, c-format
|
||||
msgid "User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
msgstr "Uporabniško določene konstante se morajo začeti z veliko črko; vrednost \"%s\" se ne"
|
||||
|
||||
#: ../src/ui/theme.c:5643
|
||||
#: ../src/ui/theme.c:5705
|
||||
#: ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5752
|
||||
#: ../src/ui/theme.c:5814
|
||||
#: ../src/ui/theme.c:5877
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "Konstanta \"%s\" je že določena"
|
||||
@@ -1709,88 +1745,88 @@ msgstr "To je preizkusno sporočilo v pogovornem oknu"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "Lažni predmet menija %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "Okno samo z okvirjem"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "Vrstica"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "Običajno okno programa"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "Pogovorno okno"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "Modalno pogovorno okno"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "Paleta pripomočkov"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "Odtrgan meni"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "Okvir"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "Pripeto modalno okno"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "Preizkus razporeditve gumbov %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "%g milisekund za risanje ene sličice okna"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "Uporaba: metacity-theme-viewer [IMETEME]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "Napaka med nalaganjem teme: %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "Tema \"%s\" naložena v %g sekundah\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "Običajna pisava naziva"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "Majhna pisava naziva"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "Velika pisava naziva"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "Razpored gumbov"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "Meritev"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "Tukaj je izpisan naziv okna"
|
||||
|
||||
@@ -1836,27 +1872,40 @@ msgstr "vrednost y je %d, pričakovana pa je %d"
|
||||
msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
||||
msgstr "%d izjav koordinat razčlenjenih v %g sekundah (%g sekund v povprečju)\n"
|
||||
|
||||
#~ msgid "Failed to retrieve color %s[%s] from GTK+ theme.\n"
|
||||
#~ msgstr "Pridobivanje barve %s[%s] iz teme GTK+ je spodletelo.\n"
|
||||
|
||||
#~ msgid "Turn compositing on"
|
||||
#~ msgstr "Vključi skladanje"
|
||||
|
||||
#~ msgid "Turn compositing off"
|
||||
#~ msgstr "Izključi skladanje"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Don't make fullscreen windows that are maximized and have no decorations"
|
||||
#~ msgstr "Ne ustvari celozaslonskih oken, ki so razpeti in nimajo gumbov"
|
||||
|
||||
#~ msgid "Whether window popup/frame should be shown when cycling windows."
|
||||
#~ msgstr "Ali naj bo prikazan okvir okna med kroženjem oken."
|
||||
|
||||
#~ msgid "Internal argument for GObject introspection"
|
||||
#~ msgstr "Notranji argument za GObject"
|
||||
|
||||
#~ msgid "Failed to restart: %s\n"
|
||||
#~ msgstr "Spodletelo začenjanje: %s\n"
|
||||
|
||||
#~ msgid "Error setting compositor status: %s\n"
|
||||
#~ msgstr "Napaka med nastavljanjem stanja skladanja: %s\n"
|
||||
|
||||
#~ msgid "Error setting clutter plugin list: %s\n"
|
||||
#~ msgstr "Napaka med nastavljanjem seznama vstavkov clutter: %s\n"
|
||||
|
||||
#~ msgid "Clutter Plugins"
|
||||
#~ msgstr "Vstavki Clutter"
|
||||
|
||||
#~ msgid "Plugins to load for the Clutter-based compositing manager."
|
||||
#~ msgstr "Vstavki za Clutter upravljalnik sestavljanja"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Lost connection to the display '%s';\n"
|
||||
#~ "most likely the X server was shut down or you killed/destroyed\n"
|
||||
@@ -1865,6 +1914,6 @@ msgstr "%d izjav koordinat razčlenjenih v %g sekundah (%g sekund v povprečju)\
|
||||
#~ "Izgubljena povezava z zaslonom '%s';\n"
|
||||
#~ "najverjetneje se je strežnik X končal ali pa je vsiljeno izklopljen\n"
|
||||
#~ "upravljalnik oken.\n"
|
||||
|
||||
#~ msgid "Fatal IO error %d (%s) on display '%s'.\n"
|
||||
#~ msgstr "Usodna napaka VI %d (%s) na zaslonu '%s'.\n"
|
||||
|
||||
|
||||
1610
po/sr@latin.po
1610
po/sr@latin.po
File diff suppressed because it is too large
Load Diff
346
po/sv.po
346
po/sv.po
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: mutter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-24 16:07+0100\n"
|
||||
"PO-Revision-Date: 2011-03-24 16:14+0100\n"
|
||||
"POT-Creation-Date: 2011-08-24 09:15+0200\n"
|
||||
"PO-Revision-Date: 2011-08-24 09:17+0100\n"
|
||||
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
|
||||
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
|
||||
"Language: sv\n"
|
||||
@@ -16,6 +16,13 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. 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:487
|
||||
#, c-format
|
||||
msgid "Another compositing manager is already running on screen %i on display \"%s\"."
|
||||
msgstr "En annan compositing-hanterare körs redan på skärm %i på display \"%s\"."
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "Växla till arbetsyta 1"
|
||||
@@ -333,21 +340,24 @@ msgstr "Ljudsignalhändelse"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "Okänd fråga efter fönsterinformation: %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> svarar inte."
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "Programmet svarar inte."
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
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:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "_Vänta"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Tvinga avslut"
|
||||
|
||||
@@ -369,7 +379,7 @@ msgstr "Ett annat program använder redan tangenten %s med modifierarna %x som e
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -380,12 +390,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "Inget kommando %d har definierats.\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "Inget terminalkommando har definierats.\n"
|
||||
@@ -414,12 +424,12 @@ msgstr "Initiera session från sparandefil"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "Gör X-anrop synkrona"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "Misslyckades med att genomsöka temakatalogen: %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid "Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
msgstr "Kunde inte hitta ett tema! Försäkra dig om att %s finns och innehåller vanliga teman.\n"
|
||||
@@ -456,164 +466,164 @@ msgstr "Kommaseparerad lista över compositor-instick"
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543
|
||||
#: ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550
|
||||
#: ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "GConf-nyckeln \"%s\" är satt till ett ogiltigt värde\n"
|
||||
|
||||
#: ../src/core/prefs.c:630
|
||||
#: ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637
|
||||
#: ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr "%d lagrad i GConf-nyckeln %s är inte i intervallet %d till %d\n"
|
||||
|
||||
# SUN CHANGED MESSAGE
|
||||
#: ../src/core/prefs.c:674
|
||||
#: ../src/core/prefs.c:751
|
||||
#: ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863
|
||||
#: ../src/core/prefs.c:1324
|
||||
#: ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357
|
||||
#: ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681
|
||||
#: ../src/core/prefs.c:758
|
||||
#: ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870
|
||||
#: ../src/core/prefs.c:1331
|
||||
#: ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364
|
||||
#: ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "GConf-nyckeln \"%s\" är satt till en ogiltig typ\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr "GConf-nyckeln %s används redan och kan inte användas för att åsidosätta %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "Kan inte åsidosätta GConf-nyckeln, %s hittades inte\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid "Workarounds for broken applications disabled. Some applications may not behave properly.\n"
|
||||
msgstr "Fixar för trasiga program är inaktiverade. En del program fungerar kanske inte korrekt.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr "Kunde inte tolka typsnittsbeskrivningen \"%s\" från GConf-nyckeln %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid "\"%s\" found in configuration database is not a valid value for mouse button modifier\n"
|
||||
msgstr "\"%s\" som hittades i konfigurationsdatabasen är inte ett giltigt värde för musknappsmodifierare\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "Fel vid inställning av antalet arbetsytor till %d: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200
|
||||
#: ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212
|
||||
#: ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Arbetsyta %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232
|
||||
#: ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244
|
||||
#: ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid "\"%s\" found in configuration database is not a valid value for keybinding \"%s\"\n"
|
||||
msgstr "\"%s\" som hittades i konfigurationsdatabasen är inte ett giltigt värde för tangentbindningen \"%s\"\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "Fel vid inställning av namnet på arbetsyta %d till \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr "Fel vid inställning av status för levande, dolda fönster: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "Fel vid inställning av status för ingen flik-popup: %s\n"
|
||||
|
||||
#: ../src/core/screen.c:624
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "Skärm %d på display \"%s\" är ogiltig\n"
|
||||
|
||||
#: ../src/core/screen.c:640
|
||||
#: ../src/core/screen.c:679
|
||||
#, 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"
|
||||
msgstr "Skärm %d på display \"%s\" har redan en fönsterhanterare; försök med flaggan --replace för att ersätta den aktuella fönsterhanteraren.\n"
|
||||
|
||||
#: ../src/core/screen.c:667
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid "Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
msgstr "Kunde inte få tag i fönsterhanterarval på skärm %d display \"%s\"\n"
|
||||
|
||||
#: ../src/core/screen.c:722
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "Skärm %d på display \"%s\" har redan en fönsterhanterare\n"
|
||||
|
||||
#: ../src/core/screen.c:907
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "Kunde inte släppa skärm %d på display \"%s\"\n"
|
||||
|
||||
#: ../src/core/session.c:837
|
||||
#: ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843
|
||||
#: ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "Kunde inte skapa katalogen \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "Kunde inte öppna sessionsfilen \"%s\" för skrivning: %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "Fel vid skrivning av sessionsfilen \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "Fel vid stängning av sessionsfilen \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "Misslyckades med att tolka sparad sessionsfil: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr "<mutter_session>-attribut hittat men vi har redan sessions-ID"
|
||||
|
||||
# SUN CHANGED MESSAGE
|
||||
#: ../src/core/session.c:1192
|
||||
#: ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299
|
||||
#: ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198
|
||||
#: ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305
|
||||
#: ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "Okänt attribut %s i <%s>-element"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "nästlad <window>-tagg"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "Okänt element %s"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid "These windows do not support "save current setup" and will have to be restarted manually next time you log in."
|
||||
msgstr "Dessa fönster saknar stöd för "spara nuvarande inställningar" och kommer att behöva startas om manuellt nästa gång du loggar in."
|
||||
|
||||
@@ -655,14 +665,14 @@ msgid "Window manager error: "
|
||||
msgstr "Fönsterhanterarfel: "
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615
|
||||
#: ../src/core/util.c:632
|
||||
#: ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6795
|
||||
#: ../src/core/window.c:6959
|
||||
#, c-format
|
||||
msgid "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER window as specified in the ICCCM.\n"
|
||||
msgstr "Fönstret %s ställer in SM_CLIENT_ID på sig själv, istället för på WM_CLIENT_LEADER-fönstret som är angivet i ICCCM.\n"
|
||||
@@ -674,7 +684,7 @@ msgstr "Fönstret %s ställer in SM_CLIENT_ID på sig själv, istället för på
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7458
|
||||
#: ../src/core/window.c:7622
|
||||
#, c-format
|
||||
msgid "Window %s sets an MWM hint indicating it isn't resizable, but sets min size %d x %d and max size %d x %d; this doesn't make much sense.\n"
|
||||
msgstr "Fönstret %s ställer in ett MWM-tips som anger att det inte går att ändra storlek på, men ställer in minsta storleken %d × %d och största storleken %d × %d; detta verkar inte vettigt.\n"
|
||||
@@ -689,11 +699,16 @@ msgstr "Programmet ställde in ett felaktigt _NET_WM_PID %lu\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (på %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1479
|
||||
#: ../src/core/window-props.c:1488
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "Ogiltigt WM_TRANSIENT_FOR-fönster 0x%lx angivet för %s.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1500
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "WM_TRANSIENT_FOR-fönstret 0x%lx för %s skulle skapa en loop.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -732,22 +747,30 @@ msgid "Determines whether workspace switching should happen for windows on all m
|
||||
msgstr "Bestämmer huruvida arbetsyteväxling ska hända för alla fönster på alla skärmar eller endast för fönster på den primära skärmen."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "Dragbar rambredd"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "Levande, dolda fönster"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr "Modifierare att använda för utökade fönsterhanteringsåtgärder"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 "Mängd av totalt dragbara ramar. Om temats synliga ramar inte är tillräckliga kommer osynliga ramar att läggas till för att möta detta värde."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "Denna nyckel kommer att initiera \"overlay\", som är en kombinerad fönsteröversikt och programstartare. Standard är tänkt att vara \"Windows-tangenten\" på PC-maskinvara. Det är förväntat att denna bindning antingen är standard eller inställd till en tom sträng."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
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 "När true kommer, istället för oberoende titellistor, modala dialogfönster att visas anslutna till titellisten i föräldrafönstret och flyttas tillsammans med föräldrafönstret."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Arbetsytor endast på primär"
|
||||
|
||||
@@ -756,47 +779,47 @@ msgstr "Arbetsytor endast på primär"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Användning: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1123
|
||||
msgid "Close Window"
|
||||
msgstr "Stäng fönster"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1126
|
||||
msgid "Window Menu"
|
||||
msgstr "Fönstermeny"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1129
|
||||
msgid "Minimize Window"
|
||||
msgstr "Minimera fönster"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1132
|
||||
msgid "Maximize Window"
|
||||
msgstr "Maximera fönster"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1135
|
||||
msgid "Restore Window"
|
||||
msgstr "Återställ fönster"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1138
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Rulla upp fönstret"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1141
|
||||
msgid "Unroll Window"
|
||||
msgstr "Rulla tillbaka fönstret"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1144
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Behåll fönstret överst"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1147
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Ta bort överliggande fönster"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1150
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Alltid på synlig arbetsyta"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1153
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Placera fönstret på endast en arbetsyta"
|
||||
|
||||
@@ -1000,232 +1023,247 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d × %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "överkant"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "nederkant"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "vänster"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "höger"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "ramgeometrin anger inte \"%s\"-dimension"
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr "ramgeometrin anger inte dimensionen \"%s\" för ramen \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "Knappförhållandet %g är inte rimligt"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "ramgeometrin anger inte storlek på knappar"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "Toningarna bör ha minst två färger"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1212
|
||||
#, c-format
|
||||
msgid "GTK custom color specification must have color name and fallback in parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr "Anpassad GTK-färgspecifikationen måste ha färgnamn och fallback inom paranteser, t.ex. gtk:custom(foo,bar); kunde inte tolka \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1228
|
||||
#, c-format
|
||||
msgid "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-_ are valid"
|
||||
msgstr "Ogiltigt tecken \"%c\" i parametern color_name för gtk:custom, endast A-Za-z0-9-_ är giltiga"
|
||||
|
||||
#: ../src/ui/theme.c:1242
|
||||
#, c-format
|
||||
msgid "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not fit the format"
|
||||
msgstr "Gtk:custom format är \"gtk:custom(color_name,fallback)\", \"%s\" passar inte formatet"
|
||||
|
||||
#: ../src/ui/theme.c:1287
|
||||
#, c-format
|
||||
msgid "GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] where NORMAL is the state; could not parse \"%s\""
|
||||
msgstr "GTK-färgspecifikationen måste ha tillståndet inom klamrar, t.ex. gtk:fg[NORMAL], där NORMAL är tillståndet; kunde inte tolka \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1301
|
||||
#, c-format
|
||||
msgid "GTK color specification must have a close bracket after the state, e.g. gtk:fg[NORMAL] where NORMAL is the state; could not parse \"%s\""
|
||||
msgstr "GTK-färgspecifikationen måste ha en stängningsklammer efter tillståndet, t.ex. gtk:fg[NORMAL], där NORMAL är tillståndet; kunde inte tolka \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1312
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "Förstod inte tillståndet \"%s\" i färgspecifikation"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1325
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "Förstod inte färgkomponenten \"%s\" i färgspecifikation"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1355
|
||||
#, c-format
|
||||
msgid "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the format"
|
||||
msgstr "Blandningsformatet är \"blend/bg_color/fg_color/alpha\", \"%s\" passar inte med formatet"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1366
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "Kunde inte tolka alfavärdet \"%s\" i blandad färg"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1376
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "Alfavärdet \"%s\" i blandad färg är inte mellan 0,0 och 1,0"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1423
|
||||
#, c-format
|
||||
msgid "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
msgstr "Skuggformatet är \"shade/base_color/factor\", \"%s\" passar inte med formatet"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1434
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "Kunde inte tolka skuggfaktorn \"%s\" i skuggad färg"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1444
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "Skuggfaktorn \"%s\" i skuggad färg är negativ"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1473
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "Kunde inte tolka färgen \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1784
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "Koordinatuttrycket innehåller tecknet \"%s\" vilket inte är tillåtet"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1811
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains floating point number '%s' which could not be parsed"
|
||||
msgstr "Koordinatuttrycket innehåller flyttalet \"%s\" som inte kunde tolkas"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1825
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr "Koordinatuttrycket innehåller heltalet \"%s\" som inte kunde tolkas"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1947
|
||||
#, c-format
|
||||
msgid "Coordinate expression contained unknown operator at the start of this text: \"%s\""
|
||||
msgstr "Koordinatuttrycket hade en okänd operand vid början av denna text: \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:2004
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "Koordinatuttrycket var tomt eller förstods inte"
|
||||
|
||||
#: ../src/ui/theme.c:1977
|
||||
#: ../src/ui/theme.c:1987
|
||||
#: ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2115
|
||||
#: ../src/ui/theme.c:2125
|
||||
#: ../src/ui/theme.c:2159
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "Koordinatuttrycket resulterar i division med noll"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2167
|
||||
#, c-format
|
||||
msgid "Coordinate expression tries to use mod operator on a floating-point number"
|
||||
msgstr "Koordinatuttrycket försöker använda mod-operator på ett flyttal"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2223
|
||||
#, c-format
|
||||
msgid "Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr "Koordinatuttrycket har en operator \"%s\" där en operand förväntades"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2232
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "Koordinatuttrycket hade en operand där en operator förväntades"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2240
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "Koordinatuttrycket slutade med en operator istället för en operand"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2250
|
||||
#, c-format
|
||||
msgid "Coordinate expression has operator \"%c\" following operator \"%c\" with no operand in between"
|
||||
msgstr "Koordinatuttrycket har en operator \"%c\" som följer på operatorn \"%c\" utan någon operand imellan"
|
||||
|
||||
#: ../src/ui/theme.c:2263
|
||||
#: ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2401
|
||||
#: ../src/ui/theme.c:2446
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr "Koordinatuttrycket hade en okänd variabel eller konstant \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2500
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "Koordinatuttryckstolkaren överflödade sin buffert."
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2529
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr "Koordinatuttrycket hade en stängningsparentes utan någon öppningsparentes"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2593
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr "Koordinatuttrycket hade en öppningsparentes utan någon stängningsparentes"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2604
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "Koordinatuttrycket verkar inte ha några operatorer eller operander"
|
||||
|
||||
#: ../src/ui/theme.c:2676
|
||||
#: ../src/ui/theme.c:2696
|
||||
#: ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2816
|
||||
#: ../src/ui/theme.c:2836
|
||||
#: ../src/ui/theme.c:2856
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "Temat innehöll ett uttryck som resulterade i ett fel: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4527
|
||||
#, c-format
|
||||
msgid "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be specified for this frame style"
|
||||
msgstr "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> måste anges för denna ramtyp"
|
||||
|
||||
#: ../src/ui/theme.c:4940
|
||||
#: ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5060
|
||||
#: ../src/ui/theme.c:5085
|
||||
#, c-format
|
||||
msgid "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr "<frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/> saknas"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5133
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "Misslyckades med att läsa in temat \"%s\": %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149
|
||||
#: ../src/ui/theme.c:5156
|
||||
#: ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170
|
||||
#: ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5269
|
||||
#: ../src/ui/theme.c:5276
|
||||
#: ../src/ui/theme.c:5283
|
||||
#: ../src/ui/theme.c:5290
|
||||
#: ../src/ui/theme.c:5297
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "Inget <%s> angivet för temat \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5305
|
||||
#, c-format
|
||||
msgid "No frame style set for window type \"%s\" in theme \"%s\", add a <window type=\"%s\" style_set=\"whatever\"/> element"
|
||||
msgstr "Ingen ramstil angiven för fönstertypen \"%s\" i temat \"%s\", lägg till ett <window type=\"%s\" style_set=\"whatever\"/>-element"
|
||||
|
||||
#: ../src/ui/theme.c:5635
|
||||
#: ../src/ui/theme.c:5697
|
||||
#: ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5744
|
||||
#: ../src/ui/theme.c:5806
|
||||
#: ../src/ui/theme.c:5869
|
||||
#, c-format
|
||||
msgid "User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
msgstr "Användardefinierade konstanter måste börja med en stor bokstav; \"%s\" gör det inte"
|
||||
|
||||
#: ../src/ui/theme.c:5643
|
||||
#: ../src/ui/theme.c:5705
|
||||
#: ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5752
|
||||
#: ../src/ui/theme.c:5814
|
||||
#: ../src/ui/theme.c:5877
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "Konstanten \"%s\" har redan definierats"
|
||||
@@ -1676,88 +1714,88 @@ msgstr "Detta är ett exempelmeddelande i en exempelkatalog"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "Falskt menyobjekt %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "Fönster med endast ram"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "Rad"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "Normalt programfönster"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "Dialogruta"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "Modalt dialogfönster"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "Verktygspalett"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "Avtagen meny"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "Ram"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "Bifogat modalt dialogfönster"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "Test %d av knapplayout"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "%g millisekunder för att rita en fönsterram"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "Användning: metacity-theme-viewer [TEMANAMN]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "Fel vid inläsning av tema: %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "Läste in temat \"%s\" på %g sekunder\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "Normalt titeltypsnitt"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "Litet titeltypsnitt"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "Stort titeltypsnitt"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "Knapplayouter"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "Prestandatest"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "Fönstertitel hamnar här"
|
||||
|
||||
|
||||
348
po/ta.po
348
po/ta.po
@@ -7,27 +7,36 @@
|
||||
# Dinesh Nadarajah <n_dinesh@yahoo.com>, 2003.
|
||||
# Jayaradha N <jaya@pune.redhat.com>, 2004.
|
||||
# Felix <ifelix@redhat.com>, 2006.
|
||||
# Dr.T.Vasudevan <agnihot3@gmail.com>, 2007, 2010.
|
||||
# Dr.T.Vasudevan <agnihot3@gmail.com>, 2007, 2010, 2011.
|
||||
# Dr.T.vasudevan <agnihot3@gmail.com>, 2009.
|
||||
# I. Felix <ifelix@redhat.com>, 2009, 2011.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: metacity.gnome-2-26.ta\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-04-01 20:44+0530\n"
|
||||
"PO-Revision-Date: 2011-04-01 20:48+0530\n"
|
||||
"Last-Translator: \n"
|
||||
"POT-Creation-Date: 2011-09-12 21:16+0530\n"
|
||||
"PO-Revision-Date: 2011-09-12 21:25+0530\n"
|
||||
"Last-Translator: Dr.T.Vasudevan <agnihot3@gmail.com>\n"
|
||||
"Language-Team: American English <kde-i18n-doc@kde.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"0500\n"
|
||||
"X-Generator: Lokalize 1.0\n"
|
||||
"X-Generator: Lokalize 1.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n!=1);\\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"\n"
|
||||
|
||||
#. 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:492
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s\"."
|
||||
msgstr " %i திரையில் காட்சி \"%s\" இல் இன்னொரு சாளர மேலாளர் இயங்கிக்கொண்டு இருக்கிறது."
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "பணியிடம் 1க்கு மாறு"
|
||||
@@ -345,13 +354,16 @@ msgstr "மணி நிகழ்ச்சி"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "தெரியாத சாளர தகவல் வேண்டுகோள்: %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> பதிலளிக்கவில்லை"
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "பயன்பாடு இயங்கவில்லை"
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
msgid ""
|
||||
"You may choose to wait a short while for it to continue or force the "
|
||||
"application to quit entirely."
|
||||
@@ -359,11 +371,11 @@ msgstr ""
|
||||
"நீங்கள் சிறிது நேரம் பொறுத்து அது தொடர அனுமதிக்கலாம் அல்லது செயல்பாட்டை வன் வெளியேறு "
|
||||
"செய்யலாம்."
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "_காத்திரு"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "கட்டாய வெளியேற்றம் (_F)"
|
||||
|
||||
@@ -387,7 +399,7 @@ msgstr "விசை %s ஐ மாற்றி %x ஓடு இணைத்த
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -398,12 +410,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "கட்டளை %d எதுவும் குறிப்பிடப்படவில்லை.\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "முனைய கட்டளை எதுவும் குறிப்பிடப்படவில்லை.\n"
|
||||
@@ -432,12 +444,12 @@ msgstr "அமர்வை சேவ்பைல் இலிருந்து
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "எக்ஸ் அழைப்புகளை ஒத்திசை."
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "கருப்பொருள் அடைவை வருடுவதில் தோல்வி: %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid "Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
msgstr ""
|
||||
@@ -478,35 +490,35 @@ msgstr "பல்வினையாக்கியின் சொருகி
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "GConf விசை '%s' செல்லாத மதிப்பாக அமைக்கப்பட்டுள்ளது\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr ""
|
||||
"ஜிகான்ஃப் இல் சேமிக்கப்பட்ட %d %s வீச்சுக்கு அப்பால் பட்டு உள்ளது. %d லிருந்து %d வரை.\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "GConf விசை \"%s\" செல்லாத வகை\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr "ஜிகான்ஃப் விசை %s ஏற்கெனெவே பயனில் இருக்கிறது. அதனால் %s ஐ மேல்செயலாக்க முடியாது\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "ஜிகான்ஃப் விசையை உதசீனம் செய்து மேல் செயலாக்க முடியாது, %s ஐ காணவில்லை\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
@@ -514,56 +526,56 @@ msgstr ""
|
||||
"உடைந்த பயன்பாடுகளின் செயல்பாடு தடைசெய்யப்பட்டது, சில பயன்பாடுகள் சரியாக வேலை "
|
||||
"செய்யாது.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr "எழுத்துரு விளக்கம் \"%s\" ஐ GConf விசையிலிருந்து பகுக்க முடியவில்லை %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
"modifier\n"
|
||||
msgstr "அமைப்பு பாங்கில் உள்ள \"%s\" சுட்டி பட்டன் மாற்றியில் செல்லாத மதிப்பு\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "பணியிடத்தை அமைப்பதில் பிழை %d: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "வேலையிடம் %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
"\"%s\"\n"
|
||||
msgstr "\"%s\" அமைப்பு தரவுத்தளத்தில் உள்ள மதிப்பு செல்லாத கீபைன்டிங்\"%s\"\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "பணியிடத்தை %d லிருந்து \"%s\" க்கு மாற்றுவதில் பிழை: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr "உயிர்ப்புள்ள மறைந்த சாளர நிலையை அமைப்பதில் பிழை: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "கீற்று துள்ளல் நிலையை அமைப்பதில் பிழை: %s\n"
|
||||
|
||||
#: ../src/core/screen.c:624
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "திரை %d காட்சி '%s' இல் செல்லாது\n"
|
||||
|
||||
#: ../src/core/screen.c:640
|
||||
#: ../src/core/screen.c:679
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -572,69 +584,69 @@ msgstr ""
|
||||
"திரை %d காட்சி \"%s\" க்கு சாளர மேலாளர் உள்ளது; --replace தேர்வை பயன்படுத்தி "
|
||||
"தற்போதைய சாளரத்தை மாற்றவும்.\n"
|
||||
|
||||
#: ../src/core/screen.c:667
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid "Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
msgstr "திரையில் சாளர மேலாளர் தேர்வை பெறமுடியவில்லை %d காட்சி \"%s\"\n"
|
||||
|
||||
#: ../src/core/screen.c:722
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "திரை %d யின் காட்சி \"%s\" க்கு சாளர மேலாளர் ஏற்கெனவே உள்ளது\n"
|
||||
|
||||
#: ../src/core/screen.c:907
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "திரை %d ஐ விடுவிக்க முடியவில்லை \"%s\"\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "அடைவை உருவாக்க முடியவில்லை '%s': %s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "அமர்வு கோப்பு '%s' எழுதுவதற்காக திறக்க முடியவில்லை: %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "அமர்வு கோப்பை எழுதுவதில் பிழை '%s': %s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "அமர்வுகோப்பை மூடுவதில் பிழை '%s': %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "சேமிக்கப்பட்ட அமர்வு கோப்பை பகுப்பதில் தோல்வி: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr "<mutter_session> பண்பு பார்க்கப்பட்டது ஆனால் இங்கு அமர்வு ID ஏற்கெனவே உள்ளது"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "தெரியாத பண்பு %s <%s> உறுப்பில்"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "பின்னப்பட்ட <window> குறி"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "தெரியாத உறுப்பு %s"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -662,30 +674,24 @@ msgstr "பதிவுக்கோப்பு திறக்கப்பட
|
||||
msgid "Mutter was compiled without support for verbose mode\n"
|
||||
msgstr "வெர்போஸ் ஆதரவு இல்லாமல் மட்டர் அமைக்கப்பட்டது\n"
|
||||
|
||||
#: ../src/core/util.c:286
|
||||
#: ../src/core/util.c:290
|
||||
msgid "Window manager: "
|
||||
msgstr "சாளர மேலாளர்:"
|
||||
|
||||
#: ../src/core/util.c:434
|
||||
#: ../src/core/util.c:438
|
||||
msgid "Bug in window manager: "
|
||||
msgstr "சாளர மேலாளரில் பிழை"
|
||||
|
||||
#: ../src/core/util.c:467
|
||||
#: ../src/core/util.c:471
|
||||
msgid "Window manager warning: "
|
||||
msgstr "சாளர மேலாளர் எச்சரிக்கை:"
|
||||
|
||||
#: ../src/core/util.c:495
|
||||
#: ../src/core/util.c:499
|
||||
msgid "Window manager error: "
|
||||
msgstr "சாளர மேலாளர் பிழை"
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "மட்டர்"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6847
|
||||
#: ../src/core/window.c:7019
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -701,11 +707,11 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7510
|
||||
#: ../src/core/window.c:7682
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
|
||||
"d x %d and max size %d x %d; this doesn't make much sense.\n"
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
"%d x %d and max size %d x %d; this doesn't make much sense.\n"
|
||||
msgstr ""
|
||||
"சாளரம் %s MWM அளவு மாற்ற முடியும் என குறிப்பிடுகிறதும் ஆனால் %d x %d மற்றும் அதிக "
|
||||
"பட்ச அளவு %d x %d; பொருள் தரும்படி இல்லை.\n"
|
||||
@@ -720,11 +726,16 @@ msgstr "பயன்பாடு பொய்யான ஒரு _NET_WM_PID %lu
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (%s மீது)"
|
||||
|
||||
#: ../src/core/window-props.c:1482
|
||||
#: ../src/core/window-props.c:1481
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "செல்லாத WM_TRANSIENT_FOR சாளரம் 0x%lx இதற்கு குறிக்கப்பட்டது: %s.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1492
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "WM_TRANSIENT_FOR சாளரம் 0x%lx %s க்கு சுழல் நிகழ்வை உருவாக்கும்.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -750,6 +761,10 @@ msgstr "பண்பு %s சாளரம் 0x%lx செல்லாத UTF-8
|
||||
msgid "Property %s on window 0x%lx contained invalid UTF-8 for item %d in the list\n"
|
||||
msgstr "பண்பு %s சாளரம் 0x%lx செல்லாத UTF-8 உருப்படி %d பட்டியலில் உள்ளது\n"
|
||||
|
||||
#: ../src/mutter.desktop.in.h:1 ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "மட்டர்"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:1
|
||||
msgid "Attach modal dialogs"
|
||||
msgstr "மாதிரி உரையாடல்களை இணை"
|
||||
@@ -767,18 +782,30 @@ msgid ""
|
||||
"Determines whether workspace switching should happen for windows on all "
|
||||
"monitors or only for windows on the primary monitor."
|
||||
msgstr ""
|
||||
"வேலைக்கள் மாற்றம் எல்லா திரைகளிலும் உள்ள சாளரங்களுக்குமா அல்லது முதன்மை திரை "
|
||||
"சாளரத்துக்கு மட்டுமா என தீர்மானிக்கிறது"
|
||||
"வேலைக்கள் மாற்றம் எல்லா திரைகளிலும் உள்ள சாளரங்களுக்குமா அல்லது முதன்மை திரை சாளரத்துக்கு "
|
||||
"மட்டுமா என தீர்மானிக்கிறது"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "இழுக்கக்கூடிய விளிம்பின் அகலம்"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "உயிர்ப்புள்ள மறைந்த சாளரங்கள்"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr "நீட்டிக்கப்பட்ட சாளர மேலாண்மை செயல்பாடுகளுக்கு பயன்பட வேண்டிய மாற்றி"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 ""
|
||||
"இழுக்கக்கூடிய விளிம்புகளின் மொத்த அளவு. கருத்தின் தெரியும் விளிம்புகள் போதவில்லை எனில் "
|
||||
"இந்த மதிப்பை அடைய மறை விளிம்பு சேர்க்கப்படும்."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -789,7 +816,7 @@ msgstr ""
|
||||
"முன்னிருப்பு கணினி வன்பொருட்களின் சாளர விசையாக யோசிக்கப்படுகிறது. இந்த பிணைப்பை "
|
||||
"முன்னிருப்பாகவோ காலி சரமாகவோ அமைக்கவும்."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
msgid ""
|
||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
@@ -798,7 +825,7 @@ msgstr ""
|
||||
"உண்மை எனில் சுதந்திர தனி தலைப்பு பட்டைகளுக்கு பதில் மாதிரி உரையாடல்கள் முதன்மை "
|
||||
"சாளரத்தின் தலைப்பு பட்டயுடன் இணைத்து இருக்கும்; இவை முதன்மை சாளரத்துடனே நகர்த்தப்படும்."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "வேலைக்களங்கள் முதன்மையில் மட்டும்"
|
||||
|
||||
@@ -807,47 +834,47 @@ msgstr "வேலைக்களங்கள் முதன்மையில
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "பயன்பாடு: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "சாளரம் மூடவும்"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "சாளர பட்டி"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "சாளரத்தை குறுக்கவும்"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "சாளரத்தை பெரிதாக்கவும்"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "சாளரத்தை மீட்டமை"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "சாளரத்தை மேலே சுருட்டு"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "சாளரம் விரிக்கவும்"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "சாளரத்தை மேலே வைத்திரு "
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "மேலிருந்து சாளரத்தை நீக்கு "
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "வேலைகளத்தில் எப்போதும் தெரியும் "
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "சாளரத்தை ஒரே ஒரு பணியிடத்தில் மட்டும் வைக்கவும்"
|
||||
|
||||
@@ -1050,48 +1077,75 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "மேல்"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "கீழ்"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "இடது"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "வலது"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "சட்ட வடிவியல் \"%s\" அளவை குறிப்பிடவில்லை"
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr "\"%s\" ஓரத்திற்கு வடிவியல் \"%s\" அளவை குறிப்பிடவில்லை"
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "பட்டன் அளவு விகிதம் %g சரியில்ல"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "சட்ட அளவு பட்டன் அளவை குறிப்பிடவில்லை"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "க்ரேடியன்டில் இரண்டு நிறங்களாவது இருக்க வேண்டும்"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1212
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"GTK தனிப்பயன் வண்ணத்தின் பெயர் வணத்தின் பெயரையும் காப்பை மூடிய அடைப்புக்குறிகளுக்குள்ளும் "
|
||||
" கொண்டிருக்க வேண்டும் உம் gtk:custom(foo,bar); \"%s\" ஐ பகுக்க முடியவில்லை"
|
||||
|
||||
#: ../src/ui/theme.c:1228
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr ""
|
||||
"gtk:custom இன் color_name தருமதிப்பில் செல்லுபடியாகாத எழுத்துரு '%c' A-Za-z0-9-"
|
||||
"_ ஆகியன மட்டுமே செல்லுபடியாகும்."
|
||||
|
||||
#: ../src/ui/theme.c:1242
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr ""
|
||||
"ஜிடிகே:தனிப்பயன் ஒழுங்கு \"gtk:custom(color_name,fallback)\", \"%s\" இந்த ஒழுங்குக்கு "
|
||||
"பொருந்தாது"
|
||||
|
||||
#: ../src/ui/theme.c:1287
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1100,7 +1154,7 @@ msgstr ""
|
||||
"GTK வண்ணம் அடைப்புக்குறிகளை கொண்டிருக்க வேண்டும் உம் gtk:fg[NORMAL] NORMAL நிலையை "
|
||||
"குறிக்கும் பகுக்க முடியாது \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1301
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1109,17 +1163,17 @@ msgstr ""
|
||||
"GTK வண்ணம் மூடிய அடைப்புக்குறிகளை கொண்டிருக்க வேண்டும் உம் gtk:fg[NORMAL] NORMAL "
|
||||
"நிலையை குறிக்கும் பகுக்க முடியாது \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1312
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "நிலை \"%s\" வண்ண குறிப்பில் புரிந்துகொள்ள முடியவில்லை"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1325
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "நிலை \"%s\" வண்ண குறிப்பு பொருளில் புரிந்துகொள்ள முடியவில்லை"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1355
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
@@ -1128,128 +1182,128 @@ msgstr ""
|
||||
"வளைந்த அமைப்பு \"blend/bg_color/fg_color/alpha\", \"%s\" இந்த வடிவமைப்பிற்கு "
|
||||
"பொருந்தாது"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1366
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "ஆம்ஃபா மதிப்பை \"%s\" வளைந்த நிறத்தில் பகுக்க முடியவில்லை"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1376
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "ஆல்ஃபா மதுப்பு \"%s\"வளைவு நிறத்தில் 0.0 க்கும் 1.0 க்கும் இடையில் இல்லை"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1423
|
||||
#, c-format
|
||||
msgid "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
msgstr "நிழல் வடிவமைப்பு \"shade/base_color/factor\", \"%s\" இந்த அமைப்பிற்கு பொருந்தாது"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1434
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "நிழல்விகிதத்தை \"%s\" நிறத்தோடு பகுக்க முடியாது"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1444
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "நிழல் விகிதம் \"%s\" முழுக்களாக உள்ளது "
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1473
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "\"%s\" நிறத்தை பகுக்க முடியவில்லை"
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1784
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "அச்சுக்கள் எழுத்தால் குறிக்கப்பட்டுள்ளது '%s' க்கு அனுமதி இல்லை"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1811
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
"parsed"
|
||||
msgstr "அச்சுக்கள் பின்ன எண்ணால் குறிக்கப்பட்டுள்ளது '%s' ஐ பகுக்க முடியாது"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1825
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr "அச்சுக்கள் இயல் எண்ணால் குறிக்கப்பட்டுள்ளது '%s' ஐ பகுக்க முடியாது"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1947
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
"\"%s\""
|
||||
msgstr "உரையின் துவக்கத்தில் அச்சின் கூற்றில் தெரியாத செயல் இடம்பெற்றுள்ளது \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:2004
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "அச்சு கூற்று காலியாக உள்ளது அல்லது புரியவில்லை"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2115 ../src/ui/theme.c:2125 ../src/ui/theme.c:2159
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "அச்சு கூற்று பூஜ்ஜியத்தால் வகுத்தல் பிழையை தந்தது"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2167
|
||||
#, c-format
|
||||
msgid "Coordinate expression tries to use mod operator on a floating-point number"
|
||||
msgstr "அச்சு கூற்று mod ஆப்பரேட்டரை பின்ன எண்ணில் பயன்படுத்த முயல்கிறது"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2223
|
||||
#, c-format
|
||||
msgid "Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr "அச்சு கூற்றில் ஆப்பரேட்டர் உள்ளது \"%s\" ஆப்பரன் எதிர்பார்க்கப்படுகிறது"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2232
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "அச்சு கூற்றில் ஆப்பரன்ட் உள்ளது ஆனால் ஆப்பரேட்டர் எதிர்பார்க்கப்படுகிறது"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2240
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "அச்சு கூற்றில் ஆப்பரன்ட்டுக்கு பதில் ஆப்பரேட்டரால் முடிந்தது"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2250
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
"operand in between"
|
||||
msgstr "அச்சு கூற்றில் \"%c\" ஆப்பரேட்டர் உள்ளது \"%c\" ஆப்பரேட்டருக்கு ஆப்பரன்ட் இல்லை"
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2401 ../src/ui/theme.c:2446
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr "அச்சு கூற்றில் செல்லாத மாற்றி மற்றும் கான்ஸ்ட்டன் உள்ளது \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2500
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "ஆயத்தொலைவு தெரிவிப்பு பகுப்பி அதன் இடையகத்தை நிரப்பியது"
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2529
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr "அச்சு கூற்றில் மூடிய அடைப்புக்குறி உள்ளது ஆனால் திறந்த அடைப்புகுறி இல்லை"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2593
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr "அச்சு கூற்றில் திறந்த அடைப்புக்குறி உள்ளது ஆனால் மூடிய அடைப்புகுறி இல்லை"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2604
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "அச்சுக்கூற்றில் ஆப்பரன்ட் மற்றும் ஆப்பரேட்டர் காணப்படவில்லை"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2816 ../src/ui/theme.c:2836 ../src/ui/theme.c:2856
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "கருப்பொருளில் ஒரு கூற்று இருந்தது. அது பிழையை ஏற்படுத்தியது : %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4527
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1258,23 +1312,23 @@ msgstr ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> இந்த சட்ட பாணிக்கு "
|
||||
"குறிப்பிடப்பட வேண்டும்"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5060 ../src/ui/theme.c:5085
|
||||
#, c-format
|
||||
msgid "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr "காணவில்லை <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5133
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "கருப்பொருளை ஏற்றுவதில் தோல்வி \"%s\": %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5269 ../src/ui/theme.c:5276 ../src/ui/theme.c:5283
|
||||
#: ../src/ui/theme.c:5290 ../src/ui/theme.c:5297
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "இல்லை<%s> கருப்பொருளுக்காக அமைக்கப்பட்டது \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5305
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1283,12 +1337,12 @@ msgstr ""
|
||||
"சட்ட பாணி சாளர வகை இல்லை\"%s\" கருப்பொருளில் \"%s\", <window type=\"%s\" "
|
||||
"style_set=\"whatever\"/> உறுப்பை சேர்க்கவும்"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5744 ../src/ui/theme.c:5806 ../src/ui/theme.c:5869
|
||||
#, c-format
|
||||
msgid "User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
msgstr "பயனீட்டாளர்-குறிப்பிட்ட கான்ஸ்டன் பெரிய எழுத்தில் துவங்க வேண்டும்; \"%s\" இல்லை"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5752 ../src/ui/theme.c:5814 ../src/ui/theme.c:5877
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "கான்ஸ்டன் \"%s\" ஏற்கெனவே குறிப்பிடப்பட்டது"
|
||||
@@ -1727,88 +1781,88 @@ msgstr "இது உதாரண உரையாடல் பெட்டிய
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "பெய்யான மெனு உருப்படி %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "ஓரம்-மட்டும் சாளரம்"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "பட்டி"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "தவறான சாளர பயன்பாடு"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "உரையாடல் பெட்டி"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "மாதிரி உரையாடல் பெட்டி"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "பயன்பாடு மாதிரி"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "Torn-off மெனு"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "ஓரம்"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "இணைத்த மாதிரி உரையாடல்"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "பட்டன் உருவரை சோதனை %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "%g சாளரத்தை வரைய மில்லிசெக்கண்டு"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "பயன்பாடு: metacity-theme-viewer [THEMENAME]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "கருப்பொருளை ஏற்றுவதில் பிழை: %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "கருப்பொருள் \"%s\" %g செகண்டில்\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "இயல்பான தலைப்பு எழுத்துரு"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "சிறிய தலைப்பு எழுத்துரு"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "பெரிய தலைப்பு எழுத்துரு"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "பட்டன் உருவரை"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "நிர்ணயம்"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "சாளர தலைப்பு இங்கே"
|
||||
|
||||
@@ -2277,8 +2331,8 @@ msgstr "%d அச்சு கூற்று பகுக்கப்பட்
|
||||
#~ "\"disabled\", then there will be no keybinding for this action."
|
||||
#~ msgstr ""
|
||||
#~ "கீபைன்டிங் குறிப்பிட்ட எண்ணுள்ள கட்டளையை /apps/metacity/keybinding_commands இல் "
|
||||
#~ "இயக்கும். இதன் அமைப்பு \"<Control>a\" அல்லது\"<Shift><Alt>F1"
|
||||
#~ "\" வாக இருக்கும். இதன் பகுப்பி பெரிய மற்றும் சிறிய எழுத்துக்களை அனுமதிப்பதோடு, "
|
||||
#~ "இயக்கும். இதன் அமைப்பு \"<Control>a\" அல்லது\"<Shift><Alt>"
|
||||
#~ "F1\" வாக இருக்கும். இதன் பகுப்பி பெரிய மற்றும் சிறிய எழுத்துக்களை அனுமதிப்பதோடு, "
|
||||
#~ "\"<Ctl>\" மற்றும் \"<Ctrl>\".விரிவாக்கங்களை அனுமதிக்கும். "
|
||||
#~ "\"செயல்படுத்தாதே\" தேர்வை அமைப்பதன் மூலம் கீபைன்டிங் செயலை கட்டுப்படுத்த முடியும்"
|
||||
|
||||
|
||||
330
po/uk.po
330
po/uk.po
@@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: metacity\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-23 15:51+0200\n"
|
||||
"PO-Revision-Date: 2011-03-23 15:52+0300\n"
|
||||
"POT-Creation-Date: 2011-09-16 13:20+0300\n"
|
||||
"PO-Revision-Date: 2011-09-16 14:22+0300\n"
|
||||
"Last-Translator: Korostil Daniel <ted.korostiled@gmail.com>\n"
|
||||
"Language-Team: translation@linux.org.ua\n"
|
||||
"Language: uk\n"
|
||||
@@ -18,6 +18,15 @@ msgstr ""
|
||||
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Virtaal 0.6.1\n"
|
||||
|
||||
#. 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:492
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
msgstr "Уже запущено інший композитний менеджер на екрані %i через показ «%s»."
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "Перейти на робочий простір 1"
|
||||
@@ -337,24 +346,27 @@ msgstr "Подія гудка"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "Запит інформації невідомого вікна: %d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> не відповідає."
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "Програма не відповідає."
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
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:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "_Зачекати"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Завершити примусово"
|
||||
|
||||
@@ -378,7 +390,7 @@ msgstr "Клавішу «%s» з модифікаторами «%x» вже ви
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -389,12 +401,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "Команду %d не визначено.\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "Команду термінала не визначено.\n"
|
||||
@@ -423,12 +435,12 @@ msgstr "Розпочати сеанс зі збереженого файла"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "Зробити виклики X синхронними"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "Помилка зчитування каталогу тем: %s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -470,34 +482,34 @@ msgstr "Список композитних додатків розділени
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "Ключ GConf «%s» встановлено у неправильний тип\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr "Значення %d збережене в ключі GConf %s виходить за межі %d ― %d\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "Ключу GConf «%s» вказано неправильний тип\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr "Ключ GConf %s вже використовується і неможливо перевизначити %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "Неможливо перевизначити ключ GConf, %s не знайдено\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
@@ -505,12 +517,12 @@ msgstr ""
|
||||
"Обхід для роботи із зіпсованими програмами вимкнено. Деякі додатки можуть "
|
||||
"працювати некоректно.\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr "Неможливо проаналізувати опис шрифту «%s» у ключі GConf %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
@@ -519,17 +531,17 @@ msgstr ""
|
||||
"У базі даних налаштування знайдено «%s» — що не є правильним значенням "
|
||||
"модифікатора клавіші миші.\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "Помилка налаштування кількості робочих просторів у %d: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Робочий простір %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
@@ -538,27 +550,27 @@ msgstr ""
|
||||
"Знайдене у базі даних налаштування значення «%s» не є правильним записом "
|
||||
"прив'язки клавіш «%s»\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "Помилка налаштуванні назви робочих просторів %d у «%s»: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr "Помилка налаштування стану схованих вікон: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "Помилка налаштування стану контекстних вкладок: %s\n"
|
||||
|
||||
#: ../src/core/screen.c:623
|
||||
#: ../src/core/screen.c:741
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "Екран %d на дисплеї «%s» не правильний\n"
|
||||
|
||||
#: ../src/core/screen.c:639
|
||||
#: ../src/core/screen.c:757
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -567,7 +579,7 @@ msgstr ""
|
||||
"Екран %d на дисплеї «%s» вже має менеджера вікон; спробуйте вказати параметр "
|
||||
"--replace, щоб замінити поточний менеджер вікон.\n"
|
||||
|
||||
#: ../src/core/screen.c:666
|
||||
#: ../src/core/screen.c:784
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
@@ -575,64 +587,64 @@ msgstr ""
|
||||
"Не вдалось одержати функцію виділення менеджеру вікон на екрані %d дисплею "
|
||||
"«%s»\n"
|
||||
|
||||
#: ../src/core/screen.c:721
|
||||
#: ../src/core/screen.c:839
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "Екран %d на дисплеї «%s» вже має менеджера вікон\n"
|
||||
|
||||
#: ../src/core/screen.c:906
|
||||
#: ../src/core/screen.c:1024
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "Не вдалось відпустити екран %d на дисплеї «%s»\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "Не вдалось створити каталог «%s»: %s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "Не вдалось відкрити для запису файл сеансу «%s»: %s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "Помилка запису файла сеансу \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "Помилка закриття файла сеансу «%s»: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "Збій аналізування збереженого файла сеансу: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr "Прочитано атрибут <mutter_session>, але вже є ідентифікатор сеансу"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "Невідомий атрибут %s у елементі <%s>"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "вкладена мітка <window>"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "Невідомий елемент %s"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -660,30 +672,24 @@ msgstr "Відкрито журнал %s\n"
|
||||
msgid "Mutter was compiled without support for verbose mode\n"
|
||||
msgstr "Mutter зібрано без підтримки докладного режиму\n"
|
||||
|
||||
#: ../src/core/util.c:286
|
||||
#: ../src/core/util.c:290
|
||||
msgid "Window manager: "
|
||||
msgstr "Віконний менеджер:"
|
||||
|
||||
#: ../src/core/util.c:434
|
||||
#: ../src/core/util.c:438
|
||||
msgid "Bug in window manager: "
|
||||
msgstr "Вада у віконному менеджері:"
|
||||
|
||||
#: ../src/core/util.c:467
|
||||
#: ../src/core/util.c:471
|
||||
msgid "Window manager warning: "
|
||||
msgstr "Попередження віконного менеджера:"
|
||||
|
||||
#: ../src/core/util.c:495
|
||||
#: ../src/core/util.c:499
|
||||
msgid "Window manager error: "
|
||||
msgstr "Помилка віконного менеджера:"
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6795
|
||||
#: ../src/core/window.c:7066
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -699,7 +705,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7458
|
||||
#: ../src/core/window.c:7729
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
@@ -719,11 +725,16 @@ msgstr "Програма встановила неправильне значе
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (на %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1479
|
||||
#: ../src/core/window-props.c:1481
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "Неправильний параметр WM_TRANSIENT_FOR вікна 0x%lx вказано для %s.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1492
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "Вікно WM_TRANSIENT_FOR 0x%lx для %s створило б петлю.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -751,6 +762,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"Властивість %s вікна 0x%lx містить неправильний UTF-8 у пункті %d списку\n"
|
||||
|
||||
#: ../src/mutter.desktop.in.h:1 ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:1
|
||||
msgid "Attach modal dialogs"
|
||||
msgstr "Долучити модальні вікна"
|
||||
@@ -772,15 +787,27 @@ msgstr ""
|
||||
"на всіх моніторах, чи лише для вікон на первинному моніторі."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "Перетяжна ширина меж"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "Активувати сховані вікна"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr ""
|
||||
"Модифікатор, що використовується для розширених дій віконного менеджера"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 ""
|
||||
"Загальний об'єм перетяжних меж. Якщо видимих меж теми не вистачає, буде "
|
||||
"використано це значення з невидимих меж."
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -791,7 +818,7 @@ msgstr ""
|
||||
"запуску програм. Типово на це призначено клавішу «Win» в обладнанні. "
|
||||
"Очікується, що це буде прив'язка або типова, або порожній рядок."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
msgid ""
|
||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
@@ -801,7 +828,7 @@ msgstr ""
|
||||
"долучено до батьківського вікна заголовка і пересунуто разом з батьківських "
|
||||
"вікном."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Робочий простір лише на первинному"
|
||||
|
||||
@@ -810,47 +837,47 @@ msgstr "Робочий простір лише на первинному"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Використання: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "Закрити вікно"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "Меню вікна"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "Згорнути вікно"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "Розгорнути вікно"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "Відновити вікно"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Скотити вікно"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "Розкотити вікно"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Тримати вікно нагорі"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Прибрати вікно з гори"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Завжди на видимому робочому просторі"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Розміщувати вікно лише на одному робочому просторі"
|
||||
|
||||
@@ -1053,48 +1080,75 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "top"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "bottom"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "left"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "right"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "геометрія рамки не визначає розмір «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr "геометрія рамки не визначає розмір «%s» рамки «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "Неприпустимий коефіцієнт пропорційності %g"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "Геометрія рамки не визначає розміри кнопок"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1065
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "Градієнти повинні мати принаймні два кольори"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1217
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"Специфікації власного кольору GTK повинні мати назву кольору і запас у "
|
||||
"дужках, наприклад, gtk:custom(foo,bar); неможливо розібрати «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1233
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr ""
|
||||
"Неправильний символ «%c» у параметрі color_name для gtk:custom, дозволено "
|
||||
"тільки A-Za-z0-9-_"
|
||||
|
||||
#: ../src/ui/theme.c:1247
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr ""
|
||||
"Формат Gtk:custom — «gtk:custom(color_name,fallback)», «%s» не відповідає "
|
||||
"формату"
|
||||
|
||||
#: ../src/ui/theme.c:1292
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1103,7 +1157,7 @@ msgstr ""
|
||||
"При визначенні кольору GTK потрібно вказувати режим у прямокутних дужках, "
|
||||
"наприклад, gtk:fg[NORMAL], де NORMAL — режим; неможливо розібрати «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1306
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1113,17 +1167,17 @@ msgstr ""
|
||||
"прямокутна дужка, наприклад, gtk:fg[NORMAL], де NORMAL — режим; неможливо "
|
||||
"розібрати «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1317
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "Неможливо розпізнати режим «%s» у визначенні кольору"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1330
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "Неможливо розпізнати компонент кольору «%s» у визначенні кольору"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1360
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
@@ -1132,44 +1186,44 @@ msgstr ""
|
||||
"Формат визначення змішаного кольору такий — «blend/bg_color/fg_color/alpha», "
|
||||
"«%s» не відповідає формату"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1371
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "Неможливо розібрати значення альфа «%s» у змішаному кольорі"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1381
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "Значення альфа «%s» у змішаному кольорі поза межами 0.0 — 1.0"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1428
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
msgstr ""
|
||||
"Формат тіні такий — «shade/base_color/factor», «%s» не відповідає формату"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1439
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "Не вдалось проаналізувати компонент тіні «%s» у затіненому кольорі"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1449
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "Компонент тіні «%s» у затіненому кольорі від'ємний"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1478
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "Не вдалось проаналізувати колір «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1789
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "Вираз координати містить заборонений символ «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1816
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
@@ -1177,29 +1231,29 @@ msgid ""
|
||||
msgstr ""
|
||||
"Вираз координати містить число з рухомою комою «%s», яке не вдалось розібрати"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1830
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr "Вираз координати містить ціле число «%s», яке не вдалось розібрати"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1952
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
"\"%s\""
|
||||
msgstr "Вираз координати містить невідомий оператор на початку тексту: «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:2009
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "Вираз координати був пустий або його неможливо розпізнати"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2120 ../src/ui/theme.c:2130 ../src/ui/theme.c:2164
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "Вираз координати призвів до ділення на нуль"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2172
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
@@ -1207,23 +1261,23 @@ msgstr ""
|
||||
"Вираз координати намагається використати оператор знаходження залишку від "
|
||||
"ділення для числа з рухомою комою"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2228
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr "Вираз координати містить оператор «%s», там де очікувався операнд"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2237
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "Вираз координати містить оператор, там де очікувався оператор"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2245
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "Вираз координати закінчується оператором замість операнда"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2255
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1232,37 +1286,37 @@ msgstr ""
|
||||
"Вираз координати містить оператор «%c», за яким йде оператор «%c» без "
|
||||
"операнду між ними"
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2406 ../src/ui/theme.c:2451
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr "Вираз координати містить невідому змінну або константу «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2505
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "Переповнення буфера обробника координат."
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2534
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr "Вираз координати містить завершальну дужку без відповідної починальної"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2598
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr "Вираз координати містить починальну дужку без відповідної завершальної"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2609
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "Здається, вираз координати не містить жодного оператора чи операнду"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2821 ../src/ui/theme.c:2841 ../src/ui/theme.c:2861
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "Тема містить вираз, що призводить до помилки: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4532
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1271,25 +1325,25 @@ msgstr ""
|
||||
"для цього стилю рамки треба вказати <button function=\"%s\" state=\"%s\" "
|
||||
"draw_ops=\"будь-що\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5065 ../src/ui/theme.c:5090
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr ""
|
||||
"Нема <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"будь-що\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5138
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "Не вдалось завантажити тему «%s»: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5274 ../src/ui/theme.c:5281 ../src/ui/theme.c:5288
|
||||
#: ../src/ui/theme.c:5295 ../src/ui/theme.c:5302
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "Не встановлено <%s> для теми «%s»"
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5310
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1298,7 +1352,7 @@ msgstr ""
|
||||
"Немає стилю рамки для вікна типу «%s» у темі «%s», додайте елемент <window "
|
||||
"type=\"%s\" style_set=\"будь-що\"/> "
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5708 ../src/ui/theme.c:5770 ../src/ui/theme.c:5833
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
@@ -1306,7 +1360,7 @@ msgstr ""
|
||||
"Визначені користувачем константи повинні починатись з великої літери; «%s» "
|
||||
"не починається з великої літери"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5716 ../src/ui/theme.c:5778 ../src/ui/theme.c:5841
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "Константу «%s» вже визначено"
|
||||
@@ -1763,88 +1817,88 @@ msgstr "Це зразок повідомлення у зразковому ді
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "Фальшивий елемент меню %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "Вікно лише з рамкою"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "Прямокутник"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "Звичайне вікно програми"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "Діалог"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "Модальне вікно"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "Допоміжна палітра"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "Відірване меню"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "Рамка"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "Долучене модальне вікно"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "Випробування компонування кнопок %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "%g мілісекунд для малювання однієї рамки вікна"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "Використання: metacity-theme-viewer [НАЗВА_ТЕМИ]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "Помилка завантаження теми: %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "Завантажено тему «%s» за %g секунд\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "Звичайний шрифт заголовка"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "Малий шрифт заголовка"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "Великий шрифт заголовка"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "Компонування кнопок"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "Продуктивність"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "Тут буде заголовок вікна"
|
||||
|
||||
|
||||
310
po/zh_CN.po
310
po/zh_CN.po
@@ -16,8 +16,8 @@ msgstr ""
|
||||
"Project-Id-Version: mutter master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-03-23 20:40+0000\n"
|
||||
"PO-Revision-Date: 2011-03-24 17:18+0000\n"
|
||||
"POT-Creation-Date: 2011-08-10 12:42+0000\n"
|
||||
"PO-Revision-Date: 2011-08-21 15:16+0000\n"
|
||||
"Last-Translator: YunQiang Su <wzssyqa@gmail.com>\n"
|
||||
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -25,6 +25,15 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. 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:487
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
msgstr "DISPLAY %2$s 的屏幕 %1$i 上已有另外一个混成窗口管理器正在运行。"
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "切换到工作区 1"
|
||||
@@ -342,23 +351,26 @@ msgstr "响铃事件"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "未知的窗口信息请求:%d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> 未响应。"
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "应用程序未响应。"
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
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:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "等待(_W)"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "强制退出(_F)"
|
||||
|
||||
@@ -382,7 +394,7 @@ msgstr "某个其它程序已经将按键 %s 和修饰键 %x 配合使用作为
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -393,12 +405,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "命令 %d 尚未定义。\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "终端命令尚未定义。\n"
|
||||
@@ -427,12 +439,12 @@ msgstr "从保存文件中初始化会话"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "使 X 调用同步"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "扫描主题目录失败:%s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -471,89 +483,89 @@ msgstr "逗号分开 列表和混合渲染器插件"
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "GConf 关键字“%s”被设置为无效值\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr "存储在 GConf 关键字 %2$s 中的值 %1$d 超出了 %3$d 到 %4$d 的范围\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "GConf 关键字“%s”被设置为无效的类型\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr "GConf 键 %s 已经使用,不能用于替代 %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "无法替代 GConf 键,未找到 %s \n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
msgstr "有缺陷的应用程序的工作区已禁用。某些应用程序可能无法正常运行。\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr "无法解析字体说明“%s”(来自 GConf 关键字 %s)\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
"modifier\n"
|
||||
msgstr "在配置数据库中找到的“%s”不是鼠标按钮修饰键的有效值\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "将工作区数量设置为 %d 时出错:%s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "工作区 %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
"\"%s\"\n"
|
||||
msgstr "在配置数据库中找到的“%s”不是按键组合“%s”的有效值\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "将工作区 %d 的名称设置为“%s”时出错:%s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr "设置实时隐藏窗口状态时出错:%s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "设置无标签页弹出状态时出错:%s\n"
|
||||
|
||||
#: ../src/core/screen.c:624
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "显示“%2$s”上的屏幕 %1$d 无效\n"
|
||||
|
||||
#: ../src/core/screen.c:640
|
||||
#: ../src/core/screen.c:679
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -562,70 +574,70 @@ msgstr ""
|
||||
"显示“%2$s”上的屏幕 %1$d 已经有一个窗口管理器;请尝试使用 --replace 选项替换当"
|
||||
"前的窗口管理器。\n"
|
||||
|
||||
#: ../src/core/screen.c:667
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
msgstr "无法获得显示“%2$s”上的屏幕 %1$d 的窗口管理器选定项\n"
|
||||
|
||||
#: ../src/core/screen.c:722
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "在显示“%2$s”上的 %1$d 屏幕已经有一个窗口管理器\n"
|
||||
|
||||
#: ../src/core/screen.c:907
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "无法释放显示“%2$s”上的屏幕 %1$d\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "无法创建目录“%s”:%s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "无法打开会话文件“%s”进行写入:%s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "写入会话文件“%s”时出错:%s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "关闭会话文件“%s”时出错:%s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "无法解析保存的会话文件:%s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr "<mutter_session> 属性已看到,但我们已经拥有该会话 ID"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "<%2$s> 元素上未知的属性 %1$s"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "嵌套 <window> 标记"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "未知的元素 %s"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -670,13 +682,13 @@ msgid "Window manager error: "
|
||||
msgstr "窗口管理器错误:"
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/core/util.c:632 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6795
|
||||
#: ../src/core/window.c:6959
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -692,7 +704,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7458
|
||||
#: ../src/core/window.c:7622
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
|
||||
@@ -711,11 +723,16 @@ msgstr "应用程序设置一个假的 _NET_WM_PID %lu\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (于 %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1479
|
||||
#: ../src/core/window-props.c:1488
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "为 %2$s 指定了无效的 WM_TRANSIENT_FOR 窗口 0x%1$lx。\n"
|
||||
|
||||
#: ../src/core/window-props.c:1500
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "为 %2$s 指定的 WM_TRANSIENT_FOR 窗口 0x%1$lx 将导致循环。\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -760,14 +777,25 @@ msgid ""
|
||||
msgstr "决定工作区切换对所有显示器上的窗口还是只对主显示器上的有效。"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "可拖拽的边界宽度"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "实时隐藏窗口"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr "用于修改窗口点击动作的修饰键 met"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 ""
|
||||
"可拖拽的边界总数。如果主题的可见边界不足,将添加不可见的边界来满足此值。"
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -777,7 +805,7 @@ msgstr ""
|
||||
"这个键指出的“覆盖”是一种混合窗口概述和应用程序运行的系统。默认要求使用 "
|
||||
"“Super 键”。可能使用默认或者空白。"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
msgid ""
|
||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
@@ -787,7 +815,7 @@ msgstr ""
|
||||
"单独的标题栏。"
|
||||
|
||||
# 或者 只在主显示器上显示工作区
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "只对主显示器上的工作区"
|
||||
|
||||
@@ -796,47 +824,47 @@ msgstr "只对主显示器上的工作区"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "用法:%s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1123
|
||||
msgid "Close Window"
|
||||
msgstr "关闭窗口"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1126
|
||||
msgid "Window Menu"
|
||||
msgstr "窗口菜单"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1129
|
||||
msgid "Minimize Window"
|
||||
msgstr "最小化窗口"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1132
|
||||
msgid "Maximize Window"
|
||||
msgstr "最大化窗口"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1135
|
||||
msgid "Restore Window"
|
||||
msgstr "恢复窗口"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1138
|
||||
msgid "Roll Up Window"
|
||||
msgstr "卷起窗口"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1141
|
||||
msgid "Unroll Window"
|
||||
msgstr "展开窗口"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1144
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "窗口常居顶端"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1147
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "取消窗口常居顶端"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1150
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "总在可见工作区"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1153
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "只将窗口放在一个工作区"
|
||||
|
||||
@@ -1039,48 +1067,72 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "上"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "下"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "左"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "右"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "框架几何布局没有指定“%s”尺寸"
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr "框架几何布局没有指定“%s”尺寸(该尺寸是为边框“%s”指定的)"
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "按钮长宽比 %g 不合理"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "框架几何布局没有指定按钮大小"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "渐变应至少有两种颜色"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1205
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"GTK 颜色规范要求色彩名称和其后备值必须在随后的圆括号内,例如 "
|
||||
"gtk:custom(foo,bar);无法解析“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1221
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr ""
|
||||
"gtk:custom 中包含无效的字符 %c,仅允许使用 A-Za-z0-9-_"
|
||||
|
||||
#: ../src/ui/theme.c:1235
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr "Gtk:custom 的格式为 gtk:custom(color_name,fallback),“%s”不符合该格式"
|
||||
|
||||
#: ../src/ui/theme.c:1271
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1089,7 +1141,7 @@ msgstr ""
|
||||
"GTK 颜色规范必须将状态包含在方括号中,例如 gtk:fg[NORMAL]其中 NORMAL 是状态;"
|
||||
"无法解析“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1285
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1098,148 +1150,148 @@ msgstr ""
|
||||
"GTK 颜色规范必须在状态后有一个闭方括号,例如 gtk:fg[NORMAL],其中 NORMAL 是状"
|
||||
"态;无法解析“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1296
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "不理解颜色规范中的状态“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1309
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "不理解颜色规范中的颜色组成部分“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1339
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
"format"
|
||||
msgstr "混合格式为“blend/bg_color/fg_color/alpha”,“%s”不符合该格式"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1350
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "无法解析混合色中的 Alpha 值“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1360
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "混合色中的 Alpha 值“%s”不在 0.0 到 1.0 之间"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1407
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
msgstr "阴影格式为“shade/base_color/factor”,“%s”不符合该格式"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1418
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "无法解析阴影色中的阴影因子“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1428
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "阴影色中的阴影因子“%s”为负数"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1457
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "无法解析颜色“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1768
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "坐标表达式包含不允许的字符“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1795
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
"parsed"
|
||||
msgstr "坐标表达式包含无法解析的浮点数“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1809
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr "坐标表达式包含无法解析的整数“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1931
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
"\"%s\""
|
||||
msgstr "坐标表达式在该文本开始处包含未知的运算符:“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:1988
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "坐标表达式为空或无法理解"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2099 ../src/ui/theme.c:2109 ../src/ui/theme.c:2143
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "坐标表达式用零做除数"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2151
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
msgstr "坐标表达式试图对浮点数使用 mod 运算符"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2207
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr "坐标表达式的运算符“%s”应该是一个操作数"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2216
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "坐标表达式的某个操作数应该是运算符"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2224
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "坐标表达式以运算符结尾,而不是以操作数结尾"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2234
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
"operand in between"
|
||||
msgstr "坐标表达式的运算符“%c”后面跟着运算符“%c”,之间没有操作数"
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2385 ../src/ui/theme.c:2430
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr "坐标表达式有未知的变量或常数“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2484
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "坐标表达式溢出了其缓冲区。"
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2513
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr "坐标表达式有一个闭括号,而没有开括号"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2577
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr "坐标表达式有一个开括号,而没有闭括号"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2588
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "坐标表达式似乎没有任何运算符或操作数"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2800 ../src/ui/theme.c:2820 ../src/ui/theme.c:2840
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "主题包含的一个表达式产生错误:%s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4511
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1248,25 +1300,25 @@ msgstr ""
|
||||
"必须为该框架风格指定<button function=\"%s\" state=\"%s\" draw_ops=\"whatever"
|
||||
"\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5044 ../src/ui/theme.c:5069
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr ""
|
||||
"缺少 <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5117
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "无法载入主题“%s”:%s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5253 ../src/ui/theme.c:5260 ../src/ui/theme.c:5267
|
||||
#: ../src/ui/theme.c:5274 ../src/ui/theme.c:5281
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "没有为主题“%2$s”设置 <%1$s>"
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5289
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1275,13 +1327,13 @@ msgstr ""
|
||||
"没有为窗口类型“%s”(在主题“%s”中)设置框架风格,请添加一个 <window type=\"%s\" "
|
||||
"style_set=\"whatever\"/> 元素"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5728 ../src/ui/theme.c:5790 ../src/ui/theme.c:5853
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
msgstr "用户定义的常数必须以大写字母开头;而“%s”却不必"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5736 ../src/ui/theme.c:5798 ../src/ui/theme.c:5861
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "常数“%s”已被定义"
|
||||
@@ -1720,88 +1772,88 @@ msgstr "这是示例对话框中的示例消息"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "虚假菜单项 %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "只有边框的窗口"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "栏"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "普通的应用程序窗口"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "对话框"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "模态对话框"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "工具盘"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "撕下的菜单"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "边框"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "依附的模态对话框"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "按钮布局测试 %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "%g 毫秒用来绘制一个窗口框架"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "用法:metacity-theme-viewer [主题名称]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "载入主题出错:%s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "在 %2$g 秒内载入主题“%1$s”\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "普通标题字体"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "小标题字体"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "大标题字体"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "按钮布局"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "基准"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "窗口标题在这里"
|
||||
|
||||
|
||||
317
po/zh_HK.po
317
po/zh_HK.po
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: metacity 2.91.93\n"
|
||||
"Project-Id-Version: metacity 3.1.90\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-30 21:31+0800\n"
|
||||
"PO-Revision-Date: 2011-03-30 21:31+0800\n"
|
||||
"POT-Creation-Date: 2011-09-06 19:49+0800\n"
|
||||
"PO-Revision-Date: 2011-09-06 19:49+0800\n"
|
||||
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
|
||||
"Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
|
||||
"Language: \n"
|
||||
@@ -18,6 +18,16 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
# 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:486
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
msgstr "在畫面「%2$s」中的第 %1$i 個螢幕中已啟動另一個組合視窗管理員。"
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "切換至第 1 個工作區"
|
||||
@@ -335,23 +345,26 @@ msgstr "響鈴事件"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "未知的視窗資訊要求:%d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> 沒有回應。"
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "應用程式沒有回應。"
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
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:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "等待(_W)"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "強制結束(_F)"
|
||||
|
||||
@@ -375,7 +388,7 @@ msgstr "其它程式已經使用了按鍵 %s 加上特殊按鍵 %x 作為按鍵
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -386,12 +399,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "並未定義任何指令 %d。\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "沒有定義任何終端機指令。\n"
|
||||
@@ -420,12 +433,12 @@ msgstr "以 savefile 初始化作業階段"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "使用同步方式調用 X 函數"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "找不到佈景主題目錄:%s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -464,90 +477,90 @@ msgstr "以逗號分隔的複合視窗外掛程式清單"
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "GConf 設定鍵‘%s’的設定值無效\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr "GConf 設定鍵 %2$s 的值 %1$d 超出範圍 (%3$d 至 %4$d)\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "GConf 設定鍵“%s”的設定值類型無效\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr "GConf 設定鍵 %s 已在使用中,因此不能用來覆蓋 %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "不能覆蓋 GConf 設定鍵,找不到 %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
msgstr "關閉了對不合規格的程式的支援。某些程式可能無法正常運作。\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr "無法從 GConf 設定鍵 %2$s 分析字型描述文字“%1$s”\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
"modifier\n"
|
||||
msgstr "組態資料庫中的“%s”設定值不是有效的滑鼠按鈕修改功能鍵\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "將工作區數目設定為 %d 個時出現錯誤:%s\n"
|
||||
|
||||
# (Abel) take care of the same string in libwnck
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "工作區 %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
"\"%s\"\n"
|
||||
msgstr "組態資料庫中的“%s”不是按鍵組合“%s”的有效設定值\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "將第 %d 個工作區的名稱設定為“%s”時出現錯誤:%s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr "設定使用中隱藏視窗狀態時發生錯誤:%s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "設定無分頁彈出視窗狀態時發生錯誤:%s\n"
|
||||
|
||||
#: ../src/core/screen.c:624
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "畫面‘%2$s’中的第 %1$d 個螢幕無效\n"
|
||||
|
||||
#: ../src/core/screen.c:640
|
||||
#: ../src/core/screen.c:679
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -555,70 +568,70 @@ msgid ""
|
||||
msgstr "畫面‘%2$s’中的第 %1$d 個螢幕已經有了視窗管理員;請嘗試使用 --replace 選項來替換目前的視窗管理員。\n"
|
||||
|
||||
# FIXME: I'm still unclear about the meaning of XGetSelectionOwner -- Abel
|
||||
#: ../src/core/screen.c:667
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
msgstr "無法在畫面“%2$s”中的第 %1$d 個螢幕進行視窗管理員選擇程序\n"
|
||||
|
||||
#: ../src/core/screen.c:722
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "畫面“%2$s”中的第 %1$d 個螢幕已經有了視窗總管\n"
|
||||
|
||||
#: ../src/core/screen.c:907
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "無法釋放畫面“%2$s”中的第 %1$d 個螢幕\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "無法建立目錄‘%s’:%s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "無法開啟作業階段檔案‘%s’以供寫入資料:%s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "無法寫入作業階段檔案‘%s’:%s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "無法關閉作業階段檔案‘%s’:%s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "無法分析已儲存的作業階段檔案:%s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr "出現了 <metacity_session> 的屬性,但作業階段 ID 已經存在"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "<%2$s> 元素中出現不明的屬性 %1$s"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "重疊的 <window> 區域"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "不明的元素 %s"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -644,30 +657,30 @@ msgstr "已開啟記錄檔 %s\n"
|
||||
msgid "Mutter was compiled without support for verbose mode\n"
|
||||
msgstr "編譯 Mutter 時並沒有加入詳細偵錯模式的支援\n"
|
||||
|
||||
#: ../src/core/util.c:286
|
||||
#: ../src/core/util.c:290
|
||||
msgid "Window manager: "
|
||||
msgstr "視窗管理員:"
|
||||
|
||||
#: ../src/core/util.c:434
|
||||
#: ../src/core/util.c:438
|
||||
msgid "Bug in window manager: "
|
||||
msgstr "視窗總管出現錯誤:"
|
||||
|
||||
#: ../src/core/util.c:467
|
||||
#: ../src/core/util.c:471
|
||||
msgid "Window manager warning: "
|
||||
msgstr "視窗總管警告:"
|
||||
|
||||
#: ../src/core/util.c:495
|
||||
#: ../src/core/util.c:499
|
||||
msgid "Window manager error: "
|
||||
msgstr "視窗總管錯誤:"
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/core/util.c:640 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6847
|
||||
#: ../src/core/window.c:7019
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -681,7 +694,7 @@ msgstr "視窗 %s 將 SM_CLIENT_ID 設定為該視窗本身,而不是 ICCCM
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7510
|
||||
#: ../src/core/window.c:7682
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
@@ -698,11 +711,16 @@ msgstr "程式設定了多餘的 _NET_WM_PID %lu\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s(在 %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1482
|
||||
#: ../src/core/window-props.c:1481
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "%2$s 指定了無效的 WM_TRANSIENT_FOR 視窗 0x%1$lx。\n"
|
||||
|
||||
#: ../src/core/window-props.c:1492
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "%2$s 的 WM_TRANSIENT_FOR 視窗 0x%1$lx 會造成迴圈。\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -746,14 +764,24 @@ msgid ""
|
||||
msgstr "決定工作區切換是否使用於所有螢幕的視窗或只用於主要螢幕的視窗。"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "可拖曳邊框闊度"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "活動中的隱藏 Windows"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr "用於延伸視窗管理操作程序的特殊按鍵"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 "所有可拖曳邊框的總數。如果布景的可視邊框不夠,會加入隱形邊框來符合這個數值。"
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -761,14 +789,14 @@ msgid ""
|
||||
"default or set to the empty string."
|
||||
msgstr "這個設定鍵會初始化「overlay」,這是一個複合視窗概覽與應用程式執行系統。預設是要成為 PC 硬件上的「Windows key」。預期這個按鍵組含不是預設值就是設定為空字串。"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
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 "當設為「true」,將不會有獨立的標題列,模態對話盒會附加在上層視窗的標題列並與上層視窗一起移動。"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "只有主要螢幕的工作區"
|
||||
|
||||
@@ -777,48 +805,48 @@ msgstr "只有主要螢幕的工作區"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "用法:%s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "關閉視窗"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "視窗選單"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "視窗最小化"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "視窗最大化"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "還原視窗"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "捲起視窗(_U)"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "放下視窗"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "視窗保留在最上層"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "視窗移離最上層"
|
||||
|
||||
# (Abel) take care of the same string in libwnck
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "在所有工作區顯示"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "視窗只置於一個工作區"
|
||||
|
||||
@@ -1037,240 +1065,261 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "頂"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "底"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "左"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "右"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "邊框的位置大小中沒有指定“%s”部分的大小"
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr "邊框的位置大小中沒有指定“%2$s”邊框中的“%1$s”部分"
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "按鈕的長寬比 %g 不合理"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "邊框的位置大小規格內未有指定按鈕的大小"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "漸變色至少應該有兩種顏色"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1212
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr "GTK 自選顏色規格規定必須有顏色名稱並加上封閉括號,例如 gtk:custom(foo,bar);無法分析「%s」"
|
||||
|
||||
#: ../src/ui/theme.c:1228
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr "gtk:custom 的 color_name 參數 '%c' 中有無效字符,只能使用 A-Za-z0-9-_ "
|
||||
|
||||
#: ../src/ui/theme.c:1242
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr "Gtk:custom 的格式是「gtk:custom(color_name,fallback)」,但「%s」不符合格式"
|
||||
|
||||
#: ../src/ui/theme.c:1287
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
"where NORMAL is the state; could not parse \"%s\""
|
||||
msgstr "GTK 色彩規格規定必須在狀態外加上方括號,例如 gtk:fg[NORMAL],這裏 NORMAL 表示狀態;無法分析“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1301
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
"fg[NORMAL] where NORMAL is the state; could not parse \"%s\""
|
||||
msgstr "GTK 色彩規格規定必須在狀態後加上閉方括號,例如 gtk:fg[NORMAL],這裏 NORMAL 表示狀態;無法分析“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1312
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "無法將“%s”理解為色彩規格中的狀態"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1325
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "無法將“%s”理解為色彩規格中的色彩部分"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1355
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
"format"
|
||||
msgstr "指定混色的格式是“blend/背景顏色/前景顏色/透明度”,“%s”不符合規格"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1366
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "無法理解“%s”作為混色的透明度數值"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1376
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "混色的透明度數值“%s”不是在 0.0 至 1.0 之間"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1423
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
msgstr "陰影的格式是“shade/基本顏色/比重”,但“%s”不符合格式"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1434
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "在陰影顏色中無法將“%s”理解為陰影比重"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1444
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "在陰影顏色中陰影比重“%s”是負數"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1473
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "無法分析顏色“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1784
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "座標表達式中出現不可接受的字符‘%s’"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1811
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
"parsed"
|
||||
msgstr "座標表達式中出現無法分析的浮點小數‘%s’"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1825
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr "座標表達式中出現無法分析的整數‘%s’"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1947
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
"\"%s\""
|
||||
msgstr "在座標表達式中,以下文字的開始部分含有不明的運算符:“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:2004
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "座標表達式是空白的或是無法分析"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2115 ../src/ui/theme.c:2125 ../src/ui/theme.c:2159
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "座標表達式中出現被 0 整除的錯誤"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2167
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
msgstr "座標表達式中出現將浮點數使用於餘數運算符 (mod) 的錯誤"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2223
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr "在座標表達式中,應該有運算子的地方出現了運算符“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2232
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "在座標表達式中,應該有運算符的地方出現了運算子"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2240
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "結束座標表達式的是一個運算符而非運算子"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2250
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
"operand in between"
|
||||
msgstr "在座標表達式中,運算符“%c”緊隨運算符“%c”出現,但中間沒有任何運算子"
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2401 ../src/ui/theme.c:2446
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr "座標表達式中出現不明的變數或常數“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2500
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "座標表達式分析器令緩衝溢位。"
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2529
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr "座標表達式中的閉括號沒有相應的開括號"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2593
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr "座標表達式中的開括號沒有相應的閉括號"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2604
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "座標表達式中似乎沒有任何運算符或運算子"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2816 ../src/ui/theme.c:2836 ../src/ui/theme.c:2856
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "佈景主題中含有引致錯誤的表達式:%s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4527
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
"specified for this frame style"
|
||||
msgstr "此邊框款式必須指定 <button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5060 ../src/ui/theme.c:5085
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr "缺少了 <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5133
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "無法載入佈景主題“%s”:%s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5269 ../src/ui/theme.c:5276 ../src/ui/theme.c:5283
|
||||
#: ../src/ui/theme.c:5290 ../src/ui/theme.c:5297
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "佈景主題“%s”未指定 <%s>"
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5305
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
"type=\"%s\" style_set=\"whatever\"/> element"
|
||||
msgstr "在佈景主題“%2$s”中,視窗類型“%1$s”沒有指定任何邊框款式。請加上 <window type=\"%3$s\" style_set=\"whatever\"/> 元素"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5744 ../src/ui/theme.c:5806 ../src/ui/theme.c:5869
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
msgstr "自行定義的常數必須以大寫字母開始;但“%s”不是"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5752 ../src/ui/theme.c:5814 ../src/ui/theme.c:5877
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "已定義了“%s”常數"
|
||||
@@ -1702,88 +1751,88 @@ msgstr "這是在樣版對話視窗中的樣版訊息"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "假的選單項目 %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "只有邊框的視窗"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "列"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "正常的程式視窗"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "對話盒"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "模態對話盒"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "公用程式控制板"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "關閉選單"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "邊框"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "附加的模態對話盒"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "按鈕配置測試 %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "繪畫一個視窗需時 %g 毫秒"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "用法: metacity-theme-viewer [佈景主題名稱]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "載入佈景主題失敗 %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "載入佈景主題 “%s” 需時 %g 秒\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "正常標題列字型"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "小標題列字型"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "大標題列字型"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "按鈕配置"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "速度測試"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "這裏是視窗標題"
|
||||
|
||||
|
||||
321
po/zh_TW.po
321
po/zh_TW.po
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: metacity 2.91.93\n"
|
||||
"Project-Id-Version: metacity 3.1.90\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-30 21:31+0800\n"
|
||||
"PO-Revision-Date: 2011-03-30 14:09+0800\n"
|
||||
"POT-Creation-Date: 2011-09-06 19:49+0800\n"
|
||||
"PO-Revision-Date: 2011-09-05 20:16+0800\n"
|
||||
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
|
||||
"Language-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n"
|
||||
"Language: \n"
|
||||
@@ -18,6 +18,16 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
# 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:486
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
msgstr "在畫面「%2$s」中的第 %1$i 個螢幕中已啟動另一個組合視窗管理員。"
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
msgstr "切換至第 1 個工作區"
|
||||
@@ -335,23 +345,26 @@ msgstr "響鈴事件"
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "未知的視窗資訊要求:%d"
|
||||
|
||||
#. Translators: %s is a window title
|
||||
#: ../src/core/delete.c:94
|
||||
#: ../src/core/delete.c:111
|
||||
#, c-format
|
||||
msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> 沒有回應。"
|
||||
|
||||
#: ../src/core/delete.c:99
|
||||
#: ../src/core/delete.c:114
|
||||
msgid "Application is not responding."
|
||||
msgstr "應用程式沒有回應。"
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
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:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Wait"
|
||||
msgstr "等待(_W)"
|
||||
|
||||
#: ../src/core/delete.c:108
|
||||
#: ../src/core/delete.c:126
|
||||
msgid "_Force Quit"
|
||||
msgstr "強制結束(_F)"
|
||||
|
||||
@@ -375,7 +388,7 @@ msgstr "其它程式已經使用了按鍵 %s 加上特殊按鍵 %x 作為按鍵
|
||||
#. Displayed when a keybinding which is
|
||||
#. * supposed to launch a program fails.
|
||||
#.
|
||||
#: ../src/core/keybindings.c:2468
|
||||
#: ../src/core/keybindings.c:2523
|
||||
#, c-format
|
||||
msgid ""
|
||||
"There was an error running <tt>%s</tt>:\n"
|
||||
@@ -386,12 +399,12 @@ msgstr ""
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#: ../src/core/keybindings.c:2558
|
||||
#: ../src/core/keybindings.c:2613
|
||||
#, c-format
|
||||
msgid "No command %d has been defined.\n"
|
||||
msgstr "並未定義任何指令 %d。\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "沒有定義任何終端機指令。\n"
|
||||
@@ -420,12 +433,12 @@ msgstr "以 savefile 初始化作業階段"
|
||||
msgid "Make X calls synchronous"
|
||||
msgstr "使用同步方式調用 X 函式"
|
||||
|
||||
#: ../src/core/main.c:506
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "找不到佈景主題目錄:%s\n"
|
||||
|
||||
#: ../src/core/main.c:522
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||
@@ -464,90 +477,90 @@ msgstr "以逗號分隔的複合視窗外掛程式清單"
|
||||
#. * (Empty comment follows so the translators don't see this.)
|
||||
#.
|
||||
#.
|
||||
#: ../src/core/prefs.c:543 ../src/core/prefs.c:704
|
||||
#: ../src/core/prefs.c:550 ../src/core/prefs.c:711
|
||||
#, c-format
|
||||
msgid "GConf key '%s' is set to an invalid value\n"
|
||||
msgstr "GConf 設定鍵‘%s’的設定值無效\n"
|
||||
|
||||
#: ../src/core/prefs.c:630 ../src/core/prefs.c:873
|
||||
#: ../src/core/prefs.c:637 ../src/core/prefs.c:880
|
||||
#, c-format
|
||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
||||
msgstr "GConf 設定鍵 %2$s 的值 %1$d 超出範圍 (%3$d 至 %4$d)\n"
|
||||
|
||||
#: ../src/core/prefs.c:674 ../src/core/prefs.c:751 ../src/core/prefs.c:799
|
||||
#: ../src/core/prefs.c:863 ../src/core/prefs.c:1324 ../src/core/prefs.c:1340
|
||||
#: ../src/core/prefs.c:1357 ../src/core/prefs.c:1373
|
||||
#: ../src/core/prefs.c:681 ../src/core/prefs.c:758 ../src/core/prefs.c:806
|
||||
#: ../src/core/prefs.c:870 ../src/core/prefs.c:1331 ../src/core/prefs.c:1347
|
||||
#: ../src/core/prefs.c:1364 ../src/core/prefs.c:1380
|
||||
#, c-format
|
||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
||||
msgstr "GConf 設定鍵“%s”的設定值類型無效\n"
|
||||
|
||||
#: ../src/core/prefs.c:1203
|
||||
#: ../src/core/prefs.c:1210
|
||||
#, c-format
|
||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
||||
msgstr "GConf 設定鍵 %s 已在使用中,因此不能用來覆蓋 %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1262
|
||||
#: ../src/core/prefs.c:1269
|
||||
#, c-format
|
||||
msgid "Can't override GConf key, %s not found\n"
|
||||
msgstr "不能覆蓋 GConf 設定鍵,找不到 %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
msgstr "關閉了對不合規格的程式的支援。某些程式可能無法正常運作。\n"
|
||||
|
||||
#: ../src/core/prefs.c:1524
|
||||
#: ../src/core/prefs.c:1531
|
||||
#, c-format
|
||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
||||
msgstr "無法從 GConf 設定鍵 %2$s 分析字型描述文字“%1$s”\n"
|
||||
|
||||
#: ../src/core/prefs.c:1586
|
||||
#: ../src/core/prefs.c:1593
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||
"modifier\n"
|
||||
msgstr "組態資料庫中的“%s”設定值不是有效的滑鼠按鈕修改功能鍵\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "將工作區數目設定為 %d 個時出現錯誤:%s\n"
|
||||
|
||||
# (Abel) take care of the same string in libwnck
|
||||
#: ../src/core/prefs.c:2200 ../src/core/prefs.c:2702
|
||||
#: ../src/core/prefs.c:2212 ../src/core/prefs.c:2714
|
||||
#, c-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "工作區 %d"
|
||||
|
||||
#: ../src/core/prefs.c:2232 ../src/core/prefs.c:2410
|
||||
#: ../src/core/prefs.c:2244 ../src/core/prefs.c:2422
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||
"\"%s\"\n"
|
||||
msgstr "組態資料庫中的“%s”不是按鍵組合“%s”的有效設定值\n"
|
||||
|
||||
#: ../src/core/prefs.c:2783
|
||||
#: ../src/core/prefs.c:2795
|
||||
#, c-format
|
||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
||||
msgstr "將第 %d 個工作區的名稱設定為“%s”時出現錯誤:%s\n"
|
||||
|
||||
#: ../src/core/prefs.c:2997
|
||||
#: ../src/core/prefs.c:3009
|
||||
#, c-format
|
||||
msgid "Error setting live hidden windows status status: %s\n"
|
||||
msgstr "設定使用中隱藏視窗狀態時發生錯誤:%s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "設定無分頁彈出視窗狀態時發生錯誤:%s\n"
|
||||
|
||||
#: ../src/core/screen.c:624
|
||||
#: ../src/core/screen.c:663
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "畫面‘%2$s’中的第 %1$d 個螢幕無效\n"
|
||||
|
||||
#: ../src/core/screen.c:640
|
||||
#: ../src/core/screen.c:679
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -557,70 +570,70 @@ msgstr ""
|
||||
"換目前的視窗管理員。\n"
|
||||
|
||||
# FIXME: I'm still unclear about the meaning of XGetSelectionOwner -- Abel
|
||||
#: ../src/core/screen.c:667
|
||||
#: ../src/core/screen.c:706
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
msgstr "無法在畫面“%2$s”中的第 %1$d 個螢幕進行視窗管理員選擇程序\n"
|
||||
|
||||
#: ../src/core/screen.c:722
|
||||
#: ../src/core/screen.c:761
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "畫面“%2$s”中的第 %1$d 個螢幕已經有了視窗總管\n"
|
||||
|
||||
#: ../src/core/screen.c:907
|
||||
#: ../src/core/screen.c:946
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "無法釋放畫面“%2$s”中的第 %1$d 個螢幕\n"
|
||||
|
||||
#: ../src/core/session.c:837 ../src/core/session.c:844
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "無法建立目錄‘%s’:%s\n"
|
||||
|
||||
#: ../src/core/session.c:854
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "無法開啟作業階段檔案‘%s’以供寫入資料:%s\n"
|
||||
|
||||
#: ../src/core/session.c:995
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
msgid "Error writing session file '%s': %s\n"
|
||||
msgstr "無法寫入作業階段檔案‘%s’:%s\n"
|
||||
|
||||
#: ../src/core/session.c:1000
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "無法關閉作業階段檔案‘%s’:%s\n"
|
||||
|
||||
#: ../src/core/session.c:1130
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
msgid "Failed to parse saved session file: %s\n"
|
||||
msgstr "無法分析已儲存的作業階段檔案:%s\n"
|
||||
|
||||
#: ../src/core/session.c:1179
|
||||
#: ../src/core/session.c:1185
|
||||
#, c-format
|
||||
msgid "<mutter_session> attribute seen but we already have the session ID"
|
||||
msgstr "出現了 <metacity_session> 的屬性,但作業階段 ID 已經存在"
|
||||
|
||||
#: ../src/core/session.c:1192 ../src/core/session.c:1267
|
||||
#: ../src/core/session.c:1299 ../src/core/session.c:1371
|
||||
#: ../src/core/session.c:1431
|
||||
#: ../src/core/session.c:1198 ../src/core/session.c:1273
|
||||
#: ../src/core/session.c:1305 ../src/core/session.c:1377
|
||||
#: ../src/core/session.c:1437
|
||||
#, c-format
|
||||
msgid "Unknown attribute %s on <%s> element"
|
||||
msgstr "<%2$s> 元素中出現不明的屬性 %1$s"
|
||||
|
||||
#: ../src/core/session.c:1209
|
||||
#: ../src/core/session.c:1215
|
||||
#, c-format
|
||||
msgid "nested <window> tag"
|
||||
msgstr "重疊的 <window> 區域"
|
||||
|
||||
#: ../src/core/session.c:1451
|
||||
#: ../src/core/session.c:1457
|
||||
#, c-format
|
||||
msgid "Unknown element %s"
|
||||
msgstr "不明的元素 %s"
|
||||
|
||||
#: ../src/core/session.c:1803
|
||||
#: ../src/core/session.c:1809
|
||||
msgid ""
|
||||
"These windows do not support "save current setup" and will have to "
|
||||
"be restarted manually next time you log in."
|
||||
@@ -646,30 +659,30 @@ msgstr "已開啟記錄檔 %s\n"
|
||||
msgid "Mutter was compiled without support for verbose mode\n"
|
||||
msgstr "編譯 Mutter 時並沒有加入詳細偵錯模式的支援\n"
|
||||
|
||||
#: ../src/core/util.c:286
|
||||
#: ../src/core/util.c:290
|
||||
msgid "Window manager: "
|
||||
msgstr "視窗管理員:"
|
||||
|
||||
#: ../src/core/util.c:434
|
||||
#: ../src/core/util.c:438
|
||||
msgid "Bug in window manager: "
|
||||
msgstr "視窗總管出現錯誤:"
|
||||
|
||||
#: ../src/core/util.c:467
|
||||
#: ../src/core/util.c:471
|
||||
msgid "Window manager warning: "
|
||||
msgstr "視窗總管警告:"
|
||||
|
||||
#: ../src/core/util.c:495
|
||||
#: ../src/core/util.c:499
|
||||
msgid "Window manager error: "
|
||||
msgstr "視窗總管錯誤:"
|
||||
|
||||
#. Translators: This is the title used on dialog boxes
|
||||
#: ../src/core/util.c:615 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/core/util.c:640 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6847
|
||||
#: ../src/core/window.c:7019
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -685,7 +698,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7510
|
||||
#: ../src/core/window.c:7682
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
@@ -704,11 +717,16 @@ msgstr "程式設定了多餘的 _NET_WM_PID %lu\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s(在 %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1482
|
||||
#: ../src/core/window-props.c:1481
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "%2$s 指定了無效的 WM_TRANSIENT_FOR 視窗 0x%1$lx。\n"
|
||||
|
||||
#: ../src/core/window-props.c:1492
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "%2$s 的 WM_TRANSIENT_FOR 視窗 0x%1$lx 會造成迴圈。\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -753,14 +771,25 @@ msgid ""
|
||||
msgstr "決定工作區切換是否使用於所有螢幕的視窗或只用於主要螢幕的視窗。"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "可拖曳邊框寬度"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "活動中的隱藏 Windows"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr "用於延伸視窗管理操作程序的特殊按鍵"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
#: ../src/mutter.schemas.in.h: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 ""
|
||||
"所有可拖曳邊框的總數。如果布景的可視邊框不夠,會加入隱形邊框來符合這個數值。"
|
||||
|
||||
#: ../src/mutter.schemas.in.h: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 "
|
||||
@@ -771,7 +800,7 @@ msgstr ""
|
||||
"要成為 PC 硬體上的「Windows key」。預期這個按鍵組含不是預設值就是設定為空字"
|
||||
"串。"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:7
|
||||
#: ../src/mutter.schemas.in.h:9
|
||||
msgid ""
|
||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||
"attached to the titlebar of the parent window and are moved together with "
|
||||
@@ -780,7 +809,7 @@ msgstr ""
|
||||
"當設為「true」,將不會有獨立的標題列,模態對話盒會附加在上層視窗的標題列並與"
|
||||
"上層視窗一起移動。"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "只有主要螢幕的工作區"
|
||||
|
||||
@@ -789,48 +818,48 @@ msgstr "只有主要螢幕的工作區"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "用法:%s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1099
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "關閉視窗"
|
||||
|
||||
#: ../src/ui/frames.c:1102
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "視窗選單"
|
||||
|
||||
#: ../src/ui/frames.c:1105
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "視窗最小化"
|
||||
|
||||
#: ../src/ui/frames.c:1108
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "視窗最大化"
|
||||
|
||||
#: ../src/ui/frames.c:1111
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "還原視窗"
|
||||
|
||||
#: ../src/ui/frames.c:1114
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "捲起視窗(_U)"
|
||||
|
||||
#: ../src/ui/frames.c:1117
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "放下視窗"
|
||||
|
||||
#: ../src/ui/frames.c:1120
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "視窗保留在最上層"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "視窗移離最上層"
|
||||
|
||||
# (Abel) take care of the same string in libwnck
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "在所有工作區顯示"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "視窗只置於一個工作區"
|
||||
|
||||
@@ -1049,48 +1078,72 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "頂"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "底"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "左"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "右"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "邊框的位置大小中沒有指定“%s”部分的大小"
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr "邊框的位置大小中沒有指定“%2$s”邊框中的“%1$s”部分"
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "按鈕的長寬比 %g 不合理"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "邊框的位置大小規格內未有指定按鈕的大小"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "漸層至少應該有兩種顏色"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1212
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"GTK 自訂顏色規格規定必須有顏色名稱並加上封閉括號,例如 gtk:custom(foo,bar);"
|
||||
"無法分析「%s」"
|
||||
|
||||
#: ../src/ui/theme.c:1228
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
"_ are valid"
|
||||
msgstr "gtk:custom 的 color_name 參數 '%c' 中有無效字元,只能使用 A-Za-z0-9-_ "
|
||||
|
||||
#: ../src/ui/theme.c:1242
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr ""
|
||||
"Gtk:custom 的格式是「gtk:custom(color_name,fallback)」,但「%s」不符合格式"
|
||||
|
||||
#: ../src/ui/theme.c:1287
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1099,7 +1152,7 @@ msgstr ""
|
||||
"GTK 色彩規格規定必須在狀態外加上方括號,例如 gtk:fg[NORMAL],這裡 NORMAL 表示"
|
||||
"狀態;無法分析“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1216
|
||||
#: ../src/ui/theme.c:1301
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1108,148 +1161,148 @@ msgstr ""
|
||||
"GTK 色彩規格規定必須在狀態後加上閉方括號,例如 gtk:fg[NORMAL],這裡 NORMAL 表"
|
||||
"示狀態;無法分析“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1312
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "無法將“%s”理解為色彩規格中的狀態"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1325
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "無法將“%s”理解為色彩規格中的色彩部分"
|
||||
|
||||
#: ../src/ui/theme.c:1270
|
||||
#: ../src/ui/theme.c:1355
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
"format"
|
||||
msgstr "指定混色的格式是“blend/背景顏色/前景顏色/透明度”,“%s”不符合規格"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1366
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "無法理解“%s”作為混色的透明度數值"
|
||||
|
||||
#: ../src/ui/theme.c:1291
|
||||
#: ../src/ui/theme.c:1376
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr "混色的透明度數值“%s”不是在 0.0 至 1.0 之間"
|
||||
|
||||
#: ../src/ui/theme.c:1338
|
||||
#: ../src/ui/theme.c:1423
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
msgstr "陰影的格式是“shade/基本顏色/比重”,但“%s”不符合格式"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1434
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "在陰影顏色中無法將“%s”理解為陰影比重"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1444
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "在陰影顏色中陰影比重“%s”是負數"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1473
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "無法分析顏色“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1646
|
||||
#: ../src/ui/theme.c:1784
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "座標表達式中出現不可接受的字元‘%s’"
|
||||
|
||||
#: ../src/ui/theme.c:1673
|
||||
#: ../src/ui/theme.c:1811
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
"parsed"
|
||||
msgstr "座標表達式中出現無法分析的浮點小數‘%s’"
|
||||
|
||||
#: ../src/ui/theme.c:1687
|
||||
#: ../src/ui/theme.c:1825
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr "座標表達式中出現無法分析的整數‘%s’"
|
||||
|
||||
#: ../src/ui/theme.c:1809
|
||||
#: ../src/ui/theme.c:1947
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
"\"%s\""
|
||||
msgstr "在座標表達式中,以下文字的開始部分含有不明的運算符:“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:1866
|
||||
#: ../src/ui/theme.c:2004
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "座標表達式是空白的或是無法分析"
|
||||
|
||||
#: ../src/ui/theme.c:1977 ../src/ui/theme.c:1987 ../src/ui/theme.c:2021
|
||||
#: ../src/ui/theme.c:2115 ../src/ui/theme.c:2125 ../src/ui/theme.c:2159
|
||||
#, c-format
|
||||
msgid "Coordinate expression results in division by zero"
|
||||
msgstr "座標表達式中出現被 0 整除的錯誤"
|
||||
|
||||
#: ../src/ui/theme.c:2029
|
||||
#: ../src/ui/theme.c:2167
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
msgstr "座標表達式中出現將浮點數使用於餘數運算符 (mod) 的錯誤"
|
||||
|
||||
#: ../src/ui/theme.c:2085
|
||||
#: ../src/ui/theme.c:2223
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr "在座標表達式中,應該有運算子的地方出現了運算符“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:2094
|
||||
#: ../src/ui/theme.c:2232
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "在座標表達式中,應該有運算符的地方出現了運算子"
|
||||
|
||||
#: ../src/ui/theme.c:2102
|
||||
#: ../src/ui/theme.c:2240
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "結束座標表達式的是一個運算符而非運算子"
|
||||
|
||||
#: ../src/ui/theme.c:2112
|
||||
#: ../src/ui/theme.c:2250
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
"operand in between"
|
||||
msgstr "在座標表達式中,運算符“%c”緊隨運算符“%c”出現,但中間沒有任何運算子"
|
||||
|
||||
#: ../src/ui/theme.c:2263 ../src/ui/theme.c:2308
|
||||
#: ../src/ui/theme.c:2401 ../src/ui/theme.c:2446
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr "座標表達式中出現不明的變數或常數“%s”"
|
||||
|
||||
#: ../src/ui/theme.c:2362
|
||||
#: ../src/ui/theme.c:2500
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "座標表達式分析器令緩衝溢位。"
|
||||
|
||||
#: ../src/ui/theme.c:2391
|
||||
#: ../src/ui/theme.c:2529
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr "座標表達式中的閉括號沒有相應的開括號"
|
||||
|
||||
#: ../src/ui/theme.c:2455
|
||||
#: ../src/ui/theme.c:2593
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr "座標表達式中的開括號沒有相應的閉括號"
|
||||
|
||||
#: ../src/ui/theme.c:2466
|
||||
#: ../src/ui/theme.c:2604
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "座標表達式中似乎沒有任何運算符或運算子"
|
||||
|
||||
#: ../src/ui/theme.c:2676 ../src/ui/theme.c:2696 ../src/ui/theme.c:2716
|
||||
#: ../src/ui/theme.c:2816 ../src/ui/theme.c:2836 ../src/ui/theme.c:2856
|
||||
#, c-format
|
||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||
msgstr "佈景主題中含有引致錯誤的表達式:%s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4410
|
||||
#: ../src/ui/theme.c:4527
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1258,25 +1311,25 @@ msgstr ""
|
||||
"此邊框款式必須指定 <button function=\"%s\" state=\"%s\" draw_ops=\"whatever"
|
||||
"\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:4940 ../src/ui/theme.c:4965
|
||||
#: ../src/ui/theme.c:5060 ../src/ui/theme.c:5085
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr ""
|
||||
"缺少了 <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5013
|
||||
#: ../src/ui/theme.c:5133
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "無法載入佈景主題“%s”:%s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5149 ../src/ui/theme.c:5156 ../src/ui/theme.c:5163
|
||||
#: ../src/ui/theme.c:5170 ../src/ui/theme.c:5177
|
||||
#: ../src/ui/theme.c:5269 ../src/ui/theme.c:5276 ../src/ui/theme.c:5283
|
||||
#: ../src/ui/theme.c:5290 ../src/ui/theme.c:5297
|
||||
#, c-format
|
||||
msgid "No <%s> set for theme \"%s\""
|
||||
msgstr "佈景主題“%s”未指定 <%s>"
|
||||
|
||||
#: ../src/ui/theme.c:5185
|
||||
#: ../src/ui/theme.c:5305
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1285,13 +1338,13 @@ msgstr ""
|
||||
"在佈景主題“%2$s”中,視窗類型“%1$s”沒有指定任何邊框款式。請加上 <window type="
|
||||
"\"%3$s\" style_set=\"whatever\"/> 元素"
|
||||
|
||||
#: ../src/ui/theme.c:5635 ../src/ui/theme.c:5697 ../src/ui/theme.c:5760
|
||||
#: ../src/ui/theme.c:5744 ../src/ui/theme.c:5806 ../src/ui/theme.c:5869
|
||||
#, c-format
|
||||
msgid ""
|
||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||
msgstr "自行定義的常數必須以大寫字母開始;但“%s”不是"
|
||||
|
||||
#: ../src/ui/theme.c:5643 ../src/ui/theme.c:5705 ../src/ui/theme.c:5768
|
||||
#: ../src/ui/theme.c:5752 ../src/ui/theme.c:5814 ../src/ui/theme.c:5877
|
||||
#, c-format
|
||||
msgid "Constant \"%s\" has already been defined"
|
||||
msgstr "已定義了“%s”常數"
|
||||
@@ -1731,88 +1784,88 @@ msgstr "這是在樣版對話視窗中的樣版訊息"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "假的選單項目 %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "只有邊框的視窗"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "列"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "正常的程式視窗"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "對話盒"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "模態對話盒"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "公用程式控制板"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "關閉選單"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "邊框"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "附加的模態對話盒"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "按鈕配置測試 %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "繪畫一個視窗需時 %g 毫秒"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "用法: metacity-theme-viewer [佈景主題名稱]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "載入佈景主題失敗 %s\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:831
|
||||
#: ../src/ui/theme-viewer.c:834
|
||||
#, c-format
|
||||
msgid "Loaded theme \"%s\" in %g seconds\n"
|
||||
msgstr "載入佈景主題 “%s” 需時 %g 秒\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "正常標題列字型"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "小標題列字型"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "大標題列字型"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "按鈕配置"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "速度測試"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "這裡是視窗標題"
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ libmutter_la_SOURCES = \
|
||||
compositor/compositor.c \
|
||||
compositor/compositor-private.h \
|
||||
compositor/meta-background-actor.c \
|
||||
compositor/meta-background-actor.h \
|
||||
compositor/meta-background-actor-private.h \
|
||||
compositor/meta-module.c \
|
||||
compositor/meta-module.h \
|
||||
compositor/meta-plugin.c \
|
||||
@@ -55,6 +55,8 @@ libmutter_la_SOURCES = \
|
||||
compositor/meta-shadow-factory-private.h \
|
||||
compositor/meta-shaped-texture.c \
|
||||
compositor/meta-shaped-texture.h \
|
||||
compositor/meta-texture-rectangle.c \
|
||||
compositor/meta-texture-rectangle.h \
|
||||
compositor/meta-texture-tower.c \
|
||||
compositor/meta-texture-tower.h \
|
||||
compositor/meta-window-actor.c \
|
||||
@@ -66,6 +68,7 @@ libmutter_la_SOURCES = \
|
||||
compositor/region-utils.c \
|
||||
compositor/region-utils.h \
|
||||
meta/compositor.h \
|
||||
meta/meta-background-actor.h \
|
||||
meta/meta-plugin.h \
|
||||
meta/meta-shadow-factory.h \
|
||||
meta/meta-window-actor.h \
|
||||
@@ -75,6 +78,20 @@ libmutter_la_SOURCES = \
|
||||
core/constraints.h \
|
||||
core/core.c \
|
||||
core/delete.c \
|
||||
core/device.c \
|
||||
meta/device.h \
|
||||
core/device-keyboard.c \
|
||||
core/device-keyboard.h \
|
||||
core/device-pointer.c \
|
||||
core/device-pointer.h \
|
||||
core/device-private.h \
|
||||
core/device-map.c \
|
||||
meta/device-map.h \
|
||||
core/device-map-private.h \
|
||||
core/device-map-core.c \
|
||||
core/device-map-core.h \
|
||||
core/devices-core.c \
|
||||
core/devices-core.h \
|
||||
core/display.c \
|
||||
core/display-private.h \
|
||||
meta/display.h \
|
||||
@@ -97,6 +114,8 @@ libmutter_la_SOURCES = \
|
||||
meta/group.h \
|
||||
core/iconcache.c \
|
||||
core/iconcache.h \
|
||||
core/input-events.c \
|
||||
core/input-events.h \
|
||||
core/keybindings.c \
|
||||
core/keybindings-private.h \
|
||||
core/main.c \
|
||||
@@ -154,6 +173,14 @@ libmutter_la_SOURCES = \
|
||||
ui/preview-widget.c \
|
||||
$(mutter_built_sources)
|
||||
|
||||
if HAVE_XINPUT2
|
||||
libmutter_la_SOURCES += \
|
||||
core/device-map-xi2.c \
|
||||
core/device-map-xi2.h \
|
||||
core/devices-xi2.c \
|
||||
core/devices-xi2.h
|
||||
endif
|
||||
|
||||
libmutter_la_LDFLAGS = -no-undefined
|
||||
libmutter_la_LIBADD = $(MUTTER_LIBS)
|
||||
|
||||
@@ -164,12 +191,15 @@ libmutterinclude_base_headers = \
|
||||
meta/common.h \
|
||||
meta/compositor-mutter.h \
|
||||
meta/compositor.h \
|
||||
meta/device.h \
|
||||
meta/device-map.h \
|
||||
meta/display.h \
|
||||
meta/errors.h \
|
||||
meta/gradient.h \
|
||||
meta/group.h \
|
||||
meta/keybindings.h \
|
||||
meta/main.h \
|
||||
meta/meta-background-actor.h \
|
||||
meta/meta-plugin.h \
|
||||
meta/meta-shadow-factory.h \
|
||||
meta/meta-window-actor.h \
|
||||
@@ -204,7 +234,11 @@ mutter_LDADD = $(MUTTER_LIBS) libmutter.la
|
||||
if HAVE_INTROSPECTION
|
||||
include $(INTROSPECTION_MAKEFILE)
|
||||
|
||||
api_version = $(MUTTER_MAJOR_VERSION).$(MUTTER_MINOR_VERSION)
|
||||
# Since we don't make any guarantees about stability and we don't support
|
||||
# parallel install, there's no real reason to change directories, filenames,
|
||||
# etc. as we change the Mutter tarball version.
|
||||
#api_version = $(MUTTER_MAJOR_VERSION).$(MUTTER_MINOR_VERSION)
|
||||
api_version = 3.0
|
||||
|
||||
# These files are in package-private directories, even though they may be used
|
||||
# by plugins. If you're writing a plugin, use g-ir-compiler --add-include-path
|
||||
@@ -332,7 +366,7 @@ mutter-enum-types.h: stamp-mutter-enum-types.h Makefile
|
||||
stamp-mutter-enum-types.h: $(libmutterinclude_base_headers) mutter-enum-types.h.in
|
||||
$(AM_V_GEN) ( cd $(srcdir) && \
|
||||
$(GLIB_MKENUMS) \
|
||||
--template $(srcdir)/mutter-enum-types.h.in \
|
||||
--template mutter-enum-types.h.in \
|
||||
$(libmutterinclude_base_headers) ) >> xgen-teth && \
|
||||
(cmp -s xgen-teth mutter-enum-types.h || cp xgen-teth mutter-enum-types.h) && \
|
||||
rm -f xgen-teth && \
|
||||
@@ -341,7 +375,7 @@ stamp-mutter-enum-types.h: $(libmutterinclude_base_headers) mutter-enum-types.h.
|
||||
mutter-enum-types.c: stamp-mutter-enum-types.h mutter-enum-types.c.in
|
||||
$(AM_V_GEN) ( cd $(srcdir) && \
|
||||
$(GLIB_MKENUMS) \
|
||||
--template $(srcdir)/mutter-enum-types.c.in \
|
||||
--template mutter-enum-types.c.in \
|
||||
$(libmutterinclude_base_headers) ) >> xgen-tetc && \
|
||||
cp xgen-tetc mutter-enum-types.c && \
|
||||
rm -f xgen-tetc
|
||||
|
||||
@@ -29,6 +29,10 @@
|
||||
* @green:
|
||||
* @blue:
|
||||
* @alpha:
|
||||
* @flags: Optional flags for the texture, or %COGL_TEXTURE_NONE;
|
||||
* %COGL_TEXTURE_NO_SLICING is useful if the texture will be
|
||||
* repeated to create a constant color fill, since hardware
|
||||
* repeat can't be used for a sliced texture.
|
||||
*
|
||||
* Creates a texture that is a single pixel with the specified
|
||||
* unpremultiplied color components.
|
||||
@@ -36,10 +40,11 @@
|
||||
* Return value: (transfer full): a newly created Cogl texture
|
||||
*/
|
||||
CoglHandle
|
||||
meta_create_color_texture_4ub (guint8 red,
|
||||
guint8 green,
|
||||
guint8 blue,
|
||||
guint8 alpha)
|
||||
meta_create_color_texture_4ub (guint8 red,
|
||||
guint8 green,
|
||||
guint8 blue,
|
||||
guint8 alpha,
|
||||
CoglTextureFlags flags)
|
||||
{
|
||||
CoglColor color;
|
||||
guint8 pixel[4];
|
||||
@@ -53,7 +58,7 @@ meta_create_color_texture_4ub (guint8 red,
|
||||
pixel[3] = cogl_color_get_alpha_byte (&color);
|
||||
|
||||
return cogl_texture_new_from_data (1, 1,
|
||||
COGL_TEXTURE_NONE,
|
||||
flags,
|
||||
COGL_PIXEL_FORMAT_RGBA_8888_PRE,
|
||||
COGL_PIXEL_FORMAT_ANY,
|
||||
4, pixel);
|
||||
@@ -88,7 +93,8 @@ meta_create_texture_material (CoglHandle src_texture)
|
||||
{
|
||||
CoglHandle dummy_texture;
|
||||
|
||||
dummy_texture = meta_create_color_texture_4ub (0xff, 0xff, 0xff, 0xff);
|
||||
dummy_texture = meta_create_color_texture_4ub (0xff, 0xff, 0xff, 0xff,
|
||||
COGL_TEXTURE_NONE);
|
||||
|
||||
texture_material_template = cogl_material_new ();
|
||||
cogl_material_set_layer (texture_material_template, 0, dummy_texture);
|
||||
|
||||
@@ -25,10 +25,11 @@
|
||||
|
||||
#include <cogl/cogl.h>
|
||||
|
||||
CoglHandle meta_create_color_texture_4ub (guint8 red,
|
||||
guint8 green,
|
||||
guint8 blue,
|
||||
guint8 alpha);
|
||||
CoglHandle meta_create_color_texture_4ub (guint8 red,
|
||||
guint8 green,
|
||||
guint8 blue,
|
||||
guint8 alpha,
|
||||
CoglTextureFlags flags);
|
||||
CoglHandle meta_create_texture_material (CoglHandle src_texture);
|
||||
|
||||
#endif /* __META_COGL_UTILS_H__ */
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <meta/compositor.h>
|
||||
#include <meta/display.h>
|
||||
#include "meta-plugin-manager.h"
|
||||
#include "meta-window-actor-private.h"
|
||||
#include <clutter/clutter.h>
|
||||
|
||||
typedef struct _MetaCompScreen MetaCompScreen;
|
||||
@@ -41,6 +42,10 @@ struct _MetaCompScreen
|
||||
GHashTable *windows_by_xid;
|
||||
Window output;
|
||||
|
||||
/* Used for unredirecting fullscreen windows */
|
||||
guint disable_unredirect_count;
|
||||
MetaWindowActor *unredirected_window;
|
||||
|
||||
/* Before we create the output window */
|
||||
XserverRegion pending_input_region;
|
||||
|
||||
|
||||
@@ -11,12 +11,15 @@
|
||||
#include <meta/compositor-mutter.h>
|
||||
#include "xprops.h"
|
||||
#include <meta/prefs.h>
|
||||
#include <meta/main.h>
|
||||
#include <meta/meta-shadow-factory.h>
|
||||
#include "meta-window-actor-private.h"
|
||||
#include "meta-window-group.h"
|
||||
#include "meta-background-actor.h"
|
||||
#include "meta-background-actor-private.h"
|
||||
#include "window-private.h" /* to check window->hidden */
|
||||
#include "display-private.h" /* for meta_display_lookup_x_window() */
|
||||
#include "core.h" /* for meta_core_select_events() */
|
||||
#include "input-events.h"
|
||||
#include <X11/extensions/shape.h>
|
||||
#include <X11/extensions/Xcomposite.h>
|
||||
|
||||
@@ -108,28 +111,6 @@ process_damage (MetaCompositor *compositor,
|
||||
meta_window_actor_process_damage (window_actor, event);
|
||||
}
|
||||
|
||||
#ifdef HAVE_SHAPE
|
||||
static void
|
||||
process_shape (MetaCompositor *compositor,
|
||||
XShapeEvent *event,
|
||||
MetaWindow *window)
|
||||
{
|
||||
MetaWindowActor *window_actor;
|
||||
|
||||
if (window == NULL)
|
||||
return;
|
||||
|
||||
window_actor = META_WINDOW_ACTOR (meta_window_get_compositor_private (window));
|
||||
if (window_actor == NULL)
|
||||
return;
|
||||
|
||||
if (event->kind == ShapeBounding)
|
||||
{
|
||||
meta_window_actor_update_shape (window_actor, event->shaped);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
process_property_notify (MetaCompositor *compositor,
|
||||
XPropertyEvent *event,
|
||||
@@ -146,8 +127,7 @@ process_property_notify (MetaCompositor *compositor,
|
||||
MetaScreen *screen = l->data;
|
||||
if (event->window == meta_screen_get_xroot (screen))
|
||||
{
|
||||
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
||||
meta_background_actor_update (META_BACKGROUND_ACTOR (info->background_actor));
|
||||
meta_background_actor_update (screen);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -177,7 +157,6 @@ get_output_window (MetaScreen *screen)
|
||||
MetaDisplay *display = meta_screen_get_display (screen);
|
||||
Display *xdisplay = meta_display_get_xdisplay (display);
|
||||
Window output, xroot;
|
||||
XWindowAttributes attr;
|
||||
long event_mask;
|
||||
|
||||
xroot = meta_screen_get_xroot (screen);
|
||||
@@ -191,13 +170,7 @@ get_output_window (MetaScreen *screen)
|
||||
KeyPressMask | KeyReleaseMask;
|
||||
|
||||
output = XCompositeGetOverlayWindow (xdisplay, xroot);
|
||||
|
||||
if (XGetWindowAttributes (xdisplay, output, &attr))
|
||||
{
|
||||
event_mask |= attr.your_event_mask;
|
||||
}
|
||||
|
||||
XSelectInput (xdisplay, output, event_mask);
|
||||
meta_core_select_events (xdisplay, output, event_mask, TRUE);
|
||||
|
||||
return output;
|
||||
}
|
||||
@@ -301,6 +274,12 @@ do_set_stage_input_region (MetaScreen *screen,
|
||||
Window xstage = clutter_x11_get_stage_window (CLUTTER_STAGE (info->stage));
|
||||
|
||||
XFixesSetWindowShapeRegion (xdpy, xstage, ShapeInput, 0, 0, region);
|
||||
|
||||
/* It's generally a good heuristic that when a crossing event is generated because
|
||||
* we reshape the overlay, we don't want it to affect focus-follows-mouse focus -
|
||||
* it's not the user doing something, it's the environment changing under the user.
|
||||
*/
|
||||
meta_display_add_ignored_crossing_serial (display, XNextRequest (xdpy));
|
||||
XFixesSetWindowShapeRegion (xdpy, info->output, ShapeInput, 0, 0, region);
|
||||
}
|
||||
|
||||
@@ -363,26 +342,34 @@ meta_begin_modal_for_plugin (MetaScreen *screen,
|
||||
* merge the two.
|
||||
*/
|
||||
MetaDisplay *display = meta_screen_get_display (screen);
|
||||
Display *xdpy = meta_display_get_xdisplay (display);
|
||||
MetaCompositor *compositor = display->compositor;
|
||||
gboolean pointer_grabbed = FALSE;
|
||||
gboolean keyboard_grabbed = FALSE;
|
||||
int result;
|
||||
gboolean result;
|
||||
MetaDevice *device;
|
||||
MetaGrabInfo *grab_info;
|
||||
|
||||
if (compositor->modal_plugin != NULL || display->grab_op != META_GRAB_OP_NONE)
|
||||
/* FIXME: need a real device here, and probably
|
||||
* some exclusion mode for other devices */
|
||||
device = meta_device_map_lookup (display->device_map,
|
||||
META_CORE_POINTER_ID);
|
||||
|
||||
grab_info = meta_display_get_grab_info (display, device);
|
||||
|
||||
if (compositor->modal_plugin != NULL || grab_info != NULL)
|
||||
return FALSE;
|
||||
|
||||
if ((options & META_MODAL_POINTER_ALREADY_GRABBED) == 0)
|
||||
{
|
||||
result = XGrabPointer (xdpy, grab_window,
|
||||
False, /* owner_events */
|
||||
(ButtonPressMask | ButtonReleaseMask |
|
||||
EnterWindowMask | LeaveWindowMask | PointerMotionMask),
|
||||
GrabModeAsync, GrabModeAsync,
|
||||
None, /* confine to */
|
||||
cursor,
|
||||
timestamp);
|
||||
if (result != Success)
|
||||
result = meta_device_grab (device,
|
||||
grab_window,
|
||||
(ButtonPressMask | ButtonReleaseMask |
|
||||
EnterWindowMask | LeaveWindowMask | PointerMotionMask),
|
||||
cursor,
|
||||
FALSE,
|
||||
FALSE,
|
||||
timestamp);
|
||||
if (!result)
|
||||
goto fail;
|
||||
|
||||
pointer_grabbed = TRUE;
|
||||
@@ -390,22 +377,25 @@ meta_begin_modal_for_plugin (MetaScreen *screen,
|
||||
|
||||
if ((options & META_MODAL_KEYBOARD_ALREADY_GRABBED) == 0)
|
||||
{
|
||||
result = XGrabKeyboard (xdpy, grab_window,
|
||||
False, /* owner_events */
|
||||
GrabModeAsync, GrabModeAsync,
|
||||
timestamp);
|
||||
|
||||
if (result != Success)
|
||||
result = meta_device_grab (meta_device_get_paired_device (device),
|
||||
grab_window,
|
||||
(KeyPressMask | KeyReleaseMask),
|
||||
META_CURSOR_DEFAULT,
|
||||
FALSE, FALSE,
|
||||
timestamp);
|
||||
if (!result)
|
||||
goto fail;
|
||||
|
||||
keyboard_grabbed = TRUE;
|
||||
}
|
||||
|
||||
display->grab_op = META_GRAB_OP_COMPOSITOR;
|
||||
display->grab_window = NULL;
|
||||
display->grab_screen = screen;
|
||||
display->grab_have_pointer = TRUE;
|
||||
display->grab_have_keyboard = TRUE;
|
||||
grab_info = meta_display_create_grab_info (display, device);
|
||||
|
||||
grab_info->grab_op = META_GRAB_OP_COMPOSITOR;
|
||||
grab_info->grab_window = NULL;
|
||||
grab_info->grab_screen = screen;
|
||||
grab_info->grab_have_pointer = TRUE;
|
||||
grab_info->grab_have_keyboard = TRUE;
|
||||
|
||||
compositor->modal_plugin = plugin;
|
||||
|
||||
@@ -413,9 +403,9 @@ meta_begin_modal_for_plugin (MetaScreen *screen,
|
||||
|
||||
fail:
|
||||
if (pointer_grabbed)
|
||||
XUngrabPointer (xdpy, timestamp);
|
||||
meta_device_ungrab (device, timestamp);
|
||||
if (keyboard_grabbed)
|
||||
XUngrabKeyboard (xdpy, timestamp);
|
||||
meta_device_ungrab (meta_device_get_paired_device (device), timestamp);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@@ -426,20 +416,19 @@ meta_end_modal_for_plugin (MetaScreen *screen,
|
||||
guint32 timestamp)
|
||||
{
|
||||
MetaDisplay *display = meta_screen_get_display (screen);
|
||||
Display *xdpy = meta_display_get_xdisplay (display);
|
||||
MetaCompositor *compositor = display->compositor;
|
||||
MetaDevice *device;
|
||||
|
||||
g_return_if_fail (compositor->modal_plugin == plugin);
|
||||
|
||||
XUngrabPointer (xdpy, timestamp);
|
||||
XUngrabKeyboard (xdpy, timestamp);
|
||||
/* FIXME: need a real device here */
|
||||
device = meta_device_map_lookup (display->device_map,
|
||||
META_CORE_POINTER_ID);
|
||||
|
||||
display->grab_op = META_GRAB_OP_NONE;
|
||||
display->grab_window = NULL;
|
||||
display->grab_screen = NULL;
|
||||
display->grab_have_pointer = FALSE;
|
||||
display->grab_have_keyboard = FALSE;
|
||||
meta_device_ungrab (device, timestamp);
|
||||
meta_device_ungrab (meta_device_get_paired_device (device), timestamp);
|
||||
|
||||
meta_display_remove_grab_info (display, device);
|
||||
compositor->modal_plugin = NULL;
|
||||
}
|
||||
|
||||
@@ -472,22 +461,44 @@ meta_compositor_manage_screen (MetaCompositor *compositor,
|
||||
Window xroot = meta_screen_get_xroot (screen);
|
||||
Window xwin;
|
||||
gint width, height;
|
||||
XWindowAttributes attr;
|
||||
long event_mask;
|
||||
guint n_retries;
|
||||
guint max_retries;
|
||||
|
||||
/* Check if the screen is already managed */
|
||||
if (meta_screen_get_compositor_data (screen))
|
||||
return;
|
||||
|
||||
meta_error_trap_push_with_return (display);
|
||||
XCompositeRedirectSubwindows (xdisplay, xroot, CompositeRedirectManual);
|
||||
XSync (xdisplay, FALSE);
|
||||
if (meta_get_replace_current_wm ())
|
||||
max_retries = 5;
|
||||
else
|
||||
max_retries = 1;
|
||||
|
||||
if (meta_error_trap_pop_with_return (display))
|
||||
n_retries = 0;
|
||||
|
||||
/* Some compositors (like old versions of Mutter) might not properly unredirect
|
||||
* subwindows before destroying the WM selection window; so we wait a while
|
||||
* for such a compositor to exit before giving up.
|
||||
*/
|
||||
while (TRUE)
|
||||
{
|
||||
g_warning ("Another compositing manager is running on screen %i",
|
||||
screen_number);
|
||||
return;
|
||||
meta_error_trap_push_with_return (display);
|
||||
XCompositeRedirectSubwindows (xdisplay, xroot, CompositeRedirectManual);
|
||||
XSync (xdisplay, FALSE);
|
||||
|
||||
if (!meta_error_trap_pop_with_return (display))
|
||||
break;
|
||||
|
||||
if (n_retries == max_retries)
|
||||
{
|
||||
/* This probably means that a non-WM compositor like xcompmgr is running;
|
||||
* we have no way to get it to exit */
|
||||
meta_fatal (_("Another compositing manager is already running on screen %i on display \"%s\"."),
|
||||
screen_number, display->name);
|
||||
}
|
||||
|
||||
n_retries++;
|
||||
g_usleep (G_USEC_PER_SEC);
|
||||
}
|
||||
|
||||
info = g_new0 (MetaCompScreen, 1);
|
||||
@@ -524,15 +535,10 @@ meta_compositor_manage_screen (MetaCompositor *compositor,
|
||||
KeyPressMask | KeyReleaseMask |
|
||||
StructureNotifyMask;
|
||||
|
||||
if (XGetWindowAttributes (xdisplay, xwin, &attr))
|
||||
{
|
||||
event_mask |= attr.your_event_mask;
|
||||
}
|
||||
|
||||
XSelectInput (xdisplay, xwin, event_mask);
|
||||
meta_core_select_events (xdisplay, xwin, event_mask, TRUE);
|
||||
|
||||
info->window_group = meta_window_group_new (screen);
|
||||
info->background_actor = meta_background_actor_new (screen);
|
||||
info->background_actor = meta_background_actor_new_for_screen (screen);
|
||||
info->overlay_group = clutter_group_new ();
|
||||
info->hidden_group = clutter_group_new ();
|
||||
|
||||
@@ -587,6 +593,55 @@ void
|
||||
meta_compositor_unmanage_screen (MetaCompositor *compositor,
|
||||
MetaScreen *screen)
|
||||
{
|
||||
MetaDisplay *display = meta_screen_get_display (screen);
|
||||
Display *xdisplay = meta_display_get_xdisplay (display);
|
||||
Window xroot = meta_screen_get_xroot (screen);
|
||||
|
||||
/* This is the most important part of cleanup - we have to do this
|
||||
* before giving up the window manager selection or the next
|
||||
* window manager won't be able to redirect subwindows */
|
||||
XCompositeUnredirectSubwindows (xdisplay, xroot, CompositeRedirectManual);
|
||||
}
|
||||
|
||||
/*
|
||||
* Shapes the cow so that the given window is exposed,
|
||||
* when metaWindow is NULL it clears the shape again
|
||||
*/
|
||||
static void
|
||||
meta_shape_cow_for_window (MetaScreen *screen,
|
||||
MetaWindow *metaWindow)
|
||||
{
|
||||
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
||||
Display *xdisplay = meta_display_get_xdisplay (meta_screen_get_display (screen));
|
||||
|
||||
if (metaWindow == NULL)
|
||||
XFixesSetWindowShapeRegion (xdisplay, info->output, ShapeBounding, 0, 0, None);
|
||||
else
|
||||
{
|
||||
XserverRegion output_region;
|
||||
XRectangle screen_rect, window_bounds;
|
||||
int width, height;
|
||||
MetaRectangle rect;
|
||||
|
||||
meta_window_get_outer_rect (metaWindow, &rect);
|
||||
|
||||
window_bounds.x = rect.x;
|
||||
window_bounds.y = rect.y;
|
||||
window_bounds.width = rect.width;
|
||||
window_bounds.height = rect.height;
|
||||
|
||||
meta_screen_get_size (screen, &width, &height);
|
||||
screen_rect.x = 0;
|
||||
screen_rect.y = 0;
|
||||
screen_rect.width = width;
|
||||
screen_rect.height = height;
|
||||
|
||||
output_region = XFixesCreateRegion (xdisplay, &window_bounds, 1);
|
||||
|
||||
XFixesInvertRegion (xdisplay, output_region, &screen_rect, output_region);
|
||||
XFixesSetWindowShapeRegion (xdisplay, info->output, ShapeBounding, 0, 0, output_region);
|
||||
XFixesDestroyRegion (xdisplay, output_region);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
@@ -609,12 +664,25 @@ meta_compositor_remove_window (MetaCompositor *compositor,
|
||||
MetaWindow *window)
|
||||
{
|
||||
MetaWindowActor *window_actor = NULL;
|
||||
MetaScreen *screen;
|
||||
MetaCompScreen *info;
|
||||
|
||||
DEBUG_TRACE ("meta_compositor_remove_window\n");
|
||||
window_actor = META_WINDOW_ACTOR (meta_window_get_compositor_private (window));
|
||||
if (!window_actor)
|
||||
return;
|
||||
|
||||
screen = meta_window_get_screen (window);
|
||||
info = meta_screen_get_compositor_data (screen);
|
||||
|
||||
if (window_actor == info->unredirected_window)
|
||||
{
|
||||
meta_window_actor_set_redirected (window_actor, TRUE);
|
||||
meta_shape_cow_for_window (meta_window_get_screen (meta_window_actor_get_meta_window (info->unredirected_window)),
|
||||
NULL);
|
||||
info->unredirected_window = NULL;
|
||||
}
|
||||
|
||||
meta_window_actor_destroy (window_actor);
|
||||
}
|
||||
|
||||
@@ -626,9 +694,15 @@ meta_compositor_set_updates (MetaCompositor *compositor,
|
||||
}
|
||||
|
||||
static gboolean
|
||||
is_grabbed_event (XEvent *event)
|
||||
is_grabbed_event (MetaDisplay *display,
|
||||
XEvent *event)
|
||||
{
|
||||
switch (event->xany.type)
|
||||
guint evtype;
|
||||
|
||||
if (!meta_input_event_get_type (display, event, &evtype))
|
||||
return FALSE;
|
||||
|
||||
switch (evtype)
|
||||
{
|
||||
case ButtonPress:
|
||||
case ButtonRelease:
|
||||
@@ -642,6 +716,16 @@ is_grabbed_event (XEvent *event)
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
meta_compositor_window_shape_changed (MetaCompositor *compositor,
|
||||
MetaWindow *window)
|
||||
{
|
||||
MetaWindowActor *window_actor;
|
||||
window_actor = META_WINDOW_ACTOR (meta_window_get_compositor_private (window));
|
||||
meta_window_actor_update_shape (window_actor);
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_compositor_process_event: (skip)
|
||||
*
|
||||
@@ -651,7 +735,8 @@ meta_compositor_process_event (MetaCompositor *compositor,
|
||||
XEvent *event,
|
||||
MetaWindow *window)
|
||||
{
|
||||
if (compositor->modal_plugin && is_grabbed_event (event))
|
||||
if (compositor->modal_plugin &&
|
||||
is_grabbed_event (compositor->display, event))
|
||||
{
|
||||
MetaPluginClass *klass = META_PLUGIN_GET_CLASS (compositor->modal_plugin);
|
||||
|
||||
@@ -721,13 +806,6 @@ meta_compositor_process_event (MetaCompositor *compositor,
|
||||
DEBUG_TRACE ("meta_compositor_process_event (process_damage)\n");
|
||||
process_damage (compositor, (XDamageNotifyEvent *) event, window);
|
||||
}
|
||||
#ifdef HAVE_SHAPE
|
||||
else if (event->type == meta_display_get_shape_event_base (compositor->display) + ShapeNotify)
|
||||
{
|
||||
DEBUG_TRACE ("meta_compositor_process_event (process_shape)\n");
|
||||
process_shape (compositor, (XShapeEvent *) event, window);
|
||||
}
|
||||
#endif /* HAVE_SHAPE */
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1074,7 +1152,7 @@ meta_compositor_sync_screen_size (MetaCompositor *compositor,
|
||||
|
||||
clutter_actor_set_size (info->stage, width, height);
|
||||
|
||||
meta_background_actor_screen_size_changed (META_BACKGROUND_ACTOR (info->background_actor));
|
||||
meta_background_actor_screen_size_changed (screen);
|
||||
|
||||
meta_verbose ("Changed size for stage on screen %d to %dx%d\n",
|
||||
meta_screen_get_screen_number (screen),
|
||||
@@ -1085,6 +1163,36 @@ static void
|
||||
pre_paint_windows (MetaCompScreen *info)
|
||||
{
|
||||
GList *l;
|
||||
MetaWindowActor *top_window;
|
||||
MetaWindowActor *expected_unredirected_window = NULL;
|
||||
|
||||
if (info->windows == NULL)
|
||||
return;
|
||||
|
||||
top_window = g_list_last (info->windows)->data;
|
||||
|
||||
if (meta_window_actor_should_unredirect (top_window) &&
|
||||
info->disable_unredirect_count == 0)
|
||||
expected_unredirected_window = top_window;
|
||||
|
||||
if (info->unredirected_window != expected_unredirected_window)
|
||||
{
|
||||
if (info->unredirected_window != NULL)
|
||||
{
|
||||
meta_window_actor_set_redirected (info->unredirected_window, TRUE);
|
||||
meta_shape_cow_for_window (meta_window_get_screen (meta_window_actor_get_meta_window (info->unredirected_window)),
|
||||
NULL);
|
||||
}
|
||||
|
||||
if (expected_unredirected_window != NULL)
|
||||
{
|
||||
meta_shape_cow_for_window (meta_window_get_screen (meta_window_actor_get_meta_window (top_window)),
|
||||
meta_window_actor_get_meta_window (top_window));
|
||||
meta_window_actor_set_redirected (top_window, FALSE);
|
||||
}
|
||||
|
||||
info->unredirected_window = expected_unredirected_window;
|
||||
}
|
||||
|
||||
for (l = info->windows; l; l = l->next)
|
||||
meta_window_actor_pre_paint (l->data);
|
||||
@@ -1188,6 +1296,37 @@ meta_get_overlay_window (MetaScreen *screen)
|
||||
return info->output;
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_disable_unredirect_for_screen:
|
||||
* @screen: a #MetaScreen
|
||||
*
|
||||
* Disables unredirection, can be usefull in situations where having
|
||||
* unredirected windows is undesireable like when recording a video.
|
||||
*
|
||||
*/
|
||||
void
|
||||
meta_disable_unredirect_for_screen (MetaScreen *screen)
|
||||
{
|
||||
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
||||
if (info != NULL)
|
||||
info->disable_unredirect_count = info->disable_unredirect_count + 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_enable_unredirect_for_screen:
|
||||
* @screen: a #MetaScreen
|
||||
*
|
||||
* Enables unredirection which reduces the overhead for apps like games.
|
||||
*
|
||||
*/
|
||||
void
|
||||
meta_enable_unredirect_for_screen (MetaScreen *screen)
|
||||
{
|
||||
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
||||
if (info != NULL)
|
||||
info->disable_unredirect_count = MAX(0, info->disable_unredirect_count - 1);
|
||||
}
|
||||
|
||||
#define FLASH_TIME_MS 50
|
||||
|
||||
static void
|
||||
|
||||
15
src/compositor/meta-background-actor-private.h
Normal file
15
src/compositor/meta-background-actor-private.h
Normal file
@@ -0,0 +1,15 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
#ifndef META_BACKGROUND_ACTOR_PRIVATE_H
|
||||
#define META_BACKGROUND_ACTOR_PRIVATE_H
|
||||
|
||||
#include <meta/screen.h>
|
||||
#include <meta/meta-background-actor.h>
|
||||
|
||||
void meta_background_actor_set_visible_region (MetaBackgroundActor *self,
|
||||
cairo_region_t *visible_region);
|
||||
|
||||
void meta_background_actor_update (MetaScreen *screen);
|
||||
void meta_background_actor_screen_size_changed (MetaScreen *screen);
|
||||
|
||||
#endif /* META_BACKGROUND_ACTOR_PRIVATE_H */
|
||||
@@ -33,71 +33,180 @@
|
||||
#include "cogl-utils.h"
|
||||
#include "compositor-private.h"
|
||||
#include <meta/errors.h>
|
||||
#include "meta-background-actor.h"
|
||||
#include "meta-background-actor-private.h"
|
||||
|
||||
struct _MetaBackgroundActorClass
|
||||
/* We allow creating multiple MetaBackgroundActors for the same MetaScreen to
|
||||
* allow different rendering options to be set for different copies.
|
||||
* But we want to share the same underlying CoglTexture for efficiency and
|
||||
* to avoid driver bugs that might occur if we created multiple CoglTexturePixmaps
|
||||
* for the same pixmap.
|
||||
*
|
||||
* This structure holds common information.
|
||||
*/
|
||||
typedef struct _MetaScreenBackground MetaScreenBackground;
|
||||
|
||||
struct _MetaScreenBackground
|
||||
{
|
||||
ClutterActorClass parent_class;
|
||||
};
|
||||
|
||||
struct _MetaBackgroundActor
|
||||
{
|
||||
ClutterActor parent;
|
||||
|
||||
CoglHandle material;
|
||||
MetaScreen *screen;
|
||||
cairo_region_t *visible_region;
|
||||
GSList *actors;
|
||||
|
||||
float texture_width;
|
||||
float texture_height;
|
||||
|
||||
CoglHandle texture;
|
||||
CoglMaterialWrapMode wrap_mode;
|
||||
guint have_pixmap : 1;
|
||||
};
|
||||
|
||||
struct _MetaBackgroundActorPrivate
|
||||
{
|
||||
MetaScreenBackground *background;
|
||||
CoglHandle material;
|
||||
cairo_region_t *visible_region;
|
||||
float dim_factor;
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
PROP_0,
|
||||
|
||||
PROP_DIM_FACTOR,
|
||||
|
||||
PROP_LAST
|
||||
};
|
||||
|
||||
static GParamSpec *obj_props[PROP_LAST];
|
||||
|
||||
G_DEFINE_TYPE (MetaBackgroundActor, meta_background_actor, CLUTTER_TYPE_ACTOR);
|
||||
|
||||
static void
|
||||
update_wrap_mode (MetaBackgroundActor *self)
|
||||
{
|
||||
int width, height;
|
||||
CoglMaterialWrapMode wrap_mode;
|
||||
static void set_texture (MetaScreenBackground *background,
|
||||
CoglHandle texture);
|
||||
static void set_texture_to_stage_color (MetaScreenBackground *background);
|
||||
|
||||
meta_screen_get_size (self->screen, &width, &height);
|
||||
static void
|
||||
on_notify_stage_color (GObject *stage,
|
||||
GParamSpec *pspec,
|
||||
MetaScreenBackground *background)
|
||||
{
|
||||
if (!background->have_pixmap)
|
||||
set_texture_to_stage_color (background);
|
||||
}
|
||||
|
||||
static void
|
||||
free_screen_background (MetaScreenBackground *background)
|
||||
{
|
||||
set_texture (background, COGL_INVALID_HANDLE);
|
||||
|
||||
if (background->screen != NULL)
|
||||
{
|
||||
ClutterActor *stage = meta_get_stage_for_screen (background->screen);
|
||||
g_signal_handlers_disconnect_by_func (stage,
|
||||
(gpointer) on_notify_stage_color,
|
||||
background);
|
||||
background->screen = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static MetaScreenBackground *
|
||||
meta_screen_background_get (MetaScreen *screen)
|
||||
{
|
||||
MetaScreenBackground *background;
|
||||
|
||||
background = g_object_get_data (G_OBJECT (screen), "meta-screen-background");
|
||||
if (background == NULL)
|
||||
{
|
||||
ClutterActor *stage;
|
||||
|
||||
background = g_new0 (MetaScreenBackground, 1);
|
||||
|
||||
background->screen = screen;
|
||||
g_object_set_data_full (G_OBJECT (screen), "meta-screen-background",
|
||||
background, (GDestroyNotify) free_screen_background);
|
||||
|
||||
stage = meta_get_stage_for_screen (screen);
|
||||
g_signal_connect (stage, "notify::color",
|
||||
G_CALLBACK (on_notify_stage_color), background);
|
||||
|
||||
meta_background_actor_update (screen);
|
||||
}
|
||||
|
||||
return background;
|
||||
}
|
||||
|
||||
static void
|
||||
update_wrap_mode_of_actor (MetaBackgroundActor *self)
|
||||
{
|
||||
MetaBackgroundActorPrivate *priv = self->priv;
|
||||
|
||||
cogl_material_set_layer_wrap_mode (priv->material, 0, priv->background->wrap_mode);
|
||||
}
|
||||
|
||||
static void
|
||||
update_wrap_mode (MetaScreenBackground *background)
|
||||
{
|
||||
GSList *l;
|
||||
int width, height;
|
||||
|
||||
meta_screen_get_size (background->screen, &width, &height);
|
||||
|
||||
/* We turn off repeating when we have a full-screen pixmap to keep from
|
||||
* getting artifacts from one side of the image sneaking into the other
|
||||
* side of the image via bilinear filtering.
|
||||
*/
|
||||
if (width == self->texture_width && height == self->texture_height)
|
||||
wrap_mode = COGL_MATERIAL_WRAP_MODE_CLAMP_TO_EDGE;
|
||||
if (width == background->texture_width && height == background->texture_height)
|
||||
background->wrap_mode = COGL_MATERIAL_WRAP_MODE_CLAMP_TO_EDGE;
|
||||
else
|
||||
wrap_mode = COGL_MATERIAL_WRAP_MODE_REPEAT;
|
||||
background->wrap_mode = COGL_MATERIAL_WRAP_MODE_REPEAT;
|
||||
|
||||
cogl_material_set_layer_wrap_mode (self->material, 0, wrap_mode);
|
||||
for (l = background->actors; l; l = l->next)
|
||||
update_wrap_mode_of_actor (l->data);
|
||||
}
|
||||
|
||||
static void
|
||||
set_texture (MetaBackgroundActor *self,
|
||||
CoglHandle texture)
|
||||
set_texture_on_actor (MetaBackgroundActor *self)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_screen_get_display (self->screen);
|
||||
MetaBackgroundActorPrivate *priv = self->priv;
|
||||
MetaDisplay *display = meta_screen_get_display (priv->background->screen);
|
||||
|
||||
/* This may trigger destruction of an old texture pixmap, which, if
|
||||
* the underlying X pixmap is already gone has the tendency to trigger
|
||||
* X errors inside DRI. For safety, trap errors */
|
||||
meta_error_trap_push (display);
|
||||
cogl_material_set_layer (self->material, 0, texture);
|
||||
cogl_material_set_layer (priv->material, 0, priv->background->texture);
|
||||
meta_error_trap_pop (display);
|
||||
|
||||
self->texture_width = cogl_texture_get_width (texture);
|
||||
self->texture_height = cogl_texture_get_height (texture);
|
||||
|
||||
update_wrap_mode (self);
|
||||
|
||||
clutter_actor_queue_redraw (CLUTTER_ACTOR (self));
|
||||
}
|
||||
|
||||
static void
|
||||
set_texture (MetaScreenBackground *background,
|
||||
CoglHandle texture)
|
||||
{
|
||||
MetaDisplay *display = meta_screen_get_display (background->screen);
|
||||
GSList *l;
|
||||
|
||||
/* This may trigger destruction of an old texture pixmap, which, if
|
||||
* the underlying X pixmap is already gone has the tendency to trigger
|
||||
* X errors inside DRI. For safety, trap errors */
|
||||
meta_error_trap_push (display);
|
||||
if (background->texture != COGL_INVALID_HANDLE)
|
||||
{
|
||||
cogl_handle_unref (background->texture);
|
||||
background->texture = COGL_INVALID_HANDLE;
|
||||
}
|
||||
meta_error_trap_pop (display);
|
||||
|
||||
if (texture != COGL_INVALID_HANDLE)
|
||||
background->texture = cogl_handle_ref (texture);
|
||||
|
||||
background->texture_width = cogl_texture_get_width (background->texture);
|
||||
background->texture_height = cogl_texture_get_height (background->texture);
|
||||
|
||||
for (l = background->actors; l; l = l->next)
|
||||
set_texture_on_actor (l->data);
|
||||
|
||||
update_wrap_mode (background);
|
||||
}
|
||||
|
||||
/* Sets our material to paint with a 1x1 texture of the stage's background
|
||||
* color; doing this when we have no pixmap allows the application to turn
|
||||
* off painting the stage. There might be a performance benefit to
|
||||
@@ -106,48 +215,42 @@ set_texture (MetaBackgroundActor *self,
|
||||
* actually pick up the (small?) performance win. This is just a fallback.
|
||||
*/
|
||||
static void
|
||||
set_texture_to_stage_color (MetaBackgroundActor *self)
|
||||
set_texture_to_stage_color (MetaScreenBackground *background)
|
||||
{
|
||||
ClutterActor *stage = meta_get_stage_for_screen (self->screen);
|
||||
ClutterActor *stage = meta_get_stage_for_screen (background->screen);
|
||||
ClutterColor color;
|
||||
CoglHandle texture;
|
||||
|
||||
clutter_stage_get_color (CLUTTER_STAGE (stage), &color);
|
||||
texture = meta_create_color_texture_4ub (color.red, color.green,
|
||||
color.blue, 0xff);
|
||||
set_texture (self, texture);
|
||||
cogl_handle_unref (texture);
|
||||
}
|
||||
|
||||
static void
|
||||
on_notify_stage_color (GObject *stage,
|
||||
GParamSpec *pspec,
|
||||
MetaBackgroundActor *self)
|
||||
{
|
||||
if (!self->have_pixmap)
|
||||
set_texture_to_stage_color (self);
|
||||
/* Slicing will prevent COGL from using hardware texturing for
|
||||
* the tiled 1x1 pixmap, and will cause it to draw the window
|
||||
* background in millions of separate 1x1 rectangles */
|
||||
texture = meta_create_color_texture_4ub (color.red, color.green,
|
||||
color.blue, 0xff,
|
||||
COGL_TEXTURE_NO_SLICING);
|
||||
set_texture (background, texture);
|
||||
cogl_handle_unref (texture);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_background_actor_dispose (GObject *object)
|
||||
{
|
||||
MetaBackgroundActor *self = META_BACKGROUND_ACTOR (object);
|
||||
MetaBackgroundActorPrivate *priv = self->priv;
|
||||
|
||||
meta_background_actor_set_visible_region (self, NULL);
|
||||
|
||||
if (self->material != COGL_INVALID_HANDLE)
|
||||
if (priv->background != NULL)
|
||||
{
|
||||
cogl_handle_unref (self->material);
|
||||
self->material = COGL_INVALID_HANDLE;
|
||||
priv->background->actors = g_slist_remove (priv->background->actors, self);
|
||||
priv->background = NULL;
|
||||
}
|
||||
|
||||
if (self->screen != NULL)
|
||||
if (priv->material != COGL_INVALID_HANDLE)
|
||||
{
|
||||
ClutterActor *stage = meta_get_stage_for_screen (self->screen);
|
||||
g_signal_handlers_disconnect_by_func (stage,
|
||||
(gpointer) on_notify_stage_color,
|
||||
self);
|
||||
self->screen = NULL;
|
||||
cogl_handle_unref (priv->material);
|
||||
priv->material = COGL_INVALID_HANDLE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,14 +261,15 @@ meta_background_actor_get_preferred_width (ClutterActor *actor,
|
||||
gfloat *natural_width_p)
|
||||
{
|
||||
MetaBackgroundActor *self = META_BACKGROUND_ACTOR (actor);
|
||||
MetaBackgroundActorPrivate *priv = self->priv;
|
||||
int width, height;
|
||||
|
||||
meta_screen_get_size (self->screen, &width, &height);
|
||||
meta_screen_get_size (priv->background->screen, &width, &height);
|
||||
|
||||
if (min_width_p)
|
||||
*min_width_p = width;
|
||||
if (natural_width_p)
|
||||
*natural_width_p = height;
|
||||
*natural_width_p = width;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -176,9 +280,10 @@ meta_background_actor_get_preferred_height (ClutterActor *actor,
|
||||
|
||||
{
|
||||
MetaBackgroundActor *self = META_BACKGROUND_ACTOR (actor);
|
||||
MetaBackgroundActorPrivate *priv = self->priv;
|
||||
int width, height;
|
||||
|
||||
meta_screen_get_size (self->screen, &width, &height);
|
||||
meta_screen_get_size (priv->background->screen, &width, &height);
|
||||
|
||||
if (min_height_p)
|
||||
*min_height_p = height;
|
||||
@@ -190,32 +295,39 @@ static void
|
||||
meta_background_actor_paint (ClutterActor *actor)
|
||||
{
|
||||
MetaBackgroundActor *self = META_BACKGROUND_ACTOR (actor);
|
||||
guchar opacity = clutter_actor_get_paint_opacity (actor);
|
||||
MetaBackgroundActorPrivate *priv = self->priv;
|
||||
guint8 opacity = clutter_actor_get_paint_opacity (actor);
|
||||
guint8 color_component;
|
||||
int width, height;
|
||||
|
||||
meta_screen_get_size (self->screen, &width, &height);
|
||||
meta_screen_get_size (priv->background->screen, &width, &height);
|
||||
|
||||
cogl_material_set_color4ub (self->material,
|
||||
opacity, opacity, opacity, opacity);
|
||||
color_component = (int)(0.5 + opacity * priv->dim_factor);
|
||||
|
||||
cogl_set_source (self->material);
|
||||
cogl_material_set_color4ub (priv->material,
|
||||
color_component,
|
||||
color_component,
|
||||
color_component,
|
||||
opacity);
|
||||
|
||||
if (self->visible_region)
|
||||
cogl_set_source (priv->material);
|
||||
|
||||
if (priv->visible_region)
|
||||
{
|
||||
int n_rectangles = cairo_region_num_rectangles (self->visible_region);
|
||||
int n_rectangles = cairo_region_num_rectangles (priv->visible_region);
|
||||
int i;
|
||||
|
||||
for (i = 0; i < n_rectangles; i++)
|
||||
{
|
||||
cairo_rectangle_int_t rect;
|
||||
cairo_region_get_rectangle (self->visible_region, i, &rect);
|
||||
cairo_region_get_rectangle (priv->visible_region, i, &rect);
|
||||
|
||||
cogl_rectangle_with_texture_coords (rect.x, rect.y,
|
||||
rect.x + rect.width, rect.y + rect.height,
|
||||
rect.x / self->texture_width,
|
||||
rect.y / self->texture_height,
|
||||
(rect.x + rect.width) / self->texture_width,
|
||||
(rect.y + rect.height) / self->texture_height);
|
||||
rect.x / priv->background->texture_width,
|
||||
rect.y / priv->background->texture_height,
|
||||
(rect.x + rect.width) / priv->background->texture_width,
|
||||
(rect.y + rect.height) / priv->background->texture_height);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -223,85 +335,160 @@ meta_background_actor_paint (ClutterActor *actor)
|
||||
cogl_rectangle_with_texture_coords (0.0f, 0.0f,
|
||||
width, height,
|
||||
0.0f, 0.0f,
|
||||
width / self->texture_width,
|
||||
height / self->texture_height);
|
||||
width / priv->background->texture_width,
|
||||
height / priv->background->texture_height);
|
||||
}
|
||||
}
|
||||
|
||||
#if CLUTTER_CHECK_VERSION(1, 5, 2)
|
||||
static gboolean
|
||||
meta_background_actor_get_paint_volume (ClutterActor *actor,
|
||||
ClutterPaintVolume *volume)
|
||||
{
|
||||
MetaBackgroundActor *self = META_BACKGROUND_ACTOR (actor);
|
||||
MetaBackgroundActorPrivate *priv = self->priv;
|
||||
int width, height;
|
||||
|
||||
meta_screen_get_size (self->screen, &width, &height);
|
||||
meta_screen_get_size (priv->background->screen, &width, &height);
|
||||
|
||||
clutter_paint_volume_set_width (volume, width);
|
||||
clutter_paint_volume_set_height (volume, height);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
meta_background_actor_set_dim_factor (MetaBackgroundActor *self,
|
||||
gfloat dim_factor)
|
||||
{
|
||||
MetaBackgroundActorPrivate *priv = self->priv;
|
||||
|
||||
if (priv->dim_factor == dim_factor)
|
||||
return;
|
||||
|
||||
priv->dim_factor = dim_factor;
|
||||
|
||||
clutter_actor_queue_redraw (CLUTTER_ACTOR (self));
|
||||
|
||||
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_DIM_FACTOR]);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_background_actor_get_property(GObject *object,
|
||||
guint prop_id,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
MetaBackgroundActor *self = META_BACKGROUND_ACTOR (object);
|
||||
MetaBackgroundActorPrivate *priv = self->priv;
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_DIM_FACTOR:
|
||||
g_value_set_float (value, priv->dim_factor);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
meta_background_actor_set_property(GObject *object,
|
||||
guint prop_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
MetaBackgroundActor *self = META_BACKGROUND_ACTOR (object);
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_DIM_FACTOR:
|
||||
meta_background_actor_set_dim_factor (self, g_value_get_float (value));
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
meta_background_actor_class_init (MetaBackgroundActorClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass);
|
||||
GParamSpec *pspec;
|
||||
|
||||
g_type_class_add_private (klass, sizeof (MetaBackgroundActorPrivate));
|
||||
|
||||
object_class->dispose = meta_background_actor_dispose;
|
||||
object_class->get_property = meta_background_actor_get_property;
|
||||
object_class->set_property = meta_background_actor_set_property;
|
||||
|
||||
actor_class->get_preferred_width = meta_background_actor_get_preferred_width;
|
||||
actor_class->get_preferred_height = meta_background_actor_get_preferred_height;
|
||||
actor_class->paint = meta_background_actor_paint;
|
||||
#if CLUTTER_CHECK_VERSION(1, 5, 2)
|
||||
actor_class->get_paint_volume = meta_background_actor_get_paint_volume;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* MetaBackgroundActor:dim-factor:
|
||||
*
|
||||
* Factor to dim the background by, between 0.0 (black) and 1.0 (original
|
||||
* colors)
|
||||
*/
|
||||
pspec = g_param_spec_float ("dim-factor",
|
||||
"Dim factor",
|
||||
"Factor to dim the background by",
|
||||
0.0, 1.0,
|
||||
1.0,
|
||||
G_PARAM_READWRITE);
|
||||
obj_props[PROP_DIM_FACTOR] = pspec;
|
||||
g_object_class_install_property (object_class, PROP_DIM_FACTOR, pspec);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_background_actor_init (MetaBackgroundActor *background_actor)
|
||||
meta_background_actor_init (MetaBackgroundActor *self)
|
||||
{
|
||||
MetaBackgroundActorPrivate *priv;
|
||||
|
||||
priv = self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
|
||||
META_TYPE_BACKGROUND_ACTOR,
|
||||
MetaBackgroundActorPrivate);
|
||||
priv->dim_factor = 1.0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @screen: the #MetaScreen
|
||||
* meta_background_actor_new:
|
||||
* @screen: the #MetaScreen
|
||||
*
|
||||
* Creates a new actor to draw the background for the given screen.
|
||||
*
|
||||
* Return value: (transfer none): the newly created background actor
|
||||
* Return value: the newly created background actor
|
||||
*/
|
||||
ClutterActor *
|
||||
meta_background_actor_new (MetaScreen *screen)
|
||||
meta_background_actor_new_for_screen (MetaScreen *screen)
|
||||
{
|
||||
MetaBackgroundActor *self;
|
||||
ClutterActor *stage;
|
||||
MetaBackgroundActorPrivate *priv;
|
||||
|
||||
g_return_val_if_fail (META_IS_SCREEN (screen), NULL);
|
||||
|
||||
self = g_object_new (META_TYPE_BACKGROUND_ACTOR, NULL);
|
||||
priv = self->priv;
|
||||
|
||||
self->screen = screen;
|
||||
priv->background = meta_screen_background_get (screen);
|
||||
priv->background->actors = g_slist_prepend (priv->background->actors, self);
|
||||
|
||||
self->material = meta_create_texture_material (NULL);
|
||||
cogl_material_set_layer_wrap_mode (self->material, 0,
|
||||
COGL_MATERIAL_WRAP_MODE_REPEAT);
|
||||
priv->material = meta_create_texture_material (NULL);
|
||||
|
||||
stage = meta_get_stage_for_screen (self->screen);
|
||||
g_signal_connect (stage, "notify::color",
|
||||
G_CALLBACK (on_notify_stage_color), self);
|
||||
|
||||
meta_background_actor_update (self);
|
||||
set_texture_on_actor (self);
|
||||
update_wrap_mode_of_actor (self);
|
||||
|
||||
return CLUTTER_ACTOR (self);
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_background_actor_update:
|
||||
* @self: a #MetaBackgroundActor
|
||||
* @screen: a #MetaScreen
|
||||
*
|
||||
* Refetches the _XROOTPMAP_ID property for the root window and updates
|
||||
* the contents of the background actor based on that. There's no attempt
|
||||
@@ -311,8 +498,9 @@ meta_background_actor_new (MetaScreen *screen)
|
||||
* a PropertyNotify event for the property.
|
||||
*/
|
||||
void
|
||||
meta_background_actor_update (MetaBackgroundActor *self)
|
||||
meta_background_actor_update (MetaScreen *screen)
|
||||
{
|
||||
MetaScreenBackground *background;
|
||||
MetaDisplay *display;
|
||||
MetaCompositor *compositor;
|
||||
Atom type;
|
||||
@@ -322,14 +510,13 @@ meta_background_actor_update (MetaBackgroundActor *self)
|
||||
guchar *data;
|
||||
Pixmap root_pixmap_id;
|
||||
|
||||
g_return_if_fail (META_IS_BACKGROUND_ACTOR (self));
|
||||
|
||||
display = meta_screen_get_display (self->screen);
|
||||
background = meta_screen_background_get (screen);
|
||||
display = meta_screen_get_display (screen);
|
||||
compositor = meta_display_get_compositor (display);
|
||||
|
||||
root_pixmap_id = None;
|
||||
if (!XGetWindowProperty (meta_display_get_xdisplay (display),
|
||||
meta_screen_get_xroot (self->screen),
|
||||
meta_screen_get_xroot (screen),
|
||||
compositor->atom_x_root_pixmap,
|
||||
0, LONG_MAX,
|
||||
False,
|
||||
@@ -357,16 +544,16 @@ meta_background_actor_update (MetaBackgroundActor *self)
|
||||
|
||||
if (texture != COGL_INVALID_HANDLE)
|
||||
{
|
||||
set_texture (self, texture);
|
||||
set_texture (background, texture);
|
||||
cogl_handle_unref (texture);
|
||||
|
||||
self->have_pixmap = True;
|
||||
background->have_pixmap = True;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
self->have_pixmap = False;
|
||||
set_texture_to_stage_color (self);
|
||||
background->have_pixmap = False;
|
||||
set_texture_to_stage_color (background);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -382,37 +569,46 @@ void
|
||||
meta_background_actor_set_visible_region (MetaBackgroundActor *self,
|
||||
cairo_region_t *visible_region)
|
||||
{
|
||||
MetaBackgroundActorPrivate *priv;
|
||||
|
||||
g_return_if_fail (META_IS_BACKGROUND_ACTOR (self));
|
||||
|
||||
if (self->visible_region)
|
||||
priv = self->priv;
|
||||
|
||||
if (priv->visible_region)
|
||||
{
|
||||
cairo_region_destroy (self->visible_region);
|
||||
self->visible_region = NULL;
|
||||
cairo_region_destroy (priv->visible_region);
|
||||
priv->visible_region = NULL;
|
||||
}
|
||||
|
||||
if (visible_region)
|
||||
{
|
||||
cairo_rectangle_int_t screen_rect = { 0 };
|
||||
meta_screen_get_size (self->screen, &screen_rect.width, &screen_rect.height);
|
||||
meta_screen_get_size (priv->background->screen, &screen_rect.width, &screen_rect.height);
|
||||
|
||||
/* Doing the intersection here is probably unnecessary - MetaWindowGroup
|
||||
* should never compute a visible area that's larger than the root screen!
|
||||
* but it's not that expensive and adds some extra robustness.
|
||||
*/
|
||||
self->visible_region = cairo_region_create_rectangle (&screen_rect);
|
||||
cairo_region_intersect (self->visible_region, visible_region);
|
||||
priv->visible_region = cairo_region_create_rectangle (&screen_rect);
|
||||
cairo_region_intersect (priv->visible_region, visible_region);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_background_actor_screen_size_changed:
|
||||
* @self: a #MetaBackgroundActor
|
||||
* @screen: a #MetaScreen
|
||||
*
|
||||
* Called by the compositor when the size of the #MetaScreen changes
|
||||
*/
|
||||
void
|
||||
meta_background_actor_screen_size_changed (MetaBackgroundActor *self)
|
||||
meta_background_actor_screen_size_changed (MetaScreen *screen)
|
||||
{
|
||||
update_wrap_mode (self);
|
||||
clutter_actor_queue_relayout (CLUTTER_ACTOR (self));
|
||||
MetaScreenBackground *background = meta_screen_background_get (screen);
|
||||
GSList *l;
|
||||
|
||||
update_wrap_mode (background);
|
||||
|
||||
for (l = background->actors; l; l = l->next)
|
||||
clutter_actor_queue_relayout (l->data);
|
||||
}
|
||||
|
||||
@@ -47,7 +47,8 @@ void meta_shadow_paint (MetaShadow *shadow,
|
||||
int window_width,
|
||||
int window_height,
|
||||
guint8 opacity,
|
||||
cairo_region_t *clip);
|
||||
cairo_region_t *clip,
|
||||
gboolean clip_strictly);
|
||||
void meta_shadow_get_bounds (MetaShadow *shadow,
|
||||
int window_x,
|
||||
int window_y,
|
||||
|
||||
@@ -120,17 +120,17 @@ static guint signals[LAST_SIGNAL] = { 0 };
|
||||
/* The first element in this array also defines the default parameters
|
||||
* for newly created classes */
|
||||
MetaShadowClassInfo default_shadow_classes[] = {
|
||||
{ "normal", { 12, -1, 0, 8, 255 }, { 6, -1, 0, 4, 255 } },
|
||||
{ "dialog", { 12, -1, 0, 8, 255 }, { 6, -1, 0, 4, 255 } },
|
||||
{ "modal_dialog", { 12, -1, 0, 8, 255 }, { 6, -1, 0, 4, 255 } },
|
||||
{ "utility", { 12, -1, 0, 8, 255 }, { 6, -1, 0, 4, 255 } },
|
||||
{ "border", { 12, -1, 0, 8, 255 }, { 6, -1, 0, 4, 255 } },
|
||||
{ "menu", { 12, -1, 0, 8, 255 }, { 6, -1, 0, 4, 255 } },
|
||||
{ "normal", { 6, -1, 0, 3, 255 }, { 3, -1, 0, 3, 128 } },
|
||||
{ "dialog", { 6, -1, 0, 3, 255 }, { 3, -1, 0, 3, 128 } },
|
||||
{ "modal_dialog", { 6, -1, 0, 1, 255 }, { 3, -1, 0, 3, 128 } },
|
||||
{ "utility", { 3, -1, 0, 1, 255 }, { 3, -1, 0, 1, 128 } },
|
||||
{ "border", { 6, -1, 0, 3, 255 }, { 3, -1, 0, 3, 128 } },
|
||||
{ "menu", { 6, -1, 0, 3, 255 }, { 3, -1, 0, 0, 128 } },
|
||||
|
||||
{ "popup-menu", { 6, -1, 0, 4, 255 }, { 6, -1, 0, 4, 255 } },
|
||||
{ "popup-menu", { 1, -1, 0, 1, 128 }, { 1, -1, 0, 1, 128 } },
|
||||
|
||||
{ "dropdown-menu", { 6, 25, 0, 4, 255 }, { 6, 100, 0, 4, 255 } },
|
||||
{ "attached", { 6, 25, 0, 4, 255 }, { 6, 100, 0, 4, 255 } }
|
||||
{ "dropdown-menu", { 1, 10, 0, 1, 128 }, { 1, 10, 0, 1, 128 } },
|
||||
{ "attached", { 2, 50, 0, 1, 255 }, { 1, 50, 0, 1, 128 } }
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (MetaShadowFactory, meta_shadow_factory, G_TYPE_OBJECT);
|
||||
@@ -189,8 +189,10 @@ meta_shadow_unref (MetaShadow *shadow)
|
||||
* @window_width: actual width of the region to paint a shadow for
|
||||
* @window_height: actual height of the region to paint a shadow for
|
||||
* @clip: (allow-none): if non-%NULL specifies the visible portion
|
||||
* of the shadow. Drawing won't be strictly clipped to this region
|
||||
* but it will be used to optimize what is drawn.
|
||||
* of the shadow.
|
||||
* @clip_strictly: if %TRUE, drawing will be clipped strictly
|
||||
* to @clip, otherwise, it will be only used to optimize
|
||||
* drawing.
|
||||
*
|
||||
* Paints the shadow at the given position, for the specified actual
|
||||
* size of the region. (Since a #MetaShadow can be shared between
|
||||
@@ -204,7 +206,8 @@ meta_shadow_paint (MetaShadow *shadow,
|
||||
int window_width,
|
||||
int window_height,
|
||||
guint8 opacity,
|
||||
cairo_region_t *clip)
|
||||
cairo_region_t *clip,
|
||||
gboolean clip_strictly)
|
||||
{
|
||||
float texture_width = cogl_texture_get_width (shadow->texture);
|
||||
float texture_height = cogl_texture_get_height (shadow->texture);
|
||||
@@ -276,6 +279,9 @@ meta_shadow_paint (MetaShadow *shadow,
|
||||
dest_rect.y = dest_y[j];
|
||||
dest_rect.height = dest_y[j + 1] - dest_y[j];
|
||||
|
||||
if (dest_rect.height == 0)
|
||||
continue;
|
||||
|
||||
for (i = 0; i < n_x; i++)
|
||||
{
|
||||
cairo_region_overlap_t overlap;
|
||||
@@ -283,16 +289,64 @@ meta_shadow_paint (MetaShadow *shadow,
|
||||
dest_rect.x = dest_x[i];
|
||||
dest_rect.width = dest_x[i + 1] - dest_x[i];
|
||||
|
||||
if (dest_rect.width == 0)
|
||||
continue;
|
||||
|
||||
if (clip)
|
||||
overlap = cairo_region_contains_rectangle (clip, &dest_rect);
|
||||
else
|
||||
overlap = CAIRO_REGION_OVERLAP_PART;
|
||||
overlap = CAIRO_REGION_OVERLAP_IN;
|
||||
|
||||
if (overlap != CAIRO_REGION_OVERLAP_OUT)
|
||||
cogl_rectangle_with_texture_coords (dest_x[i], dest_y[j],
|
||||
dest_x[i + 1], dest_y[j + 1],
|
||||
src_x[i], src_y[j],
|
||||
src_x[i + 1], src_y[j + 1]);
|
||||
/* There's quite a bit of overhead from allocating a new
|
||||
* region in order to find an exact intersection and
|
||||
* generating more geometry - we make the assumption that
|
||||
* unless we have to clip strictly it will be cheaper to
|
||||
* just draw the entire rectangle.
|
||||
*/
|
||||
if (overlap == CAIRO_REGION_OVERLAP_IN ||
|
||||
(overlap == CAIRO_REGION_OVERLAP_PART && !clip_strictly))
|
||||
{
|
||||
cogl_rectangle_with_texture_coords (dest_x[i], dest_y[j],
|
||||
dest_x[i + 1], dest_y[j + 1],
|
||||
src_x[i], src_y[j],
|
||||
src_x[i + 1], src_y[j + 1]);
|
||||
}
|
||||
else if (overlap == CAIRO_REGION_OVERLAP_PART)
|
||||
{
|
||||
cairo_region_t *intersection;
|
||||
int n_rectangles, k;
|
||||
|
||||
intersection = cairo_region_create_rectangle (&dest_rect);
|
||||
cairo_region_intersect (intersection, clip);
|
||||
|
||||
n_rectangles = cairo_region_num_rectangles (intersection);
|
||||
for (k = 0; k < n_rectangles; k++)
|
||||
{
|
||||
cairo_rectangle_int_t rect;
|
||||
float src_x1, src_x2, src_y1, src_y2;
|
||||
|
||||
cairo_region_get_rectangle (intersection, k, &rect);
|
||||
|
||||
/* Separately linear interpolate X and Y coordinates in the source
|
||||
* based on the destination X and Y coordinates */
|
||||
|
||||
src_x1 = (src_x[i] * (dest_rect.x + dest_rect.width - rect.x) +
|
||||
src_x[i + 1] * (rect.x - dest_rect.x)) / dest_rect.width;
|
||||
src_x2 = (src_x[i] * (dest_rect.x + dest_rect.width - (rect.x + rect.width)) +
|
||||
src_x[i + 1] * (rect.x + rect.width - dest_rect.x)) / dest_rect.width;
|
||||
|
||||
src_y1 = (src_y[j] * (dest_rect.y + dest_rect.height - rect.y) +
|
||||
src_y[j + 1] * (rect.y - dest_rect.y)) / dest_rect.height;
|
||||
src_y2 = (src_y[j] * (dest_rect.y + dest_rect.height - (rect.y + rect.height)) +
|
||||
src_y[j + 1] * (rect.y + rect.height - dest_rect.y)) / dest_rect.height;
|
||||
|
||||
cogl_rectangle_with_texture_coords (rect.x, rect.y,
|
||||
rect.x + rect.width, rect.y + rect.height,
|
||||
src_x1, src_y1, src_x2, src_y2);
|
||||
}
|
||||
|
||||
cairo_region_destroy (intersection);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -306,7 +360,7 @@ meta_shadow_paint (MetaShadow *shadow,
|
||||
* @window_height: actual height of the region to paint a shadow for
|
||||
*
|
||||
* Computes the bounds of the pixels that will be affected by
|
||||
* meta_shadow_paints()
|
||||
* meta_shadow_paint()
|
||||
*/
|
||||
void
|
||||
meta_shadow_get_bounds (MetaShadow *shadow,
|
||||
@@ -317,7 +371,7 @@ meta_shadow_get_bounds (MetaShadow *shadow,
|
||||
cairo_rectangle_int_t *bounds)
|
||||
{
|
||||
bounds->x = window_x - shadow->outer_border_left;
|
||||
bounds->y = window_x - shadow->outer_border_top;
|
||||
bounds->y = window_y - shadow->outer_border_top;
|
||||
bounds->width = window_width + shadow->outer_border_left + shadow->outer_border_right;
|
||||
bounds->height = window_height + shadow->outer_border_top + shadow->outer_border_bottom;
|
||||
}
|
||||
|
||||
@@ -27,13 +27,13 @@
|
||||
|
||||
#include "meta-shaped-texture.h"
|
||||
#include "meta-texture-tower.h"
|
||||
#include "meta-texture-rectangle.h"
|
||||
|
||||
#include <clutter/clutter.h>
|
||||
#include <cogl/cogl.h>
|
||||
#include <string.h>
|
||||
|
||||
static void meta_shaped_texture_dispose (GObject *object);
|
||||
static void meta_shaped_texture_finalize (GObject *object);
|
||||
static void meta_shaped_texture_notify (GObject *object,
|
||||
GParamSpec *pspec);
|
||||
|
||||
@@ -49,13 +49,8 @@ static void meta_shaped_texture_update_area (ClutterX11TexturePixmap *texture,
|
||||
|
||||
static void meta_shaped_texture_dirty_mask (MetaShapedTexture *stex);
|
||||
|
||||
#ifdef HAVE_GLX_TEXTURE_PIXMAP
|
||||
G_DEFINE_TYPE (MetaShapedTexture, meta_shaped_texture,
|
||||
CLUTTER_GLX_TYPE_TEXTURE_PIXMAP);
|
||||
#else /* HAVE_GLX_TEXTURE_PIXMAP */
|
||||
G_DEFINE_TYPE (MetaShapedTexture, meta_shaped_texture,
|
||||
CLUTTER_X11_TYPE_TEXTURE_PIXMAP);
|
||||
#endif /* HAVE_GLX_TEXTURE_PIXMAP */
|
||||
|
||||
#define META_SHAPED_TEXTURE_GET_PRIVATE(obj) \
|
||||
(G_TYPE_INSTANCE_GET_PRIVATE ((obj), META_TYPE_SHAPED_TEXTURE, \
|
||||
@@ -69,11 +64,15 @@ struct _MetaShapedTexturePrivate
|
||||
CoglHandle material_unshaped;
|
||||
|
||||
cairo_region_t *clip_region;
|
||||
cairo_region_t *shape_region;
|
||||
|
||||
cairo_region_t *overlay_region;
|
||||
cairo_path_t *overlay_path;
|
||||
|
||||
cairo_region_t *visible_pixels_region;
|
||||
|
||||
guint mask_width, mask_height;
|
||||
|
||||
GArray *rectangles;
|
||||
|
||||
guint create_mipmaps : 1;
|
||||
};
|
||||
|
||||
@@ -85,7 +84,6 @@ meta_shaped_texture_class_init (MetaShapedTextureClass *klass)
|
||||
ClutterX11TexturePixmapClass *x11_texture_class = (ClutterX11TexturePixmapClass *) klass;
|
||||
|
||||
gobject_class->dispose = meta_shaped_texture_dispose;
|
||||
gobject_class->finalize = meta_shaped_texture_finalize;
|
||||
gobject_class->notify = meta_shaped_texture_notify;
|
||||
|
||||
actor_class->paint = meta_shaped_texture_paint;
|
||||
@@ -103,8 +101,10 @@ meta_shaped_texture_init (MetaShapedTexture *self)
|
||||
|
||||
priv = self->priv = META_SHAPED_TEXTURE_GET_PRIVATE (self);
|
||||
|
||||
priv->rectangles = g_array_new (FALSE, FALSE, sizeof (XRectangle));
|
||||
|
||||
priv->shape_region = NULL;
|
||||
priv->overlay_path = NULL;
|
||||
priv->overlay_region = NULL;
|
||||
priv->visible_pixels_region = NULL;
|
||||
priv->paint_tower = meta_texture_tower_new ();
|
||||
priv->mask_texture = COGL_INVALID_HANDLE;
|
||||
priv->create_mipmaps = TRUE;
|
||||
@@ -133,22 +133,13 @@ meta_shaped_texture_dispose (GObject *object)
|
||||
priv->material_unshaped = COGL_INVALID_HANDLE;
|
||||
}
|
||||
|
||||
meta_shaped_texture_set_shape_region (self, NULL);
|
||||
meta_shaped_texture_set_clip_region (self, NULL);
|
||||
meta_shaped_texture_set_overlay_path (self, NULL, NULL);
|
||||
|
||||
G_OBJECT_CLASS (meta_shaped_texture_parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_shaped_texture_finalize (GObject *object)
|
||||
{
|
||||
MetaShapedTexture *self = (MetaShapedTexture *) object;
|
||||
MetaShapedTexturePrivate *priv = self->priv;
|
||||
|
||||
g_array_free (priv->rectangles, TRUE);
|
||||
|
||||
G_OBJECT_CLASS (meta_shaped_texture_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_shaped_texture_notify (GObject *object,
|
||||
GParamSpec *pspec)
|
||||
@@ -179,27 +170,139 @@ meta_shaped_texture_dirty_mask (MetaShapedTexture *stex)
|
||||
{
|
||||
MetaShapedTexturePrivate *priv = stex->priv;
|
||||
|
||||
if (priv->mask_texture != COGL_INVALID_HANDLE)
|
||||
if (priv->visible_pixels_region != NULL)
|
||||
{
|
||||
GLuint mask_gl_tex;
|
||||
GLenum mask_gl_target;
|
||||
cairo_region_destroy (priv->visible_pixels_region);
|
||||
priv->visible_pixels_region = NULL;
|
||||
|
||||
cogl_texture_get_gl_texture (priv->mask_texture,
|
||||
&mask_gl_tex, &mask_gl_target);
|
||||
|
||||
#ifdef GL_TEXTURE_RECTANGLE_ARB
|
||||
if (mask_gl_target == GL_TEXTURE_RECTANGLE_ARB)
|
||||
glDeleteTextures (1, &mask_gl_tex);
|
||||
#endif
|
||||
|
||||
cogl_handle_unref (priv->mask_texture);
|
||||
priv->mask_texture = COGL_INVALID_HANDLE;
|
||||
if (priv->mask_texture != COGL_INVALID_HANDLE)
|
||||
{
|
||||
cogl_handle_unref (priv->mask_texture);
|
||||
priv->mask_texture = COGL_INVALID_HANDLE;
|
||||
}
|
||||
|
||||
if (priv->material != COGL_INVALID_HANDLE)
|
||||
cogl_material_set_layer (priv->material, 1, COGL_INVALID_HANDLE);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
scan_visible_region (MetaShapedTexture *stex,
|
||||
guchar *mask_data,
|
||||
int stride)
|
||||
{
|
||||
MetaShapedTexturePrivate *priv = stex->priv;
|
||||
cairo_region_t *visible_pixels_region;
|
||||
cairo_region_t *overlay_region;
|
||||
int i, n_rects;
|
||||
|
||||
/* The visible pixels region contains all pixel values above 0.
|
||||
* This is somewhat complicated when there's an overlay: we
|
||||
* need to scan all regions potentially modified by it.
|
||||
*/
|
||||
|
||||
if (priv->visible_pixels_region)
|
||||
cairo_region_destroy (priv->visible_pixels_region);
|
||||
|
||||
priv->visible_pixels_region = cairo_region_copy (priv->shape_region);
|
||||
|
||||
visible_pixels_region = priv->visible_pixels_region;
|
||||
overlay_region = priv->overlay_region;
|
||||
|
||||
/* With no overlay region, the visible region is defined
|
||||
* by the mask region, so we don't need to scan anything. */
|
||||
if (overlay_region == NULL)
|
||||
return;
|
||||
|
||||
/* Subtract all the rectangles in the overlay region so that we can
|
||||
* scan all the pixels potentially added by the overlay path. */
|
||||
cairo_region_subtract (visible_pixels_region, overlay_region);
|
||||
|
||||
n_rects = cairo_region_num_rectangles (overlay_region);
|
||||
|
||||
for (i = 0; i < n_rects; i++)
|
||||
{
|
||||
int x, y;
|
||||
cairo_rectangle_int_t rect;
|
||||
|
||||
cairo_region_get_rectangle (overlay_region, i, &rect);
|
||||
|
||||
for (y = rect.y; y < (rect.y + rect.height); y++)
|
||||
{
|
||||
for (x = rect.x; x < (rect.x + rect.width); x++)
|
||||
{
|
||||
int w = x;
|
||||
while (mask_data[y * stride + w] > 0 && w < (rect.x + rect.width))
|
||||
w++;
|
||||
|
||||
if (w > 0)
|
||||
{
|
||||
cairo_rectangle_int_t tmp;
|
||||
tmp.x = x;
|
||||
tmp.y = y;
|
||||
tmp.width = w - x;
|
||||
tmp.height = 1;
|
||||
cairo_region_union_rectangle (visible_pixels_region, &tmp);
|
||||
x = w;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
install_overlay_path (MetaShapedTexture *stex,
|
||||
guchar *mask_data,
|
||||
int tex_width,
|
||||
int tex_height,
|
||||
int stride)
|
||||
{
|
||||
MetaShapedTexturePrivate *priv = stex->priv;
|
||||
int i, n_rects;
|
||||
cairo_t *cr;
|
||||
cairo_rectangle_int_t rect;
|
||||
cairo_surface_t *surface;
|
||||
|
||||
if (priv->overlay_region == NULL)
|
||||
return;
|
||||
|
||||
surface = cairo_image_surface_create_for_data (mask_data,
|
||||
CAIRO_FORMAT_A8,
|
||||
tex_width,
|
||||
tex_height,
|
||||
stride);
|
||||
|
||||
cr = cairo_create (surface);
|
||||
cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
|
||||
|
||||
n_rects = cairo_region_num_rectangles (priv->overlay_region);
|
||||
for (i = 0; i < n_rects; i++)
|
||||
{
|
||||
cairo_region_get_rectangle (priv->overlay_region, i, &rect);
|
||||
cairo_rectangle (cr, rect.x, rect.y, rect.width, rect.height);
|
||||
}
|
||||
|
||||
cairo_fill_preserve (cr);
|
||||
if (priv->overlay_path == NULL)
|
||||
{
|
||||
/* If we have an overlay region but not an overlay path, then we
|
||||
* just need to clear the rectangles in the overlay region. */
|
||||
goto out;
|
||||
}
|
||||
|
||||
cairo_clip (cr);
|
||||
|
||||
cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
|
||||
cairo_set_source_rgba (cr, 1, 1, 1, 1);
|
||||
|
||||
cairo_append_path (cr, priv->overlay_path);
|
||||
cairo_fill (cr);
|
||||
|
||||
out:
|
||||
cairo_destroy (cr);
|
||||
cairo_surface_destroy (surface);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_shaped_texture_ensure_mask (MetaShapedTexture *stex)
|
||||
{
|
||||
@@ -222,22 +325,42 @@ meta_shaped_texture_ensure_mask (MetaShapedTexture *stex)
|
||||
meta_shaped_texture_dirty_mask (stex);
|
||||
|
||||
/* If we don't have a mask texture yet then create one */
|
||||
if (priv->mask_texture == COGL_INVALID_HANDLE)
|
||||
if (priv->visible_pixels_region == NULL)
|
||||
{
|
||||
guchar *mask_data;
|
||||
const XRectangle *rect;
|
||||
int i;
|
||||
int n_rects;
|
||||
int stride;
|
||||
GLenum paint_gl_target;
|
||||
|
||||
/* Create data for an empty image */
|
||||
mask_data = g_malloc0 (tex_width * tex_height);
|
||||
|
||||
/* Cut out a hole for each rectangle */
|
||||
for (rect = (XRectangle *) priv->rectangles->data
|
||||
+ priv->rectangles->len;
|
||||
rect-- > (XRectangle *) priv->rectangles->data;)
|
||||
/* If we have no shape region and no (or an empty) overlay region, we
|
||||
* don't need to create a full mask texture, so quit early. */
|
||||
if (priv->shape_region == NULL &&
|
||||
(priv->overlay_region == NULL ||
|
||||
cairo_region_num_rectangles (priv->overlay_region) == 0))
|
||||
{
|
||||
gint x1 = rect->x, x2 = x1 + rect->width;
|
||||
gint y1 = rect->y, y2 = y1 + rect->height;
|
||||
/* With no mask, the visible region is just
|
||||
* {0, 0, tex_width, tex_height}. */
|
||||
cairo_rectangle_int_t rect = { 0, 0, tex_width, tex_height };
|
||||
priv->visible_pixels_region = cairo_region_create_rectangle (&rect);
|
||||
return;
|
||||
}
|
||||
|
||||
stride = cairo_format_stride_for_width (CAIRO_FORMAT_A8, tex_width);
|
||||
|
||||
/* Create data for an empty image */
|
||||
mask_data = g_malloc0 (stride * tex_height);
|
||||
|
||||
n_rects = cairo_region_num_rectangles (priv->shape_region);
|
||||
|
||||
/* Fill in each rectangle. */
|
||||
for (i = 0; i < n_rects; i ++)
|
||||
{
|
||||
cairo_rectangle_int_t rect;
|
||||
cairo_region_get_rectangle (priv->shape_region, i, &rect);
|
||||
|
||||
gint x1 = rect.x, x2 = x1 + rect.width;
|
||||
gint y1 = rect.y, y2 = y1 + rect.height;
|
||||
guchar *p;
|
||||
|
||||
/* Clip the rectangle to the size of the texture */
|
||||
@@ -247,35 +370,32 @@ meta_shaped_texture_ensure_mask (MetaShapedTexture *stex)
|
||||
y2 = CLAMP (y2, y1, (gint) tex_height);
|
||||
|
||||
/* Fill the rectangle */
|
||||
for (p = mask_data + y1 * tex_width + x1;
|
||||
for (p = mask_data + y1 * stride + x1;
|
||||
y1 < y2;
|
||||
y1++, p += tex_width)
|
||||
y1++, p += stride)
|
||||
memset (p, 255, x2 - x1);
|
||||
}
|
||||
|
||||
install_overlay_path (stex, mask_data, tex_width, tex_height, stride);
|
||||
scan_visible_region (stex, mask_data, stride);
|
||||
|
||||
cogl_texture_get_gl_texture (paint_tex, NULL, &paint_gl_target);
|
||||
|
||||
#ifdef GL_TEXTURE_RECTANGLE_ARB
|
||||
if (paint_gl_target == GL_TEXTURE_RECTANGLE_ARB)
|
||||
{
|
||||
GLuint tex;
|
||||
|
||||
glGenTextures (1, &tex);
|
||||
glBindTexture (GL_TEXTURE_RECTANGLE_ARB, tex);
|
||||
glPixelStorei (GL_UNPACK_ROW_LENGTH, tex_width);
|
||||
glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
|
||||
glPixelStorei (GL_UNPACK_SKIP_ROWS, 0);
|
||||
glPixelStorei (GL_UNPACK_SKIP_PIXELS, 0);
|
||||
glTexImage2D (GL_TEXTURE_RECTANGLE_ARB, 0,
|
||||
GL_ALPHA, tex_width, tex_height,
|
||||
0, GL_ALPHA, GL_UNSIGNED_BYTE, mask_data);
|
||||
|
||||
priv->mask_texture
|
||||
= cogl_texture_new_from_foreign (tex,
|
||||
GL_TEXTURE_RECTANGLE_ARB,
|
||||
tex_width, tex_height,
|
||||
0, 0,
|
||||
COGL_PIXEL_FORMAT_A_8);
|
||||
= meta_texture_rectangle_new (tex_width, tex_height,
|
||||
0, /* flags */
|
||||
/* data format */
|
||||
COGL_PIXEL_FORMAT_A_8,
|
||||
/* internal GL format */
|
||||
GL_ALPHA,
|
||||
/* internal cogl format */
|
||||
COGL_PIXEL_FORMAT_A_8,
|
||||
/* rowstride */
|
||||
stride,
|
||||
mask_data);
|
||||
}
|
||||
else
|
||||
#endif /* GL_TEXTURE_RECTANGLE_ARB */
|
||||
@@ -283,7 +403,7 @@ meta_shaped_texture_ensure_mask (MetaShapedTexture *stex)
|
||||
COGL_TEXTURE_NONE,
|
||||
COGL_PIXEL_FORMAT_A_8,
|
||||
COGL_PIXEL_FORMAT_ANY,
|
||||
tex_width,
|
||||
stride,
|
||||
mask_data);
|
||||
|
||||
g_free (mask_data);
|
||||
@@ -342,9 +462,9 @@ meta_shaped_texture_paint (ClutterActor *actor)
|
||||
if (tex_width == 0 || tex_height == 0) /* no contents yet */
|
||||
return;
|
||||
|
||||
if (priv->rectangles->len < 1)
|
||||
if (priv->shape_region == NULL)
|
||||
{
|
||||
/* If there are no rectangles use a single-layer texture */
|
||||
/* No region means an unclipped shape. Use a single-layer texture. */
|
||||
|
||||
if (priv->material_unshaped == COGL_INVALID_HANDLE)
|
||||
{
|
||||
@@ -444,8 +564,8 @@ meta_shaped_texture_pick (ClutterActor *actor,
|
||||
MetaShapedTexture *stex = (MetaShapedTexture *) actor;
|
||||
MetaShapedTexturePrivate *priv = stex->priv;
|
||||
|
||||
/* If there are no rectangles then use the regular pick */
|
||||
if (priv->rectangles->len < 1)
|
||||
/* If there is no region then use the regular pick */
|
||||
if (priv->shape_region == NULL)
|
||||
CLUTTER_ACTOR_CLASS (meta_shaped_texture_parent_class)
|
||||
->pick (actor, color);
|
||||
else if (clutter_actor_should_pick_paint (actor))
|
||||
@@ -565,7 +685,8 @@ meta_shaped_texture_clear (MetaShapedTexture *stex)
|
||||
}
|
||||
|
||||
void
|
||||
meta_shaped_texture_clear_rectangles (MetaShapedTexture *stex)
|
||||
meta_shaped_texture_set_shape_region (MetaShapedTexture *stex,
|
||||
cairo_region_t *region)
|
||||
{
|
||||
MetaShapedTexturePrivate *priv;
|
||||
|
||||
@@ -573,40 +694,85 @@ meta_shaped_texture_clear_rectangles (MetaShapedTexture *stex)
|
||||
|
||||
priv = stex->priv;
|
||||
|
||||
g_array_set_size (priv->rectangles, 0);
|
||||
meta_shaped_texture_dirty_mask (stex);
|
||||
clutter_actor_queue_redraw (CLUTTER_ACTOR (stex));
|
||||
}
|
||||
if (priv->shape_region != NULL)
|
||||
{
|
||||
cairo_region_destroy (priv->shape_region);
|
||||
priv->shape_region = NULL;
|
||||
}
|
||||
|
||||
void
|
||||
meta_shaped_texture_add_rectangle (MetaShapedTexture *stex,
|
||||
const XRectangle *rect)
|
||||
{
|
||||
g_return_if_fail (META_IS_SHAPED_TEXTURE (stex));
|
||||
|
||||
meta_shaped_texture_add_rectangles (stex, 1, rect);
|
||||
}
|
||||
|
||||
void
|
||||
meta_shaped_texture_add_rectangles (MetaShapedTexture *stex,
|
||||
size_t num_rects,
|
||||
const XRectangle *rects)
|
||||
{
|
||||
MetaShapedTexturePrivate *priv;
|
||||
|
||||
g_return_if_fail (META_IS_SHAPED_TEXTURE (stex));
|
||||
|
||||
priv = stex->priv;
|
||||
|
||||
g_array_append_vals (priv->rectangles, rects, num_rects);
|
||||
if (region != NULL)
|
||||
{
|
||||
cairo_region_reference (region);
|
||||
priv->shape_region = region;
|
||||
}
|
||||
|
||||
meta_shaped_texture_dirty_mask (stex);
|
||||
clutter_actor_queue_redraw (CLUTTER_ACTOR (stex));
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_shaped_texture_get_visible_pixels_region:
|
||||
* @stex: a #MetaShapedTexture
|
||||
*
|
||||
* Return a region enclosing only visible pixels: those with
|
||||
* alpha values above 0.
|
||||
*
|
||||
* Returns: a #cairo_region_t
|
||||
*/
|
||||
cairo_region_t *
|
||||
meta_shaped_texture_get_visible_pixels_region (MetaShapedTexture *stex)
|
||||
{
|
||||
g_return_val_if_fail (META_IS_SHAPED_TEXTURE (stex), NULL);
|
||||
|
||||
meta_shaped_texture_ensure_mask (stex);
|
||||
return stex->priv->visible_pixels_region;
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_shaped_texture_set_overlay_path:
|
||||
* @stex: a #MetaShapedTexture
|
||||
* @overlay_region: A region containing the parts of the mask to overlay.
|
||||
* All rectangles in this region are wiped clear to full transparency,
|
||||
* and the overlay path is clipped to this region.
|
||||
* @overlay_path (transfer full): This path will be painted onto the mask
|
||||
* texture with a fully opaque source. Due to the lack of refcounting
|
||||
* in #cairo_path_t, ownership of the path is assumed.
|
||||
*/
|
||||
void
|
||||
meta_shaped_texture_set_overlay_path (MetaShapedTexture *stex,
|
||||
cairo_region_t *overlay_region,
|
||||
cairo_path_t *overlay_path)
|
||||
{
|
||||
MetaShapedTexturePrivate *priv;
|
||||
|
||||
g_return_if_fail (META_IS_SHAPED_TEXTURE (stex));
|
||||
|
||||
priv = stex->priv;
|
||||
|
||||
if (priv->overlay_region != NULL)
|
||||
{
|
||||
cairo_region_destroy (priv->overlay_region);
|
||||
priv->overlay_region = NULL;
|
||||
}
|
||||
|
||||
if (priv->overlay_path != NULL)
|
||||
{
|
||||
cairo_path_destroy (priv->overlay_path);
|
||||
priv->overlay_path = NULL;
|
||||
}
|
||||
|
||||
cairo_region_reference (overlay_region);
|
||||
priv->overlay_region = overlay_region;
|
||||
|
||||
/* cairo_path_t does not have refcounting. */
|
||||
priv->overlay_path = overlay_path;
|
||||
|
||||
meta_shaped_texture_dirty_mask (stex);
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_shaped_texture_set_clip_region:
|
||||
* @frame: a #TidyTextureframe
|
||||
* @frame: a #MetaShapedTexture
|
||||
* @clip_region: (transfer full): the region of the texture that
|
||||
* is visible and should be painted. OWNERSHIP IS ASSUMED BY
|
||||
* THE FUNCTION (for efficiency to avoid a copy.)
|
||||
|
||||
@@ -29,11 +29,7 @@
|
||||
#include <config.h>
|
||||
|
||||
#include <clutter/clutter.h>
|
||||
#ifdef HAVE_GLX_TEXTURE_PIXMAP
|
||||
#include <clutter/glx/clutter-glx.h>
|
||||
#else
|
||||
#include <clutter/x11/clutter-x11.h>
|
||||
#endif /* HAVE_GLX_TEXTURE_PIXMAP */
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
@@ -50,20 +46,12 @@ typedef struct _MetaShapedTexturePrivate MetaShapedTexturePrivate;
|
||||
|
||||
struct _MetaShapedTextureClass
|
||||
{
|
||||
#ifdef HAVE_GLX_TEXTURE_PIXMAP
|
||||
ClutterGLXTexturePixmapClass parent_class;
|
||||
#else
|
||||
ClutterX11TexturePixmapClass parent_class;
|
||||
#endif
|
||||
};
|
||||
|
||||
struct _MetaShapedTexture
|
||||
{
|
||||
#ifdef HAVE_GLX_TEXTURE_PIXMAP
|
||||
ClutterGLXTexturePixmap parent;
|
||||
#else
|
||||
ClutterX11TexturePixmap parent;
|
||||
#endif
|
||||
|
||||
MetaShapedTexturePrivate *priv;
|
||||
};
|
||||
@@ -77,13 +65,14 @@ void meta_shaped_texture_set_create_mipmaps (MetaShapedTexture *stex,
|
||||
|
||||
void meta_shaped_texture_clear (MetaShapedTexture *stex);
|
||||
|
||||
void meta_shaped_texture_clear_rectangles (MetaShapedTexture *stex);
|
||||
void meta_shaped_texture_set_shape_region (MetaShapedTexture *stex,
|
||||
cairo_region_t *region);
|
||||
|
||||
void meta_shaped_texture_add_rectangle (MetaShapedTexture *stex,
|
||||
const XRectangle *rect);
|
||||
void meta_shaped_texture_add_rectangles (MetaShapedTexture *stex,
|
||||
size_t num_rects,
|
||||
const XRectangle *rects);
|
||||
cairo_region_t *meta_shaped_texture_get_visible_pixels_region (MetaShapedTexture *stex);
|
||||
|
||||
void meta_shaped_texture_set_overlay_path (MetaShapedTexture *stex,
|
||||
cairo_region_t *overlay_region,
|
||||
cairo_path_t *overlay_path);
|
||||
|
||||
/* Assumes ownership of clip_region */
|
||||
void meta_shaped_texture_set_clip_region (MetaShapedTexture *stex,
|
||||
|
||||
118
src/compositor/meta-texture-rectangle.c
Normal file
118
src/compositor/meta-texture-rectangle.c
Normal file
@@ -0,0 +1,118 @@
|
||||
/*
|
||||
* texture rectangle
|
||||
*
|
||||
* A small utility function to help create a rectangle texture
|
||||
*
|
||||
* Authored By Neil Roberts <neil@linux.intel.com>
|
||||
*
|
||||
* Copyright (C) 2011 Intel Corporation
|
||||
*
|
||||
* 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 "meta-texture-rectangle.h"
|
||||
|
||||
#ifdef GL_TEXTURE_RECTANGLE_ARB
|
||||
|
||||
static void (* pf_glGetIntegerv) (GLenum pname, GLint *params);
|
||||
static void (* pf_glTexImage2D) (GLenum target, GLint level,
|
||||
GLint internalFormat,
|
||||
GLsizei width, GLsizei height,
|
||||
GLint border, GLenum format, GLenum type,
|
||||
const GLvoid *pixels);
|
||||
static void (* pf_glGenTextures) (GLsizei n, GLuint *textures);
|
||||
static void (* pf_glDeleteTextures) (GLsizei n, const GLuint *texture);
|
||||
static void (* pf_glBindTexture) (GLenum target, GLuint texture);
|
||||
|
||||
static void
|
||||
rectangle_texture_destroy_cb (void *user_data)
|
||||
{
|
||||
GLuint tex = GPOINTER_TO_UINT (user_data);
|
||||
|
||||
pf_glDeleteTextures (1, &tex);
|
||||
}
|
||||
|
||||
#endif /* GL_TEXTURE_RECTANGLE_ARB */
|
||||
|
||||
CoglHandle
|
||||
meta_texture_rectangle_new (unsigned int width,
|
||||
unsigned int height,
|
||||
CoglTextureFlags flags,
|
||||
CoglPixelFormat format,
|
||||
GLenum internal_gl_format,
|
||||
GLenum internal_format,
|
||||
unsigned int rowstride,
|
||||
const guint8 *data)
|
||||
{
|
||||
CoglHandle cogl_tex = COGL_INVALID_HANDLE;
|
||||
|
||||
#ifdef GL_TEXTURE_RECTANGLE_ARB
|
||||
|
||||
static CoglUserDataKey user_data_key;
|
||||
GLint old_binding;
|
||||
GLuint tex;
|
||||
|
||||
if (pf_glGenTextures == NULL)
|
||||
{
|
||||
pf_glGetIntegerv = (void *) cogl_get_proc_address ("glGetIntegerv");
|
||||
pf_glTexImage2D = (void *) cogl_get_proc_address ("glTexImage2D");
|
||||
pf_glGenTextures = (void *) cogl_get_proc_address ("glGenTextures");
|
||||
pf_glDeleteTextures = (void *) cogl_get_proc_address ("glDeleteTextures");
|
||||
pf_glBindTexture = (void *) cogl_get_proc_address ("glBindTexture");
|
||||
}
|
||||
|
||||
pf_glGenTextures (1, &tex);
|
||||
pf_glGetIntegerv (GL_TEXTURE_BINDING_RECTANGLE_ARB, &old_binding);
|
||||
pf_glBindTexture (GL_TEXTURE_RECTANGLE_ARB, tex);
|
||||
pf_glTexImage2D (GL_TEXTURE_RECTANGLE_ARB, 0,
|
||||
internal_gl_format, width, height,
|
||||
0, internal_gl_format,
|
||||
GL_UNSIGNED_BYTE, NULL);
|
||||
pf_glBindTexture (GL_TEXTURE_RECTANGLE_ARB, old_binding);
|
||||
|
||||
cogl_tex = cogl_texture_new_from_foreign (tex,
|
||||
GL_TEXTURE_RECTANGLE_ARB,
|
||||
width, height,
|
||||
0, 0, /* no waste */
|
||||
internal_format);
|
||||
|
||||
/* Cogl won't destroy the GL texture when a foreign texture is used
|
||||
so we need to destroy it manually. We can set a destroy
|
||||
notification callback to do this transparently */
|
||||
cogl_object_set_user_data (cogl_tex,
|
||||
&user_data_key,
|
||||
GUINT_TO_POINTER (tex),
|
||||
rectangle_texture_destroy_cb);
|
||||
|
||||
/* Use cogl_texture_set_region instead of uploading the data
|
||||
directly with GL calls so that we can let Cogl deal with setting
|
||||
the pixel store parameters and handling format conversion */
|
||||
if (data)
|
||||
cogl_texture_set_region (cogl_tex,
|
||||
0, 0, /* src x/y */
|
||||
0, 0, /* dst x/y */
|
||||
width, height, /* dst width/height */
|
||||
width, height, /* src width/height */
|
||||
format,
|
||||
rowstride,
|
||||
data);
|
||||
|
||||
#endif /* GL_TEXTURE_RECTANGLE_ARB */
|
||||
|
||||
return cogl_tex;
|
||||
}
|
||||
45
src/compositor/meta-texture-rectangle.h
Normal file
45
src/compositor/meta-texture-rectangle.h
Normal file
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* texture rectangle
|
||||
*
|
||||
* A small utility function to help create a rectangle texture
|
||||
*
|
||||
* Authored By Neil Roberts <neil@linux.intel.com>
|
||||
*
|
||||
* Copyright (C) 2011 Intel Corporation
|
||||
*
|
||||
* 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_TEXTURE_RECTANGLE_H__
|
||||
#define __META_TEXTURE_RECTANGLE_H__
|
||||
|
||||
#include <cogl/cogl.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
CoglHandle
|
||||
meta_texture_rectangle_new (unsigned int width,
|
||||
unsigned int height,
|
||||
CoglTextureFlags flags,
|
||||
CoglPixelFormat format,
|
||||
GLenum internal_gl_format,
|
||||
GLenum internal_format,
|
||||
unsigned int rowstride,
|
||||
const guint8 *data);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __META_TEXTURE_RECTANGLE_H__ */
|
||||
@@ -26,6 +26,7 @@
|
||||
#include <string.h>
|
||||
|
||||
#include "meta-texture-tower.h"
|
||||
#include "meta-texture-rectangle.h"
|
||||
|
||||
#ifndef M_LOG2E
|
||||
#define M_LOG2E 1.4426950408889634074
|
||||
@@ -109,25 +110,9 @@ texture_is_rectangle (CoglHandle texture)
|
||||
}
|
||||
#endif /* GL_TEXTURE_RECTANGLE_ARB */
|
||||
|
||||
static void
|
||||
free_texture (CoglHandle texture)
|
||||
{
|
||||
#ifdef GL_TEXTURE_RECTANGLE_ARB
|
||||
GLuint gl_tex;
|
||||
GLenum gl_target;
|
||||
|
||||
cogl_texture_get_gl_texture (texture, &gl_tex, &gl_target);
|
||||
|
||||
if (gl_target == GL_TEXTURE_RECTANGLE_ARB)
|
||||
glDeleteTextures (1, &gl_tex);
|
||||
#endif /* GL_TEXTURE_RECTANGLE_ARB */
|
||||
|
||||
cogl_handle_unref (texture);
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_texture_tower_update_area:
|
||||
* @tower: a MetaTextureTower
|
||||
* meta_texture_tower_set_base_texture:
|
||||
* @tower: a #MetaTextureTower
|
||||
* @texture: the new texture used as a base for scaled down versions
|
||||
*
|
||||
* Sets the base texture that is the scaled texture that the
|
||||
@@ -152,7 +137,7 @@ meta_texture_tower_set_base_texture (MetaTextureTower *tower,
|
||||
{
|
||||
if (tower->textures[i] != COGL_INVALID_HANDLE)
|
||||
{
|
||||
free_texture (tower->textures[i]);
|
||||
cogl_handle_unref (tower->textures[i]);
|
||||
tower->textures[i] = COGL_INVALID_HANDLE;
|
||||
}
|
||||
|
||||
@@ -190,7 +175,7 @@ meta_texture_tower_set_base_texture (MetaTextureTower *tower,
|
||||
|
||||
/**
|
||||
* meta_texture_tower_update_area:
|
||||
* @tower: a MetaTextureTower
|
||||
* @tower: a #MetaTextureTower
|
||||
* @x: X coordinate of upper left of rectangle that changed
|
||||
* @y: Y coordinate of upper left of rectangle that changed
|
||||
* @width: width of rectangle that changed
|
||||
@@ -384,23 +369,18 @@ texture_tower_create_texture (MetaTextureTower *tower,
|
||||
if ((!is_power_of_two (width) || !is_power_of_two (height)) &&
|
||||
texture_is_rectangle (tower->textures[level - 1]))
|
||||
{
|
||||
GLuint tex = 0;
|
||||
|
||||
glGenTextures (1, &tex);
|
||||
glBindTexture (GL_TEXTURE_RECTANGLE_ARB, tex);
|
||||
glTexImage2D (GL_TEXTURE_RECTANGLE_ARB, 0,
|
||||
GL_RGBA, width,height,
|
||||
#if TEXTURE_FORMAT == COGL_PIXEL_FORMAT_BGRA_8888_PRE
|
||||
0, GL_BGRA, GL_UNSIGNED_BYTE,
|
||||
#else /* assume big endian */
|
||||
0, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV,
|
||||
#endif
|
||||
NULL);
|
||||
|
||||
tower->textures[level] = cogl_texture_new_from_foreign (tex, GL_TEXTURE_RECTANGLE_ARB,
|
||||
width, height,
|
||||
0, 0,
|
||||
TEXTURE_FORMAT);
|
||||
tower->textures[level] =
|
||||
meta_texture_rectangle_new (width, height,
|
||||
0, /* flags */
|
||||
/* data format */
|
||||
TEXTURE_FORMAT,
|
||||
/* internal GL format */
|
||||
GL_RGBA,
|
||||
/* internal cogl format */
|
||||
TEXTURE_FORMAT,
|
||||
/* rowstride */
|
||||
width * 4,
|
||||
NULL);
|
||||
}
|
||||
else
|
||||
#endif /* GL_TEXTURE_RECTANGLE_ARB */
|
||||
@@ -430,12 +410,7 @@ texture_tower_revalidate_fbo (MetaTextureTower *tower,
|
||||
CoglMatrix modelview;
|
||||
|
||||
if (tower->fbos[level] == COGL_INVALID_HANDLE)
|
||||
{
|
||||
/* Work around http://bugzilla.openedhand.com/show_bug.cgi?id=2110 */
|
||||
cogl_flush();
|
||||
|
||||
tower->fbos[level] = cogl_offscreen_new_to_texture (dest_texture);
|
||||
}
|
||||
tower->fbos[level] = cogl_offscreen_new_to_texture (dest_texture);
|
||||
|
||||
if (tower->fbos[level] == COGL_INVALID_HANDLE)
|
||||
return FALSE;
|
||||
@@ -604,7 +579,7 @@ texture_tower_revalidate (MetaTextureTower *tower,
|
||||
|
||||
/**
|
||||
* meta_texture_tower_get_paint_texture:
|
||||
* @tower: a MetaTextureTower
|
||||
* @tower: a #MetaTextureTower
|
||||
*
|
||||
* Gets the texture from the tower that best matches the current
|
||||
* rendering scale. (On the assumption here the texture is going to
|
||||
|
||||
@@ -26,15 +26,22 @@ void meta_window_actor_unmaximize (MetaWindowActor *self,
|
||||
|
||||
void meta_window_actor_process_damage (MetaWindowActor *self,
|
||||
XDamageNotifyEvent *event);
|
||||
|
||||
void meta_window_actor_pre_paint (MetaWindowActor *self);
|
||||
|
||||
void meta_window_actor_invalidate_shadow (MetaWindowActor *self);
|
||||
|
||||
void meta_window_actor_set_redirected (MetaWindowActor *self, gboolean state);
|
||||
|
||||
gboolean meta_window_actor_should_unredirect (MetaWindowActor *self);
|
||||
|
||||
void meta_window_actor_get_shape_bounds (MetaWindowActor *self,
|
||||
cairo_rectangle_int_t *bounds);
|
||||
|
||||
gboolean meta_window_actor_effect_in_progress (MetaWindowActor *self);
|
||||
void meta_window_actor_sync_actor_position (MetaWindowActor *self);
|
||||
void meta_window_actor_sync_visibility (MetaWindowActor *self);
|
||||
void meta_window_actor_update_shape (MetaWindowActor *self,
|
||||
gboolean shaped);
|
||||
void meta_window_actor_update_shape (MetaWindowActor *self);
|
||||
void meta_window_actor_update_opacity (MetaWindowActor *self);
|
||||
void meta_window_actor_mapped (MetaWindowActor *self);
|
||||
void meta_window_actor_unmapped (MetaWindowActor *self);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,9 +7,10 @@
|
||||
|
||||
#include <gdk/gdk.h> /* for gdk_rectangle_intersect() */
|
||||
|
||||
#include "compositor-private.h"
|
||||
#include "meta-window-actor-private.h"
|
||||
#include "meta-window-group.h"
|
||||
#include "meta-background-actor.h"
|
||||
#include "meta-background-actor-private.h"
|
||||
|
||||
struct _MetaWindowGroupClass
|
||||
{
|
||||
@@ -100,16 +101,42 @@ actor_is_untransformed (ClutterActor *actor,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#if CLUTTER_CHECK_VERSION(1, 9, 0)
|
||||
#define has_effects clutter_actor_has_effects
|
||||
#else
|
||||
|
||||
static gboolean
|
||||
has_effects(ClutterActor *actor)
|
||||
{
|
||||
GList *list;
|
||||
gboolean ret;
|
||||
|
||||
list = clutter_actor_get_effects (actor);
|
||||
ret = list != NULL;
|
||||
g_list_free (list);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static void
|
||||
meta_window_group_paint (ClutterActor *actor)
|
||||
{
|
||||
MetaWindowGroup *window_group = META_WINDOW_GROUP (actor);
|
||||
cairo_region_t *visible_region;
|
||||
GLboolean scissor_test;
|
||||
cairo_rectangle_int_t screen_rect = { 0 };
|
||||
cairo_rectangle_int_t scissor_rect;
|
||||
cairo_region_t *unredirected_window_region = NULL;
|
||||
ClutterActor *stage;
|
||||
cairo_rectangle_int_t visible_rect, unredirected_rect;
|
||||
GList *children, *l;
|
||||
|
||||
MetaWindowGroup *window_group = META_WINDOW_GROUP (actor);
|
||||
MetaCompScreen *info = meta_screen_get_compositor_data (window_group->screen);
|
||||
if (info->unredirected_window != NULL)
|
||||
{
|
||||
meta_window_actor_get_shape_bounds (META_WINDOW_ACTOR (info->unredirected_window), &unredirected_rect);
|
||||
unredirected_window_region = cairo_region_create_rectangle (&unredirected_rect);
|
||||
}
|
||||
|
||||
/* We walk the list from top to bottom (opposite of painting order),
|
||||
* and subtract the opaque area of each window out of the visible
|
||||
* region that we pass to the windows below.
|
||||
@@ -117,45 +144,45 @@ meta_window_group_paint (ClutterActor *actor)
|
||||
children = clutter_container_get_children (CLUTTER_CONTAINER (actor));
|
||||
children = g_list_reverse (children);
|
||||
|
||||
/* Start off with the full screen area (for a multihead setup, we
|
||||
* might want to use a more accurate union of the monitors to avoid
|
||||
* painting in holes from mismatched monitor sizes. That's just an
|
||||
* optimization, however.)
|
||||
*/
|
||||
meta_screen_get_size (window_group->screen, &screen_rect.width, &screen_rect.height);
|
||||
/* Get the clipped redraw bounds from Clutter so that we can avoid
|
||||
* painting shadows on windows that don't need to be painted in this
|
||||
* frame. In the case of a multihead setup with mismatched monitor
|
||||
* sizes, we could intersect this with an accurate union of the
|
||||
* monitors to avoid painting shadows that are visible only in the
|
||||
* holes. */
|
||||
stage = clutter_actor_get_stage (actor);
|
||||
clutter_stage_get_redraw_clip_bounds (CLUTTER_STAGE (stage),
|
||||
&visible_rect);
|
||||
|
||||
/* When doing a partial stage paint, Clutter will set the GL scissor
|
||||
* box to the clip rectangle for the partial repaint. We combine the screen
|
||||
* rectangle with the scissor box to get the region we need to
|
||||
* paint. (Strangely, the scissor box sometimes seems to be bigger
|
||||
* than the stage ... Clutter should probably be clampimg)
|
||||
*/
|
||||
glGetBooleanv (GL_SCISSOR_TEST, &scissor_test);
|
||||
visible_region = cairo_region_create_rectangle (&visible_rect);
|
||||
|
||||
if (scissor_test)
|
||||
{
|
||||
GLint scissor_box[4];
|
||||
glGetIntegerv (GL_SCISSOR_BOX, scissor_box);
|
||||
|
||||
scissor_rect.x = scissor_box[0];
|
||||
scissor_rect.y = screen_rect.height - (scissor_box[1] + scissor_box[3]);
|
||||
scissor_rect.width = scissor_box[2];
|
||||
scissor_rect.height = scissor_box[3];
|
||||
|
||||
gdk_rectangle_intersect (&scissor_rect, &screen_rect, &scissor_rect);
|
||||
}
|
||||
else
|
||||
{
|
||||
scissor_rect = screen_rect;
|
||||
}
|
||||
|
||||
visible_region = cairo_region_create_rectangle (&scissor_rect);
|
||||
if (unredirected_window_region)
|
||||
cairo_region_subtract (visible_region, unredirected_window_region);
|
||||
|
||||
for (l = children; l; l = l->next)
|
||||
{
|
||||
if (!CLUTTER_ACTOR_IS_VISIBLE (l->data))
|
||||
continue;
|
||||
|
||||
/* If an actor has effects applied, then that can change the area
|
||||
* it paints and the opacity, so we no longer can figure out what
|
||||
* portion of the actor is obscured and what portion of the screen
|
||||
* it obscures, so we skip the actor.
|
||||
*
|
||||
* This has a secondary beneficial effect: if a ClutterOffscreenEffect
|
||||
* is applied to an actor, then our clipped redraws interfere with the
|
||||
* caching of the FBO - even if we only need to draw a small portion
|
||||
* of the window right now, ClutterOffscreenEffect may use other portions
|
||||
* of the FBO later. So, skipping actors with effects applied also
|
||||
* prevents these bugs.
|
||||
*
|
||||
* Theoretically, we should check clutter_actor_get_offscreen_redirect()
|
||||
* as well for the same reason, but omitted for simplicity in the
|
||||
* hopes that no-one will do that.
|
||||
*/
|
||||
if (has_effects (l->data))
|
||||
continue;
|
||||
|
||||
if (META_IS_WINDOW_ACTOR (l->data))
|
||||
{
|
||||
MetaWindowActor *window_actor = l->data;
|
||||
@@ -188,6 +215,9 @@ meta_window_group_paint (ClutterActor *actor)
|
||||
|
||||
cairo_region_destroy (visible_region);
|
||||
|
||||
if (unredirected_window_region)
|
||||
cairo_region_destroy (unredirected_window_region);
|
||||
|
||||
CLUTTER_ACTOR_CLASS (meta_window_group_parent_class)->paint (actor);
|
||||
|
||||
/* Now that we are done painting, unset the visible regions (they will
|
||||
|
||||
@@ -248,7 +248,6 @@ expand_region_inverse (cairo_region_t *region,
|
||||
MetaRegionBuilder builder;
|
||||
MetaRegionIterator iter;
|
||||
cairo_rectangle_int_t extents;
|
||||
cairo_region_t *chunk;
|
||||
|
||||
int last_x;
|
||||
|
||||
@@ -268,16 +267,11 @@ expand_region_inverse (cairo_region_t *region,
|
||||
extents.x, extents.y + extents.height, extents.width, 1,
|
||||
x_amount, y_amount, flip);
|
||||
|
||||
chunk = NULL;
|
||||
|
||||
last_x = extents.x;
|
||||
for (meta_region_iterator_init (&iter, region);
|
||||
!meta_region_iterator_at_end (&iter);
|
||||
meta_region_iterator_next (&iter))
|
||||
{
|
||||
if (chunk == NULL)
|
||||
chunk = cairo_region_create ();
|
||||
|
||||
if (iter.rectangle.x > last_x)
|
||||
add_expanded_rect (&builder,
|
||||
last_x, iter.rectangle.y,
|
||||
|
||||
@@ -76,6 +76,8 @@ compute_above_tab_keycode (Display *xdisplay)
|
||||
keyboard = XkbGetKeyboard (xdisplay,
|
||||
XkbGBN_ClientSymbolsMask | XkbGBN_KeyNamesMask | XkbGBN_GeometryMask,
|
||||
XkbUseCoreKbd);
|
||||
if (!keyboard)
|
||||
return best_keycode;
|
||||
|
||||
geometry = keyboard->geom;
|
||||
|
||||
|
||||
@@ -230,6 +230,35 @@ bell_flash_window_frame (MetaWindow *window)
|
||||
bell_unflash_frame, window->frame, NULL);
|
||||
}
|
||||
|
||||
static MetaWindow *
|
||||
get_flash_window (MetaDisplay *display,
|
||||
XkbAnyEvent *xkb_ev)
|
||||
{
|
||||
XkbBellNotifyEvent *xkb_bell_event;
|
||||
MetaWindow *window;
|
||||
|
||||
g_assert (xkb_ev->xkb_type == XkbBellNotify);
|
||||
|
||||
xkb_bell_event = (XkbBellNotifyEvent *) xkb_ev;
|
||||
window = meta_display_lookup_x_window (display, xkb_bell_event->window);
|
||||
|
||||
if (!window &&
|
||||
g_hash_table_size (display->focus_info) == 1)
|
||||
{
|
||||
GHashTableIter iter;
|
||||
MetaFocusInfo *info;
|
||||
|
||||
/* If there is only one focused window, use it */
|
||||
g_hash_table_iter_init (&iter, display->focus_info);
|
||||
|
||||
if (g_hash_table_iter_next (&iter, NULL, (gpointer *) &info) &&
|
||||
info->focus_window && info->focus_window->frame)
|
||||
window = info->focus_window;
|
||||
}
|
||||
|
||||
return window;
|
||||
}
|
||||
|
||||
/**
|
||||
* Flashes the frame of the focussed window. If there is no focussed window,
|
||||
* flashes the screen.
|
||||
@@ -241,15 +270,11 @@ static void
|
||||
bell_flash_frame (MetaDisplay *display,
|
||||
XkbAnyEvent *xkb_ev)
|
||||
{
|
||||
XkbBellNotifyEvent *xkb_bell_event = (XkbBellNotifyEvent *) xkb_ev;
|
||||
MetaWindow *window;
|
||||
|
||||
g_assert (xkb_ev->xkb_type == XkbBellNotify);
|
||||
window = meta_display_lookup_x_window (display, xkb_bell_event->window);
|
||||
if (!window && (display->focus_window))
|
||||
{
|
||||
window = display->focus_window;
|
||||
}
|
||||
window = get_flash_window (display, xkb_ev);
|
||||
|
||||
if (window && window->frame)
|
||||
{
|
||||
bell_flash_window_frame (window);
|
||||
@@ -310,9 +335,7 @@ meta_bell_notify (MetaDisplay *display,
|
||||
ca_proplist_sets (p, CA_PROP_EVENT_DESCRIPTION, _("Bell event"));
|
||||
ca_proplist_sets (p, CA_PROP_CANBERRA_CACHE_CONTROL, "permanent");
|
||||
|
||||
window = meta_display_lookup_x_window (display, xkb_bell_event->window);
|
||||
if (!window && (display->focus_window) && (display->focus_window->frame))
|
||||
window = display->focus_window;
|
||||
window = get_flash_window (display, xkb_ev);
|
||||
|
||||
if (window)
|
||||
{
|
||||
|
||||
@@ -118,7 +118,7 @@ typedef struct
|
||||
{
|
||||
MetaRectangle orig;
|
||||
MetaRectangle current;
|
||||
MetaFrameGeometry *fgeom;
|
||||
MetaFrameBorders *borders;
|
||||
ActionType action_type;
|
||||
gboolean is_user_action;
|
||||
|
||||
@@ -194,7 +194,7 @@ static gboolean constrain_partially_onscreen (MetaWindow *window,
|
||||
|
||||
static void setup_constraint_info (ConstraintInfo *info,
|
||||
MetaWindow *window,
|
||||
MetaFrameGeometry *orig_fgeom,
|
||||
MetaFrameBorders *orig_borders,
|
||||
MetaMoveResizeFlags flags,
|
||||
int resize_gravity,
|
||||
const MetaRectangle *orig,
|
||||
@@ -204,11 +204,11 @@ static void place_window_if_needed (MetaWindow *window,
|
||||
static void update_onscreen_requirements (MetaWindow *window,
|
||||
ConstraintInfo *info);
|
||||
static void extend_by_frame (MetaRectangle *rect,
|
||||
const MetaFrameGeometry *fgeom);
|
||||
const MetaFrameBorders *borders);
|
||||
static void unextend_by_frame (MetaRectangle *rect,
|
||||
const MetaFrameGeometry *fgeom);
|
||||
const MetaFrameBorders *borders);
|
||||
static inline void get_size_limits (const MetaWindow *window,
|
||||
const MetaFrameGeometry *fgeom,
|
||||
const MetaFrameBorders *borders,
|
||||
gboolean include_frame,
|
||||
MetaRectangle *min_size,
|
||||
MetaRectangle *max_size);
|
||||
@@ -279,7 +279,7 @@ do_all_constraints (MetaWindow *window,
|
||||
|
||||
void
|
||||
meta_window_constrain (MetaWindow *window,
|
||||
MetaFrameGeometry *orig_fgeom,
|
||||
MetaFrameBorders *orig_borders,
|
||||
MetaMoveResizeFlags flags,
|
||||
int resize_gravity,
|
||||
const MetaRectangle *orig,
|
||||
@@ -302,7 +302,7 @@ meta_window_constrain (MetaWindow *window,
|
||||
|
||||
setup_constraint_info (&info,
|
||||
window,
|
||||
orig_fgeom,
|
||||
orig_borders,
|
||||
flags,
|
||||
resize_gravity,
|
||||
orig,
|
||||
@@ -337,14 +337,14 @@ meta_window_constrain (MetaWindow *window,
|
||||
* not gobject-style--gobject would be more pain than it's worth) or
|
||||
* smart pointers would be so much nicer here. *shrug*
|
||||
*/
|
||||
if (!orig_fgeom)
|
||||
g_free (info.fgeom);
|
||||
if (!orig_borders)
|
||||
g_free (info.borders);
|
||||
}
|
||||
|
||||
static void
|
||||
setup_constraint_info (ConstraintInfo *info,
|
||||
MetaWindow *window,
|
||||
MetaFrameGeometry *orig_fgeom,
|
||||
MetaFrameBorders *orig_borders,
|
||||
MetaMoveResizeFlags flags,
|
||||
int resize_gravity,
|
||||
const MetaRectangle *orig,
|
||||
@@ -357,10 +357,10 @@ setup_constraint_info (ConstraintInfo *info,
|
||||
info->current = *new;
|
||||
|
||||
/* Create a fake frame geometry if none really exists */
|
||||
if (orig_fgeom && !window->fullscreen)
|
||||
info->fgeom = orig_fgeom;
|
||||
if (orig_borders && !window->fullscreen)
|
||||
info->borders = orig_borders;
|
||||
else
|
||||
info->fgeom = g_new0 (MetaFrameGeometry, 1);
|
||||
info->borders = g_new0 (MetaFrameBorders, 1);
|
||||
|
||||
if (flags & META_IS_MOVE_ACTION && flags & META_IS_RESIZE_ACTION)
|
||||
info->action_type = ACTION_MOVE_AND_RESIZE;
|
||||
@@ -461,7 +461,6 @@ setup_constraint_info (ConstraintInfo *info,
|
||||
"Setting up constraint info:\n"
|
||||
" orig: %d,%d +%d,%d\n"
|
||||
" new : %d,%d +%d,%d\n"
|
||||
" fgeom: %d,%d,%d,%d\n"
|
||||
" action_type : %s\n"
|
||||
" is_user_action : %s\n"
|
||||
" resize_gravity : %s\n"
|
||||
@@ -471,8 +470,6 @@ setup_constraint_info (ConstraintInfo *info,
|
||||
info->orig.x, info->orig.y, info->orig.width, info->orig.height,
|
||||
info->current.x, info->current.y,
|
||||
info->current.width, info->current.height,
|
||||
info->fgeom->left_width, info->fgeom->right_width,
|
||||
info->fgeom->top_height, info->fgeom->bottom_height,
|
||||
(info->action_type == ACTION_MOVE) ? "Move" :
|
||||
(info->action_type == ACTION_RESIZE) ? "Resize" :
|
||||
(info->action_type == ACTION_MOVE_AND_RESIZE) ? "Move&Resize" :
|
||||
@@ -513,7 +510,7 @@ place_window_if_needed(MetaWindow *window,
|
||||
MetaWorkspace *cur_workspace;
|
||||
const MetaMonitorInfo *monitor_info;
|
||||
|
||||
meta_window_place (window, info->fgeom, info->orig.x, info->orig.y,
|
||||
meta_window_place (window, info->borders, info->orig.x, info->orig.y,
|
||||
&placed_rect.x, &placed_rect.y);
|
||||
did_placement = TRUE;
|
||||
|
||||
@@ -573,7 +570,7 @@ place_window_if_needed(MetaWindow *window,
|
||||
|
||||
/* maximization may have changed frame geometry */
|
||||
if (window->frame && !window->fullscreen)
|
||||
meta_frame_calc_geometry (window->frame, info->fgeom);
|
||||
meta_frame_calc_borders (window->frame, info->borders);
|
||||
|
||||
if (window->fullscreen_after_placement)
|
||||
{
|
||||
@@ -634,7 +631,7 @@ update_onscreen_requirements (MetaWindow *window,
|
||||
/* The require onscreen/on-single-monitor and titlebar_visible
|
||||
* stuff is relative to the outer window, not the inner
|
||||
*/
|
||||
extend_by_frame (&info->current, info->fgeom);
|
||||
extend_by_frame (&info->current, info->borders);
|
||||
|
||||
/* Update whether we want future constraint runs to require the
|
||||
* window to be on fully onscreen.
|
||||
@@ -670,7 +667,7 @@ update_onscreen_requirements (MetaWindow *window,
|
||||
MetaRectangle titlebar_rect;
|
||||
|
||||
titlebar_rect = info->current;
|
||||
titlebar_rect.height = info->fgeom->top_height;
|
||||
titlebar_rect.height = info->borders->visible.top;
|
||||
old = window->require_titlebar_visible;
|
||||
window->require_titlebar_visible =
|
||||
meta_rectangle_overlaps_with_region (info->usable_screen_region,
|
||||
@@ -683,32 +680,32 @@ update_onscreen_requirements (MetaWindow *window,
|
||||
}
|
||||
|
||||
/* Don't forget to restore the position of the window */
|
||||
unextend_by_frame (&info->current, info->fgeom);
|
||||
unextend_by_frame (&info->current, info->borders);
|
||||
}
|
||||
|
||||
static void
|
||||
extend_by_frame (MetaRectangle *rect,
|
||||
const MetaFrameGeometry *fgeom)
|
||||
const MetaFrameBorders *borders)
|
||||
{
|
||||
rect->x -= fgeom->left_width;
|
||||
rect->y -= fgeom->top_height;
|
||||
rect->width += fgeom->left_width + fgeom->right_width;
|
||||
rect->height += fgeom->top_height + fgeom->bottom_height;
|
||||
rect->x -= borders->visible.left;
|
||||
rect->y -= borders->visible.top;
|
||||
rect->width += borders->visible.left + borders->visible.right;
|
||||
rect->height += borders->visible.top + borders->visible.bottom;
|
||||
}
|
||||
|
||||
static void
|
||||
unextend_by_frame (MetaRectangle *rect,
|
||||
const MetaFrameGeometry *fgeom)
|
||||
const MetaFrameBorders *borders)
|
||||
{
|
||||
rect->x += fgeom->left_width;
|
||||
rect->y += fgeom->top_height;
|
||||
rect->width -= fgeom->left_width + fgeom->right_width;
|
||||
rect->height -= fgeom->top_height + fgeom->bottom_height;
|
||||
rect->x += borders->visible.left;
|
||||
rect->y += borders->visible.top;
|
||||
rect->width -= borders->visible.left + borders->visible.right;
|
||||
rect->height -= borders->visible.top + borders->visible.bottom;
|
||||
}
|
||||
|
||||
static inline void
|
||||
get_size_limits (const MetaWindow *window,
|
||||
const MetaFrameGeometry *fgeom,
|
||||
const MetaFrameBorders *borders,
|
||||
gboolean include_frame,
|
||||
MetaRectangle *min_size,
|
||||
MetaRectangle *max_size)
|
||||
@@ -723,8 +720,8 @@ get_size_limits (const MetaWindow *window,
|
||||
|
||||
if (include_frame)
|
||||
{
|
||||
int fw = fgeom->left_width + fgeom->right_width;
|
||||
int fh = fgeom->top_height + fgeom->bottom_height;
|
||||
int fw = borders->visible.left + borders->visible.right;
|
||||
int fh = borders->visible.top + borders->visible.bottom;
|
||||
|
||||
min_size->width += fw;
|
||||
min_size->height += fh;
|
||||
@@ -752,27 +749,25 @@ constrain_modal_dialog (MetaWindow *window,
|
||||
MetaWindow *parent = meta_window_get_transient_for (window);
|
||||
gboolean constraint_already_satisfied;
|
||||
|
||||
if (!meta_prefs_get_attach_modal_dialogs ())
|
||||
return TRUE;
|
||||
if (window->type != META_WINDOW_MODAL_DIALOG || !parent || parent == window)
|
||||
if (!meta_window_is_attached_dialog (window))
|
||||
return TRUE;
|
||||
|
||||
x = parent->rect.x + (parent->rect.width / 2 - info->current.width / 2);
|
||||
y = 0;
|
||||
if (parent->frame)
|
||||
{
|
||||
MetaFrameGeometry fgeom;
|
||||
MetaFrameBorders borders;
|
||||
|
||||
x += parent->frame->rect.x;
|
||||
y += parent->frame->rect.y;
|
||||
|
||||
meta_frame_calc_geometry (parent->frame, &fgeom);
|
||||
y += fgeom.top_height;
|
||||
meta_frame_calc_borders (parent->frame, &borders);
|
||||
y += borders.total.top;
|
||||
|
||||
y += info->fgeom->top_height;
|
||||
y += info->borders->visible.top;
|
||||
}
|
||||
else
|
||||
y = parent->rect.y + info->fgeom->top_height;
|
||||
y = parent->rect.y + info->borders->visible.top;
|
||||
|
||||
constraint_already_satisfied = (x == info->current.x) && (y == info->current.y);
|
||||
|
||||
@@ -810,8 +805,14 @@ constrain_maximization (MetaWindow *window,
|
||||
return TRUE;
|
||||
|
||||
/* Calculate target_size = maximized size of (window + frame) */
|
||||
if (window->maximized_horizontally && window->maximized_vertically)
|
||||
target_size = info->work_area_monitor;
|
||||
if (META_WINDOW_TILED_MAXIMIZED (window))
|
||||
{
|
||||
meta_window_get_current_tile_area (window, &target_size);
|
||||
}
|
||||
else if (META_WINDOW_MAXIMIZED (window))
|
||||
{
|
||||
target_size = info->work_area_monitor;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Amount of maximization possible in a single direction depends
|
||||
@@ -831,19 +832,19 @@ constrain_maximization (MetaWindow *window,
|
||||
active_workspace_struts = window->screen->active_workspace->all_struts;
|
||||
|
||||
target_size = info->current;
|
||||
extend_by_frame (&target_size, info->fgeom);
|
||||
extend_by_frame (&target_size, info->borders);
|
||||
meta_rectangle_expand_to_avoiding_struts (&target_size,
|
||||
&info->entire_monitor,
|
||||
direction,
|
||||
active_workspace_struts);
|
||||
}
|
||||
/* Now make target_size = maximized size of client window */
|
||||
unextend_by_frame (&target_size, info->fgeom);
|
||||
unextend_by_frame (&target_size, info->borders);
|
||||
|
||||
/* Check min size constraints; max size constraints are ignored for maximized
|
||||
* windows, as per bug 327543.
|
||||
*/
|
||||
get_size_limits (window, info->fgeom, FALSE, &min_size, &max_size);
|
||||
get_size_limits (window, info->borders, FALSE, &min_size, &max_size);
|
||||
hminbad = target_size.width < min_size.width && window->maximized_horizontally;
|
||||
vminbad = target_size.height < min_size.height && window->maximized_vertically;
|
||||
if (hminbad || vminbad)
|
||||
@@ -897,12 +898,12 @@ constrain_tiling (MetaWindow *window,
|
||||
* use an external function for the actual calculation
|
||||
*/
|
||||
meta_window_get_current_tile_area (window, &target_size);
|
||||
unextend_by_frame (&target_size, info->fgeom);
|
||||
unextend_by_frame (&target_size, info->borders);
|
||||
|
||||
/* Check min size constraints; max size constraints are ignored as for
|
||||
* maximized windows.
|
||||
*/
|
||||
get_size_limits (window, info->fgeom, FALSE, &min_size, &max_size);
|
||||
get_size_limits (window, info->borders, FALSE, &min_size, &max_size);
|
||||
hminbad = target_size.width < min_size.width;
|
||||
vminbad = target_size.height < min_size.height;
|
||||
if (hminbad || vminbad)
|
||||
@@ -945,7 +946,7 @@ constrain_fullscreen (MetaWindow *window,
|
||||
|
||||
monitor = info->entire_monitor;
|
||||
|
||||
get_size_limits (window, info->fgeom, FALSE, &min_size, &max_size);
|
||||
get_size_limits (window, info->borders, FALSE, &min_size, &max_size);
|
||||
too_big = !meta_rectangle_could_fit_rect (&monitor, &min_size);
|
||||
too_small = !meta_rectangle_could_fit_rect (&max_size, &monitor);
|
||||
if (too_big || too_small)
|
||||
@@ -1054,7 +1055,7 @@ constrain_size_limits (MetaWindow *window,
|
||||
return TRUE;
|
||||
|
||||
/* Determine whether constraint is already satisfied; exit if it is */
|
||||
get_size_limits (window, info->fgeom, FALSE, &min_size, &max_size);
|
||||
get_size_limits (window, info->borders, FALSE, &min_size, &max_size);
|
||||
/* We ignore max-size limits for maximized windows; see #327543 */
|
||||
if (window->maximized_horizontally)
|
||||
max_size.width = MAX (max_size.width, info->current.width);
|
||||
@@ -1246,8 +1247,8 @@ do_screen_and_monitor_relative_constraints (
|
||||
|
||||
/* Determine whether constraint applies; exit if it doesn't */
|
||||
how_far_it_can_be_smushed = info->current;
|
||||
get_size_limits (window, info->fgeom, TRUE, &min_size, &max_size);
|
||||
extend_by_frame (&info->current, info->fgeom);
|
||||
get_size_limits (window, info->borders, TRUE, &min_size, &max_size);
|
||||
extend_by_frame (&info->current, info->borders);
|
||||
|
||||
if (info->action_type != ACTION_MOVE)
|
||||
{
|
||||
@@ -1267,7 +1268,7 @@ do_screen_and_monitor_relative_constraints (
|
||||
&info->current);
|
||||
if (exit_early || constraint_satisfied || check_only)
|
||||
{
|
||||
unextend_by_frame (&info->current, info->fgeom);
|
||||
unextend_by_frame (&info->current, info->borders);
|
||||
return constraint_satisfied;
|
||||
}
|
||||
|
||||
@@ -1291,7 +1292,7 @@ do_screen_and_monitor_relative_constraints (
|
||||
info->fixed_directions,
|
||||
&info->current);
|
||||
|
||||
unextend_by_frame (&info->current, info->fgeom);
|
||||
unextend_by_frame (&info->current, info->borders);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -1362,15 +1363,18 @@ constrain_titlebar_visible (MetaWindow *window,
|
||||
int bottom_amount;
|
||||
int horiz_amount_offscreen, vert_amount_offscreen;
|
||||
int horiz_amount_onscreen, vert_amount_onscreen;
|
||||
MetaGrabInfo *grab_info;
|
||||
|
||||
if (priority > PRIORITY_TITLEBAR_VISIBLE)
|
||||
return TRUE;
|
||||
|
||||
grab_info = window->cur_grab;
|
||||
|
||||
/* Allow the titlebar beyond the top of the screen only if the user wasn't
|
||||
* clicking on the frame to start the move.
|
||||
*/
|
||||
unconstrained_user_action =
|
||||
info->is_user_action && !window->display->grab_frame_action;
|
||||
info->is_user_action && (!grab_info || !grab_info->grab_frame_action);
|
||||
|
||||
/* Exit early if we know the constraint won't apply--note that this constraint
|
||||
* is only meant for normal windows (e.g. we don't want docks to be shoved
|
||||
@@ -1404,8 +1408,8 @@ constrain_titlebar_visible (MetaWindow *window,
|
||||
*/
|
||||
if (window->frame)
|
||||
{
|
||||
bottom_amount = info->current.height + info->fgeom->bottom_height;
|
||||
vert_amount_onscreen = info->fgeom->top_height;
|
||||
bottom_amount = info->current.height + info->borders->visible.bottom;
|
||||
vert_amount_onscreen = info->borders->visible.top;
|
||||
}
|
||||
else
|
||||
bottom_amount = vert_amount_offscreen;
|
||||
@@ -1479,8 +1483,8 @@ constrain_partially_onscreen (MetaWindow *window,
|
||||
*/
|
||||
if (window->frame)
|
||||
{
|
||||
bottom_amount = info->current.height + info->fgeom->bottom_height;
|
||||
vert_amount_onscreen = info->fgeom->top_height;
|
||||
bottom_amount = info->current.height + info->borders->visible.bottom;
|
||||
vert_amount_onscreen = info->borders->visible.top;
|
||||
}
|
||||
else
|
||||
bottom_amount = vert_amount_offscreen;
|
||||
|
||||
@@ -39,7 +39,7 @@ typedef enum
|
||||
} MetaMoveResizeFlags;
|
||||
|
||||
void meta_window_constrain (MetaWindow *window,
|
||||
MetaFrameGeometry *orig_fgeom,
|
||||
MetaFrameBorders *orig_borders,
|
||||
MetaMoveResizeFlags flags,
|
||||
int resize_gravity,
|
||||
const MetaRectangle *orig,
|
||||
|
||||
222
src/core/core.c
222
src/core/core.c
@@ -27,9 +27,15 @@
|
||||
#include "core.h"
|
||||
#include "frame.h"
|
||||
#include "workspace-private.h"
|
||||
#include "input-events.h"
|
||||
#include <meta/prefs.h>
|
||||
#include <meta/errors.h>
|
||||
|
||||
#ifdef HAVE_XINPUT2
|
||||
#include <X11/extensions/XInput2.h>
|
||||
#include "devices-xi2.h"
|
||||
#endif
|
||||
|
||||
/* Looks up the MetaWindow representing the frame of the given X window.
|
||||
* Used as a helper function by a bunch of the functions below.
|
||||
*
|
||||
@@ -107,9 +113,6 @@ meta_core_get (Display *xdisplay,
|
||||
case META_CORE_GET_CLIENT_HEIGHT:
|
||||
*((gint*)answer) = window->rect.height;
|
||||
break;
|
||||
case META_CORE_IS_TITLEBAR_ONSCREEN:
|
||||
*((gboolean*)answer) = meta_window_titlebar_is_onscreen (window);
|
||||
break;
|
||||
case META_CORE_GET_CLIENT_XWINDOW:
|
||||
*((Window*)answer) = window->xwindow;
|
||||
break;
|
||||
@@ -146,6 +149,9 @@ meta_core_get (Display *xdisplay,
|
||||
case META_CORE_GET_FRAME_HEIGHT:
|
||||
*((gint*)answer) = window->frame->rect.height;
|
||||
break;
|
||||
case META_CORE_GET_THEME_VARIANT:
|
||||
*((char**)answer) = window->gtk_theme_variant;
|
||||
break;
|
||||
case META_CORE_GET_SCREEN_WIDTH:
|
||||
*((gint*)answer) = window->screen->rect.width;
|
||||
break;
|
||||
@@ -245,9 +251,19 @@ lower_window_and_transients (MetaWindow *window,
|
||||
void
|
||||
meta_core_user_lower_and_unfocus (Display *xdisplay,
|
||||
Window frame_xwindow,
|
||||
int device_id,
|
||||
guint32 timestamp)
|
||||
{
|
||||
MetaWindow *window = get_window (xdisplay, frame_xwindow);
|
||||
MetaDevice *pointer;
|
||||
|
||||
pointer = meta_device_map_lookup (window->display->device_map, device_id);
|
||||
|
||||
if (pointer == NULL)
|
||||
return;
|
||||
|
||||
if (!META_IS_DEVICE_POINTER (pointer))
|
||||
pointer = meta_device_get_paired_device (pointer);
|
||||
|
||||
lower_window_and_transients (window, NULL);
|
||||
|
||||
@@ -256,30 +272,36 @@ meta_core_user_lower_and_unfocus (Display *xdisplay,
|
||||
* this will be invoked via keyboard action or by a mouse action;
|
||||
* in either case the window or a modal child will have been focused.) */
|
||||
meta_workspace_focus_default_window (window->screen->active_workspace,
|
||||
pointer,
|
||||
NULL,
|
||||
timestamp);
|
||||
}
|
||||
|
||||
void
|
||||
meta_core_lower_beneath_focus_window (Display *xdisplay,
|
||||
Window xwindow,
|
||||
guint32 timestamp)
|
||||
meta_core_lower_beneath_grab_window (Display *xdisplay,
|
||||
Window xwindow,
|
||||
int device_id,
|
||||
guint32 timestamp)
|
||||
{
|
||||
XWindowChanges changes;
|
||||
MetaDisplay *display;
|
||||
MetaScreen *screen;
|
||||
MetaWindow *focus_window;
|
||||
MetaWindow *grab_window;
|
||||
MetaDevice *pointer;
|
||||
MetaGrabInfo *grab_info;
|
||||
|
||||
display = meta_display_for_x_display (xdisplay);
|
||||
screen = meta_display_screen_for_xwindow (display, xwindow);
|
||||
focus_window = meta_stack_get_top (screen->stack);
|
||||
pointer = meta_device_map_lookup (display->device_map, device_id);
|
||||
grab_info = meta_display_get_grab_info (display, pointer);
|
||||
grab_window = grab_info->grab_window;
|
||||
|
||||
if (focus_window == NULL)
|
||||
if (grab_window == NULL)
|
||||
return;
|
||||
|
||||
changes.stack_mode = Below;
|
||||
changes.sibling = focus_window->frame ? focus_window->frame->xwindow
|
||||
: focus_window->xwindow;
|
||||
changes.sibling = grab_window->frame ? grab_window->frame->xwindow
|
||||
: grab_window->xwindow;
|
||||
|
||||
meta_stack_tracker_record_lower_below (screen->stack_tracker,
|
||||
xwindow,
|
||||
@@ -491,18 +513,27 @@ meta_core_get_active_workspace (Screen *xscreen)
|
||||
void
|
||||
meta_core_show_window_menu (Display *xdisplay,
|
||||
Window frame_xwindow,
|
||||
int device_id,
|
||||
int root_x,
|
||||
int root_y,
|
||||
int button,
|
||||
guint32 timestamp)
|
||||
{
|
||||
MetaWindow *window = get_window (xdisplay, frame_xwindow);
|
||||
|
||||
MetaDevice *device;
|
||||
|
||||
/* There is already a menu popped up,
|
||||
* most likely from another device
|
||||
*/
|
||||
if (window->menu)
|
||||
return;
|
||||
|
||||
if (meta_prefs_get_raise_on_click ())
|
||||
meta_window_raise (window);
|
||||
meta_window_focus (window, timestamp);
|
||||
|
||||
meta_window_show_menu (window, root_x, root_y, button, timestamp);
|
||||
device = meta_device_map_lookup (window->display->device_map, device_id);
|
||||
meta_window_show_menu (window, device, root_x, root_y, button, timestamp);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -638,6 +669,7 @@ meta_core_get_workspace_name_with_index (Display *xdisplay,
|
||||
gboolean
|
||||
meta_core_begin_grab_op (Display *xdisplay,
|
||||
Window frame_xwindow,
|
||||
int device_id,
|
||||
MetaGrabOp op,
|
||||
gboolean pointer_already_grabbed,
|
||||
gboolean frame_action,
|
||||
@@ -650,13 +682,16 @@ meta_core_begin_grab_op (Display *xdisplay,
|
||||
MetaWindow *window = get_window (xdisplay, frame_xwindow);
|
||||
MetaDisplay *display;
|
||||
MetaScreen *screen;
|
||||
|
||||
MetaDevice *device;
|
||||
|
||||
display = meta_display_for_x_display (xdisplay);
|
||||
screen = meta_display_screen_for_xwindow (display, frame_xwindow);
|
||||
|
||||
g_assert (screen != NULL);
|
||||
|
||||
return meta_display_begin_grab_op (display, screen, window,
|
||||
|
||||
device = meta_device_map_lookup (display->device_map, device_id);
|
||||
|
||||
return meta_display_begin_grab_op (display, screen, window, device,
|
||||
op, pointer_already_grabbed,
|
||||
frame_action,
|
||||
button, modmask,
|
||||
@@ -665,57 +700,58 @@ meta_core_begin_grab_op (Display *xdisplay,
|
||||
|
||||
void
|
||||
meta_core_end_grab_op (Display *xdisplay,
|
||||
int device_id,
|
||||
guint32 timestamp)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_display_for_x_display (xdisplay);
|
||||
MetaDevice *device;
|
||||
|
||||
meta_display_end_grab_op (display, timestamp);
|
||||
display = meta_display_for_x_display (xdisplay);
|
||||
device = meta_device_map_lookup (display->device_map, device_id);
|
||||
|
||||
meta_display_end_grab_op (display, device, timestamp);
|
||||
}
|
||||
|
||||
MetaGrabOp
|
||||
meta_core_get_grab_op (Display *xdisplay)
|
||||
meta_core_frame_has_grab (Display *xdisplay,
|
||||
Window frame_xwindow,
|
||||
gint *device_id,
|
||||
gint *button_ret)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_display_for_x_display (xdisplay);
|
||||
MetaWindow *window;
|
||||
|
||||
return display->grab_op;
|
||||
window = get_window (xdisplay, frame_xwindow);
|
||||
|
||||
if (window != NULL &&
|
||||
window->cur_grab != NULL)
|
||||
{
|
||||
if (button_ret)
|
||||
*button_ret = window->cur_grab->grab_button;
|
||||
|
||||
if (device_id)
|
||||
*device_id = meta_device_get_id (window->cur_grab->grab_pointer);
|
||||
|
||||
return window->cur_grab->grab_op;
|
||||
}
|
||||
|
||||
return META_GRAB_OP_NONE;
|
||||
}
|
||||
|
||||
Window
|
||||
meta_core_get_grab_frame (Display *xdisplay)
|
||||
meta_core_get_frame (Display *xdisplay,
|
||||
Window client_xwindow)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
|
||||
MetaWindow *window;
|
||||
|
||||
display = meta_display_for_x_display (xdisplay);
|
||||
window = meta_display_lookup_x_window (display, client_xwindow);
|
||||
|
||||
g_assert (display != NULL);
|
||||
g_assert (display->grab_op == META_GRAB_OP_NONE ||
|
||||
display->grab_screen != NULL);
|
||||
g_assert (display->grab_op == META_GRAB_OP_NONE ||
|
||||
display->grab_screen->display->xdisplay == xdisplay);
|
||||
|
||||
if (display->grab_op != META_GRAB_OP_NONE &&
|
||||
display->grab_window &&
|
||||
display->grab_window->frame)
|
||||
return display->grab_window->frame->xwindow;
|
||||
else
|
||||
return None;
|
||||
}
|
||||
if (window &&
|
||||
window->frame)
|
||||
return window->frame->xwindow;
|
||||
|
||||
int
|
||||
meta_core_get_grab_button (Display *xdisplay)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_display_for_x_display (xdisplay);
|
||||
|
||||
if (display->grab_op == META_GRAB_OP_NONE)
|
||||
return -1;
|
||||
|
||||
return display->grab_button;
|
||||
return None;
|
||||
}
|
||||
|
||||
void
|
||||
@@ -731,13 +767,24 @@ meta_core_grab_buttons (Display *xdisplay,
|
||||
}
|
||||
|
||||
void
|
||||
meta_core_set_screen_cursor (Display *xdisplay,
|
||||
Window frame_on_screen,
|
||||
MetaCursor cursor)
|
||||
meta_core_set_screen_cursor (Display *xdisplay,
|
||||
Window frame_on_screen,
|
||||
gint device_id,
|
||||
MetaCursor cursor)
|
||||
{
|
||||
MetaWindow *window = get_window (xdisplay, frame_on_screen);
|
||||
MetaDevice *pointer;
|
||||
|
||||
meta_frame_set_screen_cursor (window->frame, cursor);
|
||||
pointer = meta_device_map_lookup (window->display->device_map,
|
||||
device_id);
|
||||
|
||||
if (pointer == NULL)
|
||||
return;
|
||||
|
||||
if (!META_IS_DEVICE_POINTER (pointer))
|
||||
pointer = meta_device_get_paired_device (pointer);
|
||||
|
||||
meta_frame_set_screen_cursor (window->frame, pointer, cursor);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -775,3 +822,70 @@ meta_invalidate_default_icons (void)
|
||||
g_slist_free (windows);
|
||||
}
|
||||
|
||||
/* Selects events on an xwindow, using XInput2 if available/in use,
|
||||
* this function doesn't require the xwindow to have a backing
|
||||
* MetaWindow.
|
||||
*/
|
||||
void
|
||||
meta_core_select_events (Display *xdisplay,
|
||||
Window xwindow,
|
||||
gint evmask,
|
||||
gboolean preserve_old_mask)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_display_for_x_display (xdisplay);
|
||||
|
||||
#ifdef HAVE_XINPUT2
|
||||
if (display->have_xinput2)
|
||||
{
|
||||
XIEventMask mask;
|
||||
|
||||
mask.deviceid = XIAllMasterDevices;
|
||||
mask.mask = meta_device_xi2_translate_event_mask (evmask,
|
||||
&mask.mask_len);
|
||||
|
||||
if (preserve_old_mask)
|
||||
{
|
||||
XIEventMask *prev;
|
||||
gint n_masks, i, j;
|
||||
|
||||
prev = XIGetSelectedEvents (xdisplay, xwindow, &n_masks);
|
||||
|
||||
for (i = 0; i < n_masks; i++)
|
||||
{
|
||||
if (prev[i].deviceid != XIAllMasterDevices)
|
||||
continue;
|
||||
|
||||
for (j = 0; j < MIN (mask.mask_len, prev[i].mask_len); j++)
|
||||
mask.mask[j] |= prev[i].mask[j];
|
||||
}
|
||||
|
||||
XFree (prev);
|
||||
}
|
||||
|
||||
XISelectEvents (xdisplay, xwindow, &mask, 1);
|
||||
|
||||
/* Unset any input event so they are only handled via XInput2 */
|
||||
evmask &= ~(META_INPUT_TOUCH_EVENTS_MASK |
|
||||
KeyPressMask | KeyReleaseMask |
|
||||
ButtonPressMask | ButtonReleaseMask |
|
||||
EnterWindowMask | LeaveWindowMask |
|
||||
PointerMotionMask | PointerMotionHintMask |
|
||||
Button1MotionMask | Button2MotionMask |
|
||||
Button3MotionMask | Button4MotionMask |
|
||||
Button5MotionMask | ButtonMotionMask |
|
||||
FocusChangeMask);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (preserve_old_mask)
|
||||
{
|
||||
XWindowAttributes attr;
|
||||
|
||||
if (XGetWindowAttributes (xdisplay, xwindow, &attr))
|
||||
evmask |= attr.your_event_mask;
|
||||
}
|
||||
|
||||
XSelectInput (xdisplay, xwindow, evmask);
|
||||
}
|
||||
|
||||
@@ -35,7 +35,6 @@ typedef enum
|
||||
META_CORE_WINDOW_HAS_FRAME,
|
||||
META_CORE_GET_CLIENT_WIDTH,
|
||||
META_CORE_GET_CLIENT_HEIGHT,
|
||||
META_CORE_IS_TITLEBAR_ONSCREEN,
|
||||
META_CORE_GET_CLIENT_XWINDOW,
|
||||
META_CORE_GET_FRAME_FLAGS,
|
||||
META_CORE_GET_FRAME_TYPE,
|
||||
@@ -48,6 +47,7 @@ typedef enum
|
||||
META_CORE_GET_FRAME_Y,
|
||||
META_CORE_GET_FRAME_WIDTH,
|
||||
META_CORE_GET_FRAME_HEIGHT,
|
||||
META_CORE_GET_THEME_VARIANT,
|
||||
META_CORE_GET_SCREEN_WIDTH,
|
||||
META_CORE_GET_SCREEN_HEIGHT,
|
||||
} MetaCoreGetType;
|
||||
@@ -110,15 +110,17 @@ void meta_core_user_raise (Display *xdisplay,
|
||||
Window frame_xwindow);
|
||||
void meta_core_user_lower_and_unfocus (Display *xdisplay,
|
||||
Window frame_xwindow,
|
||||
int device_id,
|
||||
guint32 timestamp);
|
||||
|
||||
void meta_core_user_focus (Display *xdisplay,
|
||||
Window frame_xwindow,
|
||||
guint32 timestamp);
|
||||
|
||||
void meta_core_lower_beneath_focus_window (Display *xdisplay,
|
||||
Window xwindow,
|
||||
guint32 timestamp);
|
||||
void meta_core_lower_beneath_grab_window (Display *xdisplay,
|
||||
Window xwindow,
|
||||
int device_id,
|
||||
guint32 timestamp);
|
||||
|
||||
void meta_core_minimize (Display *xdisplay,
|
||||
Window frame_xwindow);
|
||||
@@ -163,6 +165,7 @@ const char* meta_core_get_workspace_name_with_index (Display *xdisplay,
|
||||
|
||||
void meta_core_show_window_menu (Display *xdisplay,
|
||||
Window frame_xwindow,
|
||||
int device_id,
|
||||
int root_x,
|
||||
int root_y,
|
||||
int button,
|
||||
@@ -175,6 +178,7 @@ void meta_core_get_menu_accelerator (MetaMenuOp menu_op,
|
||||
|
||||
gboolean meta_core_begin_grab_op (Display *xdisplay,
|
||||
Window frame_xwindow,
|
||||
int device_id,
|
||||
MetaGrabOp op,
|
||||
gboolean pointer_already_grabbed,
|
||||
gboolean frame_action,
|
||||
@@ -184,18 +188,29 @@ gboolean meta_core_begin_grab_op (Display *xdisplay,
|
||||
int root_x,
|
||||
int root_y);
|
||||
void meta_core_end_grab_op (Display *xdisplay,
|
||||
int device_id,
|
||||
guint32 timestamp);
|
||||
MetaGrabOp meta_core_get_grab_op (Display *xdisplay);
|
||||
Window meta_core_get_grab_frame (Display *xdisplay);
|
||||
int meta_core_get_grab_button (Display *xdisplay);
|
||||
|
||||
MetaGrabOp meta_core_frame_has_grab (Display *xdisplay,
|
||||
Window frame_xwindow,
|
||||
gint *device_id,
|
||||
gint *button_ret);
|
||||
Window meta_core_get_frame (Display *xdisplay,
|
||||
Window client_xwindow);
|
||||
|
||||
void meta_core_grab_buttons (Display *xdisplay,
|
||||
Window frame_xwindow);
|
||||
|
||||
void meta_core_set_screen_cursor (Display *xdisplay,
|
||||
Window frame_on_screen,
|
||||
MetaCursor cursor);
|
||||
void meta_core_set_screen_cursor (Display *xdisplay,
|
||||
Window frame_on_screen,
|
||||
int device_id,
|
||||
MetaCursor cursor);
|
||||
|
||||
void meta_core_select_events (Display *xdisplay,
|
||||
Window xwindow,
|
||||
gint evmask,
|
||||
gboolean preserve_old_mask);
|
||||
|
||||
|
||||
/* Used because we ignore EnterNotify when a window is unmapped that
|
||||
* really shouldn't cause focus changes, by comparing the event serial
|
||||
|
||||
@@ -88,19 +88,37 @@ delete_ping_timeout_func (MetaDisplay *display,
|
||||
return;
|
||||
}
|
||||
|
||||
window_title = g_locale_from_utf8 (window->title, -1, NULL, NULL, NULL);
|
||||
/* This is to get a better string if the title isn't representable
|
||||
* in the locale encoding; actual conversion to UTF-8 is done inside
|
||||
* meta_show_dialog */
|
||||
|
||||
if (window->title && window->title[0])
|
||||
{
|
||||
tmp = g_locale_from_utf8 (window->title, -1, NULL, NULL, NULL);
|
||||
if (tmp == NULL)
|
||||
window_title = NULL;
|
||||
else
|
||||
window_title = window->title;
|
||||
g_free (tmp);
|
||||
}
|
||||
else
|
||||
{
|
||||
window_title = NULL;
|
||||
}
|
||||
|
||||
/* Translators: %s is a window title */
|
||||
tmp = g_strdup_printf (_("<tt>%s</tt> is not responding."),
|
||||
window_title);
|
||||
if (window_title)
|
||||
tmp = g_markup_printf_escaped (_("<tt>%s</tt> is not responding."),
|
||||
window_title);
|
||||
else
|
||||
tmp = g_strdup (_("Application is not responding."));
|
||||
|
||||
window_content = g_strdup_printf (
|
||||
"<big><b>%s</b></big>\n\n<i>%s</i>",
|
||||
tmp,
|
||||
_("You may choose to wait a short while for it to "
|
||||
"continue or force the application to quit entirely."));
|
||||
|
||||
g_free (window_title);
|
||||
|
||||
dialog_pid =
|
||||
meta_show_dialog ("--question",
|
||||
window_content, NULL,
|
||||
|
||||
69
src/core/device-keyboard.c
Normal file
69
src/core/device-keyboard.c
Normal file
@@ -0,0 +1,69 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/* Keyboard device abstraction */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011 Carlos Garnacho
|
||||
*
|
||||
* 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 "device-keyboard.h"
|
||||
|
||||
G_DEFINE_ABSTRACT_TYPE (MetaDeviceKeyboard,
|
||||
meta_device_keyboard,
|
||||
META_TYPE_DEVICE)
|
||||
|
||||
static void
|
||||
meta_device_keyboard_class_init (MetaDeviceKeyboardClass *klass)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_keyboard_init (MetaDeviceKeyboard *keyboard)
|
||||
{
|
||||
}
|
||||
|
||||
Window
|
||||
meta_device_keyboard_get_focus_window (MetaDeviceKeyboard *keyboard)
|
||||
{
|
||||
MetaDeviceKeyboardClass *klass;
|
||||
|
||||
g_return_val_if_fail (META_IS_DEVICE_KEYBOARD (keyboard), None);
|
||||
|
||||
klass = META_DEVICE_KEYBOARD_GET_CLASS (keyboard);
|
||||
|
||||
if (!klass->get_focus_window)
|
||||
return None;
|
||||
|
||||
return (klass->get_focus_window) (keyboard);
|
||||
}
|
||||
|
||||
void
|
||||
meta_device_keyboard_set_focus_window (MetaDeviceKeyboard *keyboard,
|
||||
Window xwindow,
|
||||
Time timestamp)
|
||||
{
|
||||
MetaDeviceKeyboardClass *klass;
|
||||
|
||||
g_return_if_fail (META_IS_DEVICE_KEYBOARD (keyboard));
|
||||
|
||||
klass = META_DEVICE_KEYBOARD_GET_CLASS (keyboard);
|
||||
|
||||
if (klass->set_focus_window)
|
||||
(klass->set_focus_window) (keyboard, xwindow, timestamp);
|
||||
}
|
||||
69
src/core/device-keyboard.h
Normal file
69
src/core/device-keyboard.h
Normal file
@@ -0,0 +1,69 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/**
|
||||
* \file device-keyboard.h Keyboard device abstraction
|
||||
*
|
||||
* Input devices.
|
||||
* This file contains the internal abstraction of keyboard devices so
|
||||
* XInput2/core events can be handled similarly.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011 Carlos Garnacho
|
||||
*
|
||||
* 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_DEVICE_KEYBOARD_H
|
||||
#define META_DEVICE_KEYBOARD_H
|
||||
|
||||
#include "display-private.h"
|
||||
#include "device-private.h"
|
||||
|
||||
#define META_TYPE_DEVICE_KEYBOARD (meta_device_keyboard_get_type ())
|
||||
#define META_DEVICE_KEYBOARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_DEVICE_KEYBOARD, MetaDeviceKeyboard))
|
||||
#define META_DEVICE_KEYBOARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_DEVICE_KEYBOARD, MetaDeviceKeyboardClass))
|
||||
#define META_IS_DEVICE_KEYBOARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_DEVICE_KEYBOARD))
|
||||
#define META_IS_DEVICE_KEYBOARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_DEVICE_KEYBOARD))
|
||||
#define META_DEVICE_KEYBOARD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_DEVICE_KEYBOARD, MetaDeviceKeyboardClass))
|
||||
|
||||
typedef struct _MetaDeviceKeyboard MetaDeviceKeyboard;
|
||||
typedef struct _MetaDeviceKeyboardClass MetaDeviceKeyboardClass;
|
||||
|
||||
struct _MetaDeviceKeyboard
|
||||
{
|
||||
MetaDevice parent_instance;
|
||||
};
|
||||
|
||||
struct _MetaDeviceKeyboardClass
|
||||
{
|
||||
MetaDeviceClass parent_instance;
|
||||
|
||||
Window (* get_focus_window) (MetaDeviceKeyboard *keyboard);
|
||||
void (* set_focus_window) (MetaDeviceKeyboard *keyboard,
|
||||
Window xwindow,
|
||||
Time timestamp);
|
||||
};
|
||||
|
||||
GType meta_device_keyboard_get_type (void) G_GNUC_CONST;
|
||||
|
||||
Window meta_device_keyboard_get_focus_window (MetaDeviceKeyboard *keyboard);
|
||||
void meta_device_keyboard_set_focus_window (MetaDeviceKeyboard *keyboard,
|
||||
Window xwindow,
|
||||
Time timestamp);
|
||||
|
||||
|
||||
#endif /* META_DEVICE_KEYBOARD_H */
|
||||
134
src/core/device-map-core.c
Normal file
134
src/core/device-map-core.c
Normal file
@@ -0,0 +1,134 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/* Input device map, core protocol implementation */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011 Carlos Garnacho
|
||||
*
|
||||
* 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 "device-map-core.h"
|
||||
#include "devices-core.h"
|
||||
|
||||
G_DEFINE_TYPE (MetaDeviceMapCore, meta_device_map_core, META_TYPE_DEVICE_MAP)
|
||||
|
||||
static gboolean
|
||||
meta_device_map_core_grab_key (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint keycode,
|
||||
guint modifiers,
|
||||
gboolean sync)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
gint retval;
|
||||
|
||||
display = meta_device_map_get_display (device_map);
|
||||
retval = XGrabKey (display->xdisplay, keycode, modifiers,
|
||||
xwindow, True,
|
||||
GrabModeAsync, /* Never care about the other device */
|
||||
(sync) ? GrabModeSync : GrabModeAsync);
|
||||
|
||||
return (retval == Success);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_map_core_ungrab_key (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint keycode,
|
||||
guint modifiers)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_device_map_get_display (device_map);
|
||||
XUngrabKey (display->xdisplay, keycode, modifiers, xwindow);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
meta_device_map_core_grab_button (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint n_button,
|
||||
guint modifiers,
|
||||
guint evmask,
|
||||
gboolean sync)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
gint retval;
|
||||
|
||||
display = meta_device_map_get_display (device_map);
|
||||
retval = XGrabButton (display->xdisplay, n_button,
|
||||
modifiers, xwindow, False,
|
||||
evmask,
|
||||
(sync) ? GrabModeSync : GrabModeAsync,
|
||||
GrabModeAsync, /* Never care about the other device */
|
||||
None, None);
|
||||
|
||||
return (retval == Success);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_map_core_ungrab_button (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint n_button,
|
||||
guint modifiers)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_device_map_get_display (device_map);
|
||||
XUngrabButton (display->xdisplay, n_button, modifiers, xwindow);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_map_core_constructed (GObject *object)
|
||||
{
|
||||
MetaDeviceMap *device_map = META_DEVICE_MAP (object);
|
||||
MetaDevice *pointer, *keyboard;
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_device_map_get_display (device_map);
|
||||
|
||||
/* Insert core devices */
|
||||
pointer = meta_device_pointer_core_new (display);
|
||||
meta_device_map_add_device (device_map, pointer);
|
||||
|
||||
keyboard = meta_device_keyboard_core_new (display);
|
||||
meta_device_map_add_device (device_map, keyboard);
|
||||
|
||||
meta_device_pair_devices (pointer, keyboard);
|
||||
|
||||
g_object_unref (pointer);
|
||||
g_object_unref (keyboard);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_map_core_class_init (MetaDeviceMapCoreClass *klass)
|
||||
{
|
||||
MetaDeviceMapClass *device_map_class = META_DEVICE_MAP_CLASS (klass);
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
object_class->constructed = meta_device_map_core_constructed;
|
||||
|
||||
device_map_class->grab_key = meta_device_map_core_grab_key;
|
||||
device_map_class->ungrab_key = meta_device_map_core_ungrab_key;
|
||||
device_map_class->grab_button = meta_device_map_core_grab_button;
|
||||
device_map_class->ungrab_button = meta_device_map_core_ungrab_button;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_map_core_init (MetaDeviceMapCore *device_map)
|
||||
{
|
||||
}
|
||||
56
src/core/device-map-core.h
Normal file
56
src/core/device-map-core.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/**
|
||||
* \file device-map-core.h device map for core devices
|
||||
*
|
||||
* Input devices.
|
||||
* This file contains the core protocol implementation of the device map
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011 Carlos Garnacho
|
||||
*
|
||||
* 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_DEVICE_MAP_CORE_H
|
||||
#define META_DEVICE_MAP_CORE_H
|
||||
|
||||
typedef struct _MetaDeviceMapCore MetaDeviceMapCore;
|
||||
typedef struct _MetaDeviceMapCoreClass MetaDeviceMapCoreClass;
|
||||
|
||||
#include "device-map-private.h"
|
||||
|
||||
#define META_TYPE_DEVICE_MAP_CORE (meta_device_map_core_get_type ())
|
||||
#define META_DEVICE_MAP_CORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_DEVICE_MAP_CORE, MetaDeviceMapCore))
|
||||
#define META_DEVICE_MAP_CORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_DEVICE_MAP_CORE, MetaDeviceMapCoreClass))
|
||||
#define META_IS_DEVICE_MAP_CORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_DEVICE_MAP_CORE))
|
||||
#define META_IS_DEVICE_MAP_CORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_DEVICE_MAP_CORE))
|
||||
#define META_DEVICE_MAP_CORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_DEVICE_MAP_CORE, MetaDeviceMapCoreClass))
|
||||
|
||||
struct _MetaDeviceMapCore
|
||||
{
|
||||
MetaDeviceMap parent_instance;
|
||||
};
|
||||
|
||||
struct _MetaDeviceMapCoreClass
|
||||
{
|
||||
MetaDeviceMapClass parent_class;
|
||||
};
|
||||
|
||||
GType meta_device_map_core_get_type (void) G_GNUC_CONST;
|
||||
|
||||
#endif /* META_DEVICE_MAP_CORE_H */
|
||||
120
src/core/device-map-private.h
Normal file
120
src/core/device-map-private.h
Normal file
@@ -0,0 +1,120 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/**
|
||||
* \file device-map.h object containing input devices
|
||||
*
|
||||
* Input devices.
|
||||
* This file contains the device map, used to find out the device behind
|
||||
* XInput2/core events.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011 Carlos Garnacho
|
||||
*
|
||||
* 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_DEVICE_MAP_PRIVATE_H
|
||||
#define META_DEVICE_MAP_PRIVATE_H
|
||||
|
||||
#include <meta/device-map.h>
|
||||
#include <meta/device.h>
|
||||
#include "display-private.h"
|
||||
#include "device-private.h"
|
||||
|
||||
/* Device IDs for Virtual Core Pointer/Keyboard,
|
||||
* use only in case of emergency.
|
||||
*/
|
||||
#define META_CORE_POINTER_ID 2
|
||||
#define META_CORE_KEYBOARD_ID 3
|
||||
|
||||
struct _MetaDeviceMap
|
||||
{
|
||||
GObject parent_instance;
|
||||
gpointer priv;
|
||||
};
|
||||
|
||||
struct _MetaDeviceMapClass
|
||||
{
|
||||
GObjectClass parent_instance;
|
||||
|
||||
void (* device_added) (MetaDeviceMap *device_map,
|
||||
MetaDevice *device);
|
||||
void (* device_removed) (MetaDeviceMap *device_map,
|
||||
MetaDevice *device);
|
||||
|
||||
gboolean (* grab_key) (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint keycode,
|
||||
guint modifiers,
|
||||
gboolean sync);
|
||||
void (* ungrab_key) (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint keycode,
|
||||
guint modifiers);
|
||||
|
||||
gboolean (* grab_button) (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint n_button,
|
||||
guint modifiers,
|
||||
guint evmask,
|
||||
gboolean sync);
|
||||
void (* ungrab_button) (MetaDeviceMap *pointer,
|
||||
Window xwindow,
|
||||
guint n_button,
|
||||
guint modifiers);
|
||||
void (* grab_touch) (MetaDeviceMap *pointer,
|
||||
Window xwindow);
|
||||
void (* ungrab_touch) (MetaDeviceMap *pointer,
|
||||
Window xwindow);
|
||||
};
|
||||
|
||||
GType meta_device_map_get_type (void) G_GNUC_CONST;
|
||||
|
||||
MetaDeviceMap * meta_device_map_new (MetaDisplay *display,
|
||||
gboolean force_core);
|
||||
|
||||
void meta_device_map_add_device (MetaDeviceMap *device_map,
|
||||
MetaDevice *device);
|
||||
void meta_device_map_remove_device (MetaDeviceMap *device_map,
|
||||
MetaDevice *device);
|
||||
|
||||
gboolean meta_device_map_grab_key (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint keycode,
|
||||
guint modifiers,
|
||||
gboolean sync);
|
||||
void meta_device_map_ungrab_key (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint keycode,
|
||||
guint modifiers);
|
||||
gboolean meta_device_map_grab_button (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint n_button,
|
||||
guint modifiers,
|
||||
guint evmask,
|
||||
gboolean sync);
|
||||
void meta_device_map_ungrab_button (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint n_button,
|
||||
guint modifiers);
|
||||
|
||||
void meta_device_map_grab_touch (MetaDeviceMap *device_map,
|
||||
Window xwindow);
|
||||
void meta_device_map_ungrab_touch (MetaDeviceMap *device_map,
|
||||
Window xwindow);
|
||||
|
||||
#endif /* META_DEVICE_MAP_PRIVATE_H */
|
||||
323
src/core/device-map-xi2.c
Normal file
323
src/core/device-map-xi2.c
Normal file
@@ -0,0 +1,323 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/* Input device map, XInput2 implementation */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011 Carlos Garnacho
|
||||
*
|
||||
* 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 "device-map-xi2.h"
|
||||
#include <X11/extensions/XInput2.h>
|
||||
#include "devices-xi2.h"
|
||||
#include "input-events.h"
|
||||
|
||||
#define XINPUT2_VERSION_MAJOR 2
|
||||
#define XINPUT2_VERSION_MINOR 0
|
||||
|
||||
G_DEFINE_TYPE (MetaDeviceMapXI2, meta_device_map_xi2, META_TYPE_DEVICE_MAP)
|
||||
|
||||
static gboolean
|
||||
meta_device_map_xi2_grab_key (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint keycode,
|
||||
guint modifiers,
|
||||
gboolean sync)
|
||||
{
|
||||
XIGrabModifiers mods = { modifiers, 0 };
|
||||
MetaDisplay *display;
|
||||
XIEventMask mask;
|
||||
gint retval;
|
||||
|
||||
display = meta_device_map_get_display (device_map);
|
||||
|
||||
mask.deviceid = XIAllMasterDevices;
|
||||
mask.mask = meta_device_xi2_translate_event_mask (KeyPressMask |
|
||||
KeyReleaseMask,
|
||||
&mask.mask_len);
|
||||
|
||||
retval = XIGrabKeycode (display->xdisplay,
|
||||
XIAllMasterDevices,
|
||||
keycode, xwindow,
|
||||
(sync) ? GrabModeSync : GrabModeAsync,
|
||||
GrabModeAsync, /* Never care about the other device */
|
||||
True, &mask, 1, &mods);
|
||||
|
||||
return (retval == Success);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_map_xi2_ungrab_key (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint keycode,
|
||||
guint modifiers)
|
||||
{
|
||||
XIGrabModifiers mods = { modifiers, 0 };
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_device_map_get_display (device_map);
|
||||
XIUngrabKeycode (display->xdisplay,
|
||||
XIAllMasterDevices,
|
||||
keycode, xwindow,
|
||||
1, &mods);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
meta_device_map_xi2_grab_button (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint n_button,
|
||||
guint modifiers,
|
||||
guint evmask,
|
||||
gboolean sync)
|
||||
{
|
||||
XIGrabModifiers mods = { modifiers, 0 };
|
||||
XIEventMask mask;
|
||||
MetaDisplay *display;
|
||||
int retval;
|
||||
|
||||
display = meta_device_map_get_display (device_map);
|
||||
|
||||
mask.deviceid = XIAllMasterDevices;
|
||||
mask.mask = meta_device_xi2_translate_event_mask (evmask, &mask.mask_len);
|
||||
|
||||
retval = XIGrabButton (display->xdisplay,
|
||||
XIAllMasterDevices,
|
||||
n_button, xwindow, None,
|
||||
(sync) ? GrabModeSync : GrabModeAsync,
|
||||
GrabModeAsync, /* Never care about the other device */
|
||||
False, &mask, 1, &mods);
|
||||
|
||||
return (retval == Success);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_map_xi2_ungrab_button (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint n_button,
|
||||
guint modifiers)
|
||||
{
|
||||
XIGrabModifiers mods = { modifiers, 0 };
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_device_map_get_display (device_map);
|
||||
XIUngrabButton (display->xdisplay,
|
||||
XIAllMasterDevices,
|
||||
n_button, xwindow, 1, &mods);
|
||||
}
|
||||
|
||||
static MetaDevice *
|
||||
create_device_from_info (MetaDeviceMap *device_map,
|
||||
gint use,
|
||||
gint device_id)
|
||||
{
|
||||
MetaDevice *device = NULL;
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_device_map_get_display (device_map);
|
||||
|
||||
if (use == XIMasterPointer ||
|
||||
use == XISlavePointer)
|
||||
device = meta_device_pointer_xi2_new (display, device_id);
|
||||
else if (use == XIMasterKeyboard)
|
||||
device = meta_device_keyboard_xi2_new (display, device_id);
|
||||
|
||||
return device;
|
||||
}
|
||||
|
||||
static void
|
||||
pair_devices (gpointer key,
|
||||
gpointer value,
|
||||
gpointer user_data)
|
||||
{
|
||||
MetaDevice *device1, *device2;
|
||||
MetaDeviceMap *device_map;
|
||||
|
||||
device_map = user_data;
|
||||
device1 = meta_device_map_lookup (device_map, GPOINTER_TO_INT (key));
|
||||
device2 = meta_device_map_lookup (device_map, GPOINTER_TO_INT (value));
|
||||
|
||||
meta_device_pair_devices (device1, device2);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_map_xi2_constructed (GObject *object)
|
||||
{
|
||||
MetaDeviceMap *device_map = META_DEVICE_MAP (object);
|
||||
MetaDisplay *display;
|
||||
XIDeviceInfo *info;
|
||||
GHashTable *pairs;
|
||||
int n_devices, i;
|
||||
|
||||
display = meta_device_map_get_display (device_map);
|
||||
|
||||
/* We're only interested in master devices,
|
||||
* detached slave devices are left for applications
|
||||
* to handle.
|
||||
*/
|
||||
info = XIQueryDevice (display->xdisplay, XIAllDevices, &n_devices);
|
||||
pairs = g_hash_table_new (NULL, NULL);
|
||||
|
||||
for (i = 0; i < n_devices; i++)
|
||||
{
|
||||
MetaDevice *device;
|
||||
|
||||
device = create_device_from_info (device_map, info[i].use,
|
||||
info[i].deviceid);
|
||||
if (device)
|
||||
{
|
||||
meta_device_map_add_device (device_map, device);
|
||||
|
||||
if (info[i].use == XIMasterPointer ||
|
||||
info[i].use == XIMasterKeyboard)
|
||||
g_hash_table_insert (pairs,
|
||||
GINT_TO_POINTER (info[i].deviceid),
|
||||
GINT_TO_POINTER (info[i].attachment));
|
||||
|
||||
g_object_unref (device);
|
||||
}
|
||||
}
|
||||
|
||||
g_hash_table_foreach (pairs, pair_devices, device_map);
|
||||
g_hash_table_destroy (pairs);
|
||||
|
||||
XIFreeDeviceInfo (info);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_map_xi2_grab_touch (MetaDeviceMap *device_map,
|
||||
Window xwindow)
|
||||
{
|
||||
XIGrabModifiers unused = { 0 };
|
||||
MetaDisplay *display;
|
||||
XIEventMask mask;
|
||||
|
||||
display = meta_device_map_get_display (device_map);
|
||||
|
||||
g_message ("Grabbing passively on touch begin\n");
|
||||
|
||||
mask.deviceid = XIAllMasterDevices;
|
||||
mask.mask = meta_device_xi2_translate_event_mask (META_INPUT_TOUCH_EVENTS_MASK |
|
||||
ButtonPressMask |
|
||||
ButtonReleaseMask |
|
||||
PointerMotionMask |
|
||||
KeyPressMask |
|
||||
KeyReleaseMask,
|
||||
&mask.mask_len);
|
||||
XIGrabTouchBegin (display->xdisplay,
|
||||
XIAllMasterDevices,
|
||||
xwindow, True,
|
||||
&mask, 1, &unused);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_map_xi2_ungrab_touch (MetaDeviceMap *device_map,
|
||||
Window xwindow)
|
||||
{
|
||||
XIGrabModifiers unused = { 0 };
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_device_map_get_display (device_map);
|
||||
XIUngrabTouchBegin (display->xdisplay,
|
||||
XIAllMasterDevices,
|
||||
xwindow, 0, &unused);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_map_xi2_class_init (MetaDeviceMapXI2Class *klass)
|
||||
{
|
||||
MetaDeviceMapClass *device_map_class = META_DEVICE_MAP_CLASS (klass);
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
object_class->constructed = meta_device_map_xi2_constructed;
|
||||
|
||||
device_map_class->grab_key = meta_device_map_xi2_grab_key;
|
||||
device_map_class->ungrab_key = meta_device_map_xi2_ungrab_key;
|
||||
device_map_class->grab_button = meta_device_map_xi2_grab_button;
|
||||
device_map_class->ungrab_button = meta_device_map_xi2_ungrab_button;
|
||||
device_map_class->grab_touch = meta_device_map_xi2_grab_touch;
|
||||
device_map_class->ungrab_touch = meta_device_map_xi2_ungrab_touch;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_map_xi2_init (MetaDeviceMapXI2 *device_map)
|
||||
{
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_device_map_xi2_handle_hierarchy_event (MetaDeviceMapXI2 *device_map,
|
||||
XEvent *ev)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_device_map_get_display (META_DEVICE_MAP (device_map));
|
||||
|
||||
if (ev->type == GenericEvent &&
|
||||
ev->xcookie.extension == display->xinput2_opcode)
|
||||
{
|
||||
XIHierarchyEvent *xev;
|
||||
GHashTable *pairs;
|
||||
gint i;
|
||||
|
||||
g_assert (display->have_xinput2 == TRUE);
|
||||
|
||||
xev = (XIHierarchyEvent *) ev->xcookie.data;
|
||||
|
||||
if (xev->evtype != XI_HierarchyChanged)
|
||||
return FALSE;
|
||||
|
||||
pairs = g_hash_table_new (NULL, NULL);
|
||||
|
||||
for (i = 0; i < xev->num_info; i++)
|
||||
{
|
||||
if (xev->info[i].flags & XIMasterAdded ||
|
||||
xev->info[i].flags & XISlaveAdded)
|
||||
{
|
||||
MetaDevice *device;
|
||||
|
||||
device = create_device_from_info (META_DEVICE_MAP (device_map),
|
||||
xev->info[i].use,
|
||||
xev->info[i].deviceid);
|
||||
|
||||
if (device &&
|
||||
xev->info[i].flags & XIMasterAdded)
|
||||
g_hash_table_insert (pairs,
|
||||
GINT_TO_POINTER (xev->info[i].deviceid),
|
||||
GINT_TO_POINTER (xev->info[i].attachment));
|
||||
}
|
||||
else if (xev->info[i].flags & XIMasterRemoved ||
|
||||
xev->info[i].flags & XISlaveRemoved)
|
||||
{
|
||||
MetaDevice *device;
|
||||
|
||||
device = meta_device_map_lookup (META_DEVICE_MAP (device_map),
|
||||
xev->info[i].deviceid);
|
||||
|
||||
if (device)
|
||||
meta_device_map_remove_device (META_DEVICE_MAP (device_map),
|
||||
device);
|
||||
}
|
||||
}
|
||||
|
||||
g_hash_table_foreach (pairs, pair_devices, device_map);
|
||||
g_hash_table_destroy (pairs);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
59
src/core/device-map-xi2.h
Normal file
59
src/core/device-map-xi2.h
Normal file
@@ -0,0 +1,59 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/**
|
||||
* \file device-map-xi2.h device map for XInput2 devices
|
||||
*
|
||||
* Input devices.
|
||||
* This file contains the XInput2 implementation of the device map
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011 Carlos Garnacho
|
||||
*
|
||||
* 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_DEVICE_MAP_XI2_H
|
||||
#define META_DEVICE_MAP_XI2_H
|
||||
|
||||
typedef struct _MetaDeviceMapXI2 MetaDeviceMapXI2;
|
||||
typedef struct _MetaDeviceMapXI2Class MetaDeviceMapXI2Class;
|
||||
|
||||
#include "device-map-private.h"
|
||||
|
||||
#define META_TYPE_DEVICE_MAP_XI2 (meta_device_map_xi2_get_type ())
|
||||
#define META_DEVICE_MAP_XI2(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_DEVICE_MAP_XI2, MetaDeviceMapXI2))
|
||||
#define META_DEVICE_MAP_XI2_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_DEVICE_MAP_XI2, MetaDeviceMapXI2Class))
|
||||
#define META_IS_DEVICE_MAP_XI2(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_DEVICE_MAP_XI2))
|
||||
#define META_IS_DEVICE_MAP_XI2_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_DEVICE_MAP_XI2))
|
||||
#define META_DEVICE_MAP_XI2_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_DEVICE_MAP_XI2, MetaDeviceMapXI2Class))
|
||||
|
||||
struct _MetaDeviceMapXI2
|
||||
{
|
||||
MetaDeviceMap parent_instance;
|
||||
};
|
||||
|
||||
struct _MetaDeviceMapXI2Class
|
||||
{
|
||||
MetaDeviceMapClass parent_class;
|
||||
};
|
||||
|
||||
GType meta_device_map_xi2_get_type (void) G_GNUC_CONST;
|
||||
|
||||
gboolean meta_device_map_xi2_handle_hierarchy_event (MetaDeviceMapXI2 *device_map,
|
||||
XEvent *ev);
|
||||
|
||||
#endif /* META_DEVICE_MAP_XI2_H */
|
||||
429
src/core/device-map.c
Normal file
429
src/core/device-map.c
Normal file
@@ -0,0 +1,429 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/* Input device map */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011 Carlos Garnacho
|
||||
*
|
||||
* 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 "device-map-private.h"
|
||||
#include "device-map-core.h"
|
||||
|
||||
#ifdef HAVE_XINPUT2
|
||||
#include <X11/extensions/XInput2.h>
|
||||
#include "device-map-xi2.h"
|
||||
|
||||
#define XINPUT2_VERSION_MAJOR 2
|
||||
#define XINPUT2_VERSION_MINOR 0
|
||||
#endif
|
||||
|
||||
G_DEFINE_TYPE (MetaDeviceMap, meta_device_map, G_TYPE_OBJECT)
|
||||
|
||||
typedef struct MetaDeviceMapPrivate MetaDeviceMapPrivate;
|
||||
|
||||
struct MetaDeviceMapPrivate
|
||||
{
|
||||
MetaDisplay *display;
|
||||
GHashTable *devices;
|
||||
};
|
||||
|
||||
enum {
|
||||
PROP_0,
|
||||
PROP_DISPLAY
|
||||
};
|
||||
|
||||
enum {
|
||||
DEVICE_ADDED,
|
||||
DEVICE_REMOVED,
|
||||
LAST_SIGNAL
|
||||
};
|
||||
|
||||
static guint signals[LAST_SIGNAL] = { 0 };
|
||||
|
||||
static void
|
||||
meta_device_map_get_property (GObject *object,
|
||||
guint param_id,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
MetaDeviceMapPrivate *priv;
|
||||
|
||||
priv = META_DEVICE_MAP (object)->priv;
|
||||
|
||||
switch (param_id)
|
||||
{
|
||||
case PROP_DISPLAY:
|
||||
g_value_set_object (value, priv->display);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_map_set_property (GObject *object,
|
||||
guint param_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
MetaDeviceMapPrivate *priv;
|
||||
|
||||
priv = META_DEVICE_MAP (object)->priv;
|
||||
|
||||
switch (param_id)
|
||||
{
|
||||
case PROP_DISPLAY:
|
||||
priv->display = g_value_get_object (value);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_map_finalize (GObject *object)
|
||||
{
|
||||
MetaDeviceMapPrivate *priv;
|
||||
GHashTableIter iter;
|
||||
MetaDevice *device;
|
||||
|
||||
priv = META_DEVICE_MAP (object)->priv;
|
||||
g_hash_table_iter_init (&iter, priv->devices);
|
||||
|
||||
while (g_hash_table_iter_next (&iter, NULL, (gpointer *) &device))
|
||||
{
|
||||
/* Detach the device */
|
||||
g_hash_table_iter_steal (&iter);
|
||||
|
||||
g_signal_emit (object, signals[DEVICE_REMOVED], 0, device);
|
||||
g_object_unref (device);
|
||||
}
|
||||
|
||||
g_hash_table_destroy (priv->devices);
|
||||
G_OBJECT_CLASS (meta_device_map_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_map_class_init (MetaDeviceMapClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
object_class->get_property = meta_device_map_get_property;
|
||||
object_class->set_property = meta_device_map_set_property;
|
||||
object_class->finalize = meta_device_map_finalize;
|
||||
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_DISPLAY,
|
||||
g_param_spec_object ("display",
|
||||
"Display",
|
||||
"Display",
|
||||
META_TYPE_DISPLAY,
|
||||
G_PARAM_READWRITE |
|
||||
G_PARAM_CONSTRUCT_ONLY));
|
||||
signals[DEVICE_ADDED] =
|
||||
g_signal_new ("device-added",
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
0,
|
||||
NULL, NULL,
|
||||
g_cclosure_marshal_VOID__OBJECT,
|
||||
G_TYPE_NONE, 1, META_TYPE_DEVICE);
|
||||
signals[DEVICE_REMOVED] =
|
||||
g_signal_new ("device-removed",
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
0,
|
||||
NULL, NULL,
|
||||
g_cclosure_marshal_VOID__OBJECT,
|
||||
G_TYPE_NONE, 1, META_TYPE_DEVICE);
|
||||
|
||||
g_type_class_add_private (klass, sizeof (MetaDeviceMapPrivate));
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_map_init (MetaDeviceMap *device_map)
|
||||
{
|
||||
MetaDeviceMapPrivate *priv;
|
||||
|
||||
priv = device_map->priv = G_TYPE_INSTANCE_GET_PRIVATE (device_map,
|
||||
META_TYPE_DEVICE_MAP,
|
||||
MetaDeviceMapPrivate);
|
||||
priv->devices = g_hash_table_new_full (NULL, NULL, NULL,
|
||||
(GDestroyNotify) g_object_unref);
|
||||
}
|
||||
|
||||
void
|
||||
meta_device_map_add_device (MetaDeviceMap *device_map,
|
||||
MetaDevice *device)
|
||||
{
|
||||
MetaDeviceMapPrivate *priv;
|
||||
|
||||
priv = device_map->priv;
|
||||
g_hash_table_insert (priv->devices,
|
||||
GINT_TO_POINTER (meta_device_get_id (device)),
|
||||
g_object_ref (device));
|
||||
|
||||
g_signal_emit (device_map, signals[DEVICE_ADDED], 0, device);
|
||||
}
|
||||
|
||||
void
|
||||
meta_device_map_remove_device (MetaDeviceMap *device_map,
|
||||
MetaDevice *device)
|
||||
{
|
||||
MetaDeviceMapPrivate *priv;
|
||||
|
||||
priv = device_map->priv;
|
||||
|
||||
if (g_hash_table_steal (priv->devices,
|
||||
GINT_TO_POINTER (meta_device_get_id (device))))
|
||||
{
|
||||
g_signal_emit (device_map, signals[DEVICE_REMOVED], 0, device);
|
||||
g_object_unref (device);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#ifdef HAVE_XINPUT2
|
||||
|
||||
static gboolean
|
||||
initialize_xinput (MetaDisplay *display)
|
||||
{
|
||||
int major, minor, opcode;
|
||||
int unused;
|
||||
|
||||
if (!XQueryExtension (display->xdisplay,
|
||||
"XInputExtension",
|
||||
&opcode, &unused, &unused))
|
||||
return FALSE;
|
||||
|
||||
major = XI_2_Major;
|
||||
#ifdef HAVE_XTOUCH
|
||||
minor = XI_2_1_Minor;
|
||||
#else
|
||||
minor = XI_2_Minor;
|
||||
#endif /* HAVE_XTOUCH */
|
||||
|
||||
XIQueryVersion (display->xdisplay, &major, &minor);
|
||||
|
||||
if (major == XI_2_Major &&
|
||||
(
|
||||
#ifdef HAVE_XTOUCH
|
||||
minor == XI_2_1_Minor ||
|
||||
#endif /* HAVE_XTOUCH */
|
||||
minor == XI_2_Minor))
|
||||
{
|
||||
display->have_xinput2 = TRUE;
|
||||
display->have_xtouch = (minor >= XI_2_1_Minor);
|
||||
display->xinput2_opcode = opcode;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#endif /* HAVE_XINPUT2 */
|
||||
|
||||
MetaDeviceMap *
|
||||
meta_device_map_new (MetaDisplay *display,
|
||||
gboolean force_core)
|
||||
{
|
||||
GType type = META_TYPE_DEVICE_MAP_CORE;
|
||||
|
||||
#ifdef HAVE_XINPUT2
|
||||
if (!force_core &&
|
||||
initialize_xinput (display))
|
||||
type = META_TYPE_DEVICE_MAP_XI2;
|
||||
#endif
|
||||
|
||||
return g_object_new (type,
|
||||
"display", display,
|
||||
NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_device_map_lookup:
|
||||
* @device_map: a #MetaDeviceMap
|
||||
* @device_id: ID for a device
|
||||
*
|
||||
* returns the device corresponding to @device_id
|
||||
*
|
||||
* Returns: (transfer none): (allow-none): The matching device, or %NULL.
|
||||
**/
|
||||
MetaDevice *
|
||||
meta_device_map_lookup (MetaDeviceMap *device_map,
|
||||
gint device_id)
|
||||
{
|
||||
MetaDeviceMapPrivate *priv;
|
||||
|
||||
g_return_val_if_fail (META_IS_DEVICE_MAP (device_map), NULL);
|
||||
|
||||
priv = device_map->priv;
|
||||
return g_hash_table_lookup (priv->devices,
|
||||
GINT_TO_POINTER (device_id));
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_device_map_get_display:
|
||||
* @device_map: a #MetaDeviceMap
|
||||
*
|
||||
* Returns the #MetaDisplay to which @device_map belongs to.
|
||||
*
|
||||
* Returns: (transfer none): The #MetaDisplay.
|
||||
**/
|
||||
MetaDisplay *
|
||||
meta_device_map_get_display (MetaDeviceMap *device_map)
|
||||
{
|
||||
MetaDeviceMapPrivate *priv;
|
||||
|
||||
g_return_val_if_fail (META_IS_DEVICE_MAP (device_map), NULL);
|
||||
|
||||
priv = device_map->priv;
|
||||
return priv->display;
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_device_map_list_devices:
|
||||
* @device_map: a #MetaDeviceMap
|
||||
*
|
||||
* Returns the list of devices that @device_map holds.
|
||||
*
|
||||
* Returns: (element-type Meta.Device) (transfer container): the list
|
||||
* of devices, the contained objects are owned by @device_map
|
||||
* and should not be unref'ed. The list must be freed with
|
||||
* g_list_free().
|
||||
**/
|
||||
GList *
|
||||
meta_device_map_list_devices (MetaDeviceMap *device_map)
|
||||
{
|
||||
MetaDeviceMapPrivate *priv;
|
||||
|
||||
g_return_val_if_fail (META_IS_DEVICE_MAP (device_map), NULL);
|
||||
|
||||
priv = device_map->priv;
|
||||
return g_hash_table_get_values (priv->devices);
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_device_map_grab_key (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint keycode,
|
||||
guint modifiers,
|
||||
gboolean sync)
|
||||
{
|
||||
MetaDeviceMapClass *klass;
|
||||
|
||||
g_return_val_if_fail (META_IS_DEVICE_MAP (device_map), FALSE);
|
||||
g_return_val_if_fail (xwindow != None, FALSE);
|
||||
|
||||
klass = META_DEVICE_MAP_GET_CLASS (device_map);
|
||||
|
||||
if (!klass->grab_key)
|
||||
return FALSE;
|
||||
|
||||
return (klass->grab_key) (device_map, xwindow, keycode, modifiers, sync);
|
||||
}
|
||||
|
||||
void
|
||||
meta_device_map_ungrab_key (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint keycode,
|
||||
guint modifiers)
|
||||
{
|
||||
MetaDeviceMapClass *klass;
|
||||
|
||||
g_return_if_fail (META_IS_DEVICE_MAP (device_map));
|
||||
g_return_if_fail (xwindow != None);
|
||||
|
||||
klass = META_DEVICE_MAP_GET_CLASS (device_map);
|
||||
|
||||
if (klass->ungrab_key)
|
||||
(klass->ungrab_key) (device_map, xwindow, keycode, modifiers);
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_device_map_grab_button (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint n_button,
|
||||
guint modifiers,
|
||||
guint evmask,
|
||||
gboolean sync)
|
||||
{
|
||||
MetaDeviceMapClass *klass;
|
||||
|
||||
g_return_val_if_fail (META_IS_DEVICE_MAP (device_map), FALSE);
|
||||
g_return_val_if_fail (xwindow != None, FALSE);
|
||||
|
||||
klass = META_DEVICE_MAP_GET_CLASS (device_map);
|
||||
|
||||
if (!klass->grab_button)
|
||||
return FALSE;
|
||||
|
||||
return (klass->grab_button) (device_map, xwindow, n_button,
|
||||
modifiers, evmask, sync);
|
||||
}
|
||||
|
||||
void
|
||||
meta_device_map_ungrab_button (MetaDeviceMap *device_map,
|
||||
Window xwindow,
|
||||
guint n_button,
|
||||
guint modifiers)
|
||||
{
|
||||
MetaDeviceMapClass *klass;
|
||||
|
||||
g_return_if_fail (META_IS_DEVICE_MAP (device_map));
|
||||
g_return_if_fail (xwindow != None);
|
||||
|
||||
klass = META_DEVICE_MAP_GET_CLASS (device_map);
|
||||
|
||||
if (klass->ungrab_button)
|
||||
(klass->ungrab_button) (device_map, xwindow, n_button, modifiers);
|
||||
}
|
||||
|
||||
void
|
||||
meta_device_map_grab_touch (MetaDeviceMap *device_map,
|
||||
Window xwindow)
|
||||
{
|
||||
MetaDeviceMapClass *klass;
|
||||
|
||||
g_return_if_fail (META_IS_DEVICE_MAP (device_map));
|
||||
g_return_if_fail (xwindow != None);
|
||||
|
||||
klass = META_DEVICE_MAP_GET_CLASS (device_map);
|
||||
|
||||
if (klass->grab_touch)
|
||||
(klass->grab_touch) (device_map, xwindow);
|
||||
}
|
||||
|
||||
void
|
||||
meta_device_map_ungrab_touch (MetaDeviceMap *device_map,
|
||||
Window xwindow)
|
||||
{
|
||||
MetaDeviceMapClass *klass;
|
||||
|
||||
g_return_if_fail (META_IS_DEVICE_MAP (device_map));
|
||||
g_return_if_fail (xwindow != None);
|
||||
|
||||
klass = META_DEVICE_MAP_GET_CLASS (device_map);
|
||||
|
||||
if (klass->ungrab_touch)
|
||||
(klass->ungrab_touch) (device_map, xwindow);
|
||||
}
|
||||
124
src/core/device-pointer.c
Normal file
124
src/core/device-pointer.c
Normal file
@@ -0,0 +1,124 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/* Pointer device abstraction */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011 Carlos Garnacho
|
||||
*
|
||||
* 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 "device-pointer.h"
|
||||
|
||||
G_DEFINE_ABSTRACT_TYPE (MetaDevicePointer,
|
||||
meta_device_pointer,
|
||||
META_TYPE_DEVICE)
|
||||
|
||||
static void
|
||||
meta_device_pointer_class_init (MetaDevicePointerClass *klass)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_pointer_init (MetaDevicePointer *pointer)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
meta_device_pointer_warp (MetaDevicePointer *pointer,
|
||||
MetaScreen *screen,
|
||||
gint x,
|
||||
gint y)
|
||||
{
|
||||
MetaDevicePointerClass *klass;
|
||||
|
||||
g_return_if_fail (META_IS_DEVICE_POINTER (pointer));
|
||||
g_return_if_fail (META_IS_SCREEN (screen));
|
||||
|
||||
klass = META_DEVICE_POINTER_GET_CLASS (pointer);
|
||||
|
||||
if (klass->warp)
|
||||
(klass->warp) (pointer, screen, x, y);
|
||||
}
|
||||
|
||||
void
|
||||
meta_device_pointer_set_window_cursor (MetaDevicePointer *pointer,
|
||||
Window xwindow,
|
||||
MetaCursor cursor)
|
||||
{
|
||||
MetaDevicePointerClass *klass;
|
||||
|
||||
g_return_if_fail (META_IS_DEVICE_POINTER (pointer));
|
||||
g_return_if_fail (xwindow != None);
|
||||
|
||||
klass = META_DEVICE_POINTER_GET_CLASS (pointer);
|
||||
|
||||
if (klass->set_window_cursor)
|
||||
(klass->set_window_cursor) (pointer, xwindow, cursor);
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_device_pointer_query_position (MetaDevicePointer *pointer,
|
||||
Window xwindow,
|
||||
Window *root_ret,
|
||||
Window *child_ret,
|
||||
gint *root_x_ret,
|
||||
gint *root_y_ret,
|
||||
gint *x_ret,
|
||||
gint *y_ret,
|
||||
guint *mask_ret)
|
||||
{
|
||||
MetaDevicePointerClass *klass;
|
||||
gint root_x, root_y, x, y;
|
||||
Window root, child;
|
||||
gboolean retval;
|
||||
guint mask;
|
||||
|
||||
g_return_val_if_fail (META_IS_DEVICE_POINTER (pointer), FALSE);
|
||||
g_return_val_if_fail (xwindow != None, FALSE);
|
||||
|
||||
klass = META_DEVICE_POINTER_GET_CLASS (pointer);
|
||||
|
||||
if (!klass->query_position)
|
||||
return FALSE;
|
||||
|
||||
retval = (klass->query_position) (pointer, xwindow, &root, &child,
|
||||
&root_x, &root_y, &x, &y, &mask);
|
||||
|
||||
if (root_ret)
|
||||
*root_ret = root;
|
||||
|
||||
if (child_ret)
|
||||
*child_ret = child;
|
||||
|
||||
if (root_x_ret)
|
||||
*root_x_ret = root_x;
|
||||
|
||||
if (root_y_ret)
|
||||
*root_y_ret = root_y;
|
||||
|
||||
if (x_ret)
|
||||
*x_ret = x;
|
||||
|
||||
if (y_ret)
|
||||
*y_ret = y;
|
||||
|
||||
if (mask_ret)
|
||||
*mask_ret = mask;
|
||||
|
||||
return retval;
|
||||
}
|
||||
95
src/core/device-pointer.h
Normal file
95
src/core/device-pointer.h
Normal file
@@ -0,0 +1,95 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/**
|
||||
* \file device-pointer.h Pointer device abstraction
|
||||
*
|
||||
* Input devices.
|
||||
* This file contains the internal abstraction of pointer devices so
|
||||
* XInput2/core events can be handled similarly.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011 Carlos Garnacho
|
||||
*
|
||||
* 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_DEVICE_POINTER_H
|
||||
#define META_DEVICE_POINTER_H
|
||||
|
||||
#include "display-private.h"
|
||||
#include <meta/screen.h>
|
||||
#include "device-private.h"
|
||||
|
||||
#define META_TYPE_DEVICE_POINTER (meta_device_pointer_get_type ())
|
||||
#define META_DEVICE_POINTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_DEVICE_POINTER, MetaDevicePointer))
|
||||
#define META_DEVICE_POINTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_DEVICE_POINTER, MetaDevicePointerClass))
|
||||
#define META_IS_DEVICE_POINTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_DEVICE_POINTER))
|
||||
#define META_IS_DEVICE_POINTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_DEVICE_POINTER))
|
||||
#define META_DEVICE_POINTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_DEVICE_POINTER, MetaDevicePointerClass))
|
||||
|
||||
typedef struct _MetaDevicePointer MetaDevicePointer;
|
||||
typedef struct _MetaDevicePointerClass MetaDevicePointerClass;
|
||||
|
||||
struct _MetaDevicePointer
|
||||
{
|
||||
MetaDevice parent_instance;
|
||||
};
|
||||
|
||||
struct _MetaDevicePointerClass
|
||||
{
|
||||
MetaDeviceClass parent_instance;
|
||||
|
||||
void (* warp) (MetaDevicePointer *pointer,
|
||||
MetaScreen *screen,
|
||||
gint x,
|
||||
gint y);
|
||||
|
||||
void (* set_window_cursor) (MetaDevicePointer *pointer,
|
||||
Window xwindow,
|
||||
MetaCursor cursor);
|
||||
gboolean (* query_position) (MetaDevicePointer *pointer,
|
||||
Window xwindow,
|
||||
Window *root,
|
||||
Window *child,
|
||||
gint *root_x,
|
||||
gint *root_y,
|
||||
gint *x,
|
||||
gint *y,
|
||||
guint *mask);
|
||||
};
|
||||
|
||||
GType meta_device_pointer_get_type (void) G_GNUC_CONST;
|
||||
|
||||
void meta_device_pointer_warp (MetaDevicePointer *pointer,
|
||||
MetaScreen *screen,
|
||||
gint x,
|
||||
gint y);
|
||||
void meta_device_pointer_set_window_cursor (MetaDevicePointer *pointer,
|
||||
Window xwindow,
|
||||
MetaCursor cursor);
|
||||
|
||||
gboolean meta_device_pointer_query_position (MetaDevicePointer *pointer,
|
||||
Window xwindow,
|
||||
Window *root,
|
||||
Window *child,
|
||||
gint *root_x,
|
||||
gint *root_y,
|
||||
gint *x,
|
||||
gint *y,
|
||||
guint *mask);
|
||||
|
||||
#endif /* META_DEVICE_POINTER_H */
|
||||
80
src/core/device-private.h
Normal file
80
src/core/device-private.h
Normal file
@@ -0,0 +1,80 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/**
|
||||
* \file device.h Input device abstraction
|
||||
*
|
||||
* Input devices.
|
||||
* This file contains the internal abstraction of input devices so
|
||||
* XInput2/core events can be handled similarly.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011 Carlos Garnacho
|
||||
*
|
||||
* 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_DEVICE_PRIVATE_H
|
||||
#define META_DEVICE_PRIVATE_H
|
||||
|
||||
#include <meta/device.h>
|
||||
#include "display-private.h"
|
||||
|
||||
struct _MetaDevice
|
||||
{
|
||||
GObject parent_instance;
|
||||
gpointer priv;
|
||||
};
|
||||
|
||||
struct _MetaDeviceClass
|
||||
{
|
||||
GObjectClass parent_instance;
|
||||
|
||||
void (* allow_events) (MetaDevice *device,
|
||||
int mode,
|
||||
Time time);
|
||||
|
||||
gboolean (* grab) (MetaDevice *device,
|
||||
Window xwindow,
|
||||
guint evmask,
|
||||
MetaCursor cursor,
|
||||
gboolean owner_events,
|
||||
gboolean sync,
|
||||
Time time);
|
||||
void (* ungrab) (MetaDevice *device,
|
||||
Time time);
|
||||
};
|
||||
|
||||
GType meta_device_get_type (void) G_GNUC_CONST;
|
||||
|
||||
void meta_device_allow_events (MetaDevice *device,
|
||||
int mode,
|
||||
Time time);
|
||||
|
||||
gboolean meta_device_grab (MetaDevice *device,
|
||||
Window xwindow,
|
||||
guint evmask,
|
||||
MetaCursor cursor,
|
||||
gboolean owner_events,
|
||||
gboolean sync,
|
||||
Time time);
|
||||
void meta_device_ungrab (MetaDevice *device,
|
||||
Time time);
|
||||
|
||||
void meta_device_pair_devices (MetaDevice *device,
|
||||
MetaDevice *other_device);
|
||||
|
||||
#endif /* META_DEVICE_PRIVATE_H */
|
||||
270
src/core/device.c
Normal file
270
src/core/device.c
Normal file
@@ -0,0 +1,270 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/* Input device abstraction */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011 Carlos Garnacho
|
||||
*
|
||||
* 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 "device-private.h"
|
||||
|
||||
G_DEFINE_ABSTRACT_TYPE (MetaDevice, meta_device, G_TYPE_OBJECT)
|
||||
|
||||
enum {
|
||||
PROP_0,
|
||||
PROP_DEVICE_ID,
|
||||
PROP_DISPLAY,
|
||||
PROP_PAIRED_DEVICE
|
||||
};
|
||||
|
||||
typedef struct MetaDevicePrivate MetaDevicePrivate;
|
||||
|
||||
struct MetaDevicePrivate
|
||||
{
|
||||
MetaDisplay *display;
|
||||
MetaDevice *paired_device;
|
||||
gint device_id;
|
||||
};
|
||||
|
||||
static void
|
||||
meta_device_get_property (GObject *object,
|
||||
guint param_id,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
switch (param_id)
|
||||
{
|
||||
case PROP_DEVICE_ID:
|
||||
g_value_set_int (value,
|
||||
meta_device_get_id (META_DEVICE (object)));
|
||||
break;
|
||||
case PROP_DISPLAY:
|
||||
g_value_set_object (value,
|
||||
meta_device_get_display (META_DEVICE (object)));
|
||||
break;
|
||||
case PROP_PAIRED_DEVICE:
|
||||
g_value_set_object (value,
|
||||
meta_device_get_paired_device (META_DEVICE (object)));
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_set_property (GObject *object,
|
||||
guint param_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
MetaDevicePrivate *priv = META_DEVICE (object)->priv;
|
||||
|
||||
switch (param_id)
|
||||
{
|
||||
case PROP_DEVICE_ID:
|
||||
priv->device_id = g_value_get_int (value);
|
||||
break;
|
||||
case PROP_DISPLAY:
|
||||
priv->display = g_value_get_object (value);
|
||||
break;
|
||||
case PROP_PAIRED_DEVICE:
|
||||
meta_device_pair_devices (META_DEVICE (object),
|
||||
g_value_get_object (value));
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_class_init (MetaDeviceClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
object_class->get_property = meta_device_get_property;
|
||||
object_class->set_property = meta_device_set_property;
|
||||
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_DEVICE_ID,
|
||||
g_param_spec_int ("device-id",
|
||||
"Device ID",
|
||||
"Device ID",
|
||||
2, G_MAXINT, 2,
|
||||
G_PARAM_READWRITE |
|
||||
G_PARAM_CONSTRUCT_ONLY));
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_DISPLAY,
|
||||
g_param_spec_object ("display",
|
||||
"Display",
|
||||
"Display",
|
||||
META_TYPE_DISPLAY,
|
||||
G_PARAM_READWRITE |
|
||||
G_PARAM_CONSTRUCT_ONLY));
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_PAIRED_DEVICE,
|
||||
g_param_spec_object ("paired-device",
|
||||
"Paired device",
|
||||
"Paired device",
|
||||
META_TYPE_DEVICE,
|
||||
G_PARAM_READWRITE));
|
||||
|
||||
g_type_class_add_private (klass, sizeof (MetaDevicePrivate));
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_init (MetaDevice *device)
|
||||
{
|
||||
device->priv = G_TYPE_INSTANCE_GET_PRIVATE (device,
|
||||
META_TYPE_DEVICE,
|
||||
MetaDevicePrivate);
|
||||
}
|
||||
|
||||
int
|
||||
meta_device_get_id (MetaDevice *device)
|
||||
{
|
||||
MetaDevicePrivate *priv;
|
||||
|
||||
g_return_val_if_fail (META_IS_DEVICE (device), 0);
|
||||
|
||||
priv = device->priv;
|
||||
return priv->device_id;
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_device_get_display:
|
||||
* @device: a #MetaDevice
|
||||
*
|
||||
* Returns the #MetaDisplay to which the device belongs
|
||||
*
|
||||
* Returns: (transfer none): the #MetaDisplay to which the device belongs
|
||||
**/
|
||||
MetaDisplay *
|
||||
meta_device_get_display (MetaDevice *device)
|
||||
{
|
||||
MetaDevicePrivate *priv;
|
||||
|
||||
g_return_val_if_fail (META_IS_DEVICE (device), NULL);
|
||||
|
||||
priv = device->priv;
|
||||
return priv->display;
|
||||
}
|
||||
|
||||
void
|
||||
meta_device_allow_events (MetaDevice *device,
|
||||
int mode,
|
||||
Time time)
|
||||
{
|
||||
MetaDeviceClass *klass;
|
||||
|
||||
g_return_if_fail (META_IS_DEVICE (device));
|
||||
|
||||
klass = META_DEVICE_GET_CLASS (device);
|
||||
|
||||
if (klass->allow_events)
|
||||
(klass->allow_events) (device, mode, time);
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_device_grab (MetaDevice *device,
|
||||
Window xwindow,
|
||||
guint evmask,
|
||||
MetaCursor cursor,
|
||||
gboolean owner_events,
|
||||
gboolean sync,
|
||||
Time time)
|
||||
{
|
||||
MetaDeviceClass *klass;
|
||||
|
||||
g_return_val_if_fail (META_IS_DEVICE (device), FALSE);
|
||||
g_return_val_if_fail (xwindow != None, FALSE);
|
||||
|
||||
klass = META_DEVICE_GET_CLASS (device);
|
||||
|
||||
if (!klass->grab)
|
||||
return FALSE;
|
||||
|
||||
return (klass->grab) (device, xwindow, evmask, cursor,
|
||||
owner_events, sync, time);
|
||||
}
|
||||
|
||||
void
|
||||
meta_device_ungrab (MetaDevice *device,
|
||||
Time time)
|
||||
{
|
||||
MetaDeviceClass *klass;
|
||||
|
||||
g_return_if_fail (META_IS_DEVICE (device));
|
||||
|
||||
klass = META_DEVICE_GET_CLASS (device);
|
||||
|
||||
if (klass->ungrab)
|
||||
(klass->ungrab) (device, time);
|
||||
}
|
||||
|
||||
void
|
||||
meta_device_pair_devices (MetaDevice *device,
|
||||
MetaDevice *other_device)
|
||||
{
|
||||
MetaDevicePrivate *priv1, *priv2;
|
||||
|
||||
g_return_if_fail (META_IS_DEVICE (device));
|
||||
g_return_if_fail (META_IS_DEVICE (other_device));
|
||||
|
||||
priv1 = device->priv;
|
||||
priv2 = other_device->priv;
|
||||
|
||||
/* Consider safe multiple calls
|
||||
* on already paired devices
|
||||
*/
|
||||
if (priv1->paired_device != NULL &&
|
||||
priv2->paired_device != NULL &&
|
||||
priv1->paired_device == other_device &&
|
||||
priv2->paired_device == device)
|
||||
return;
|
||||
|
||||
g_return_if_fail (priv1->paired_device == NULL);
|
||||
g_return_if_fail (priv2->paired_device == NULL);
|
||||
|
||||
priv1->paired_device = g_object_ref (other_device);
|
||||
priv2->paired_device = g_object_ref (device);
|
||||
|
||||
g_object_notify (G_OBJECT (device), "paired-device");
|
||||
g_object_notify (G_OBJECT (other_device), "paired-device");
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_device_get_paired_device:
|
||||
* @device: a #MetaDevice
|
||||
*
|
||||
* Returns the paired device. Devices come in keyboard/pointer pairs.
|
||||
*
|
||||
* Returns: (transfer none): The paired device.
|
||||
**/
|
||||
MetaDevice *
|
||||
meta_device_get_paired_device (MetaDevice *device)
|
||||
{
|
||||
MetaDevicePrivate *priv;
|
||||
|
||||
g_return_val_if_fail (META_IS_DEVICE (device), NULL);
|
||||
|
||||
priv = device->priv;
|
||||
return priv->paired_device;
|
||||
}
|
||||
256
src/core/devices-core.c
Normal file
256
src/core/devices-core.c
Normal file
@@ -0,0 +1,256 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/* Core input devices implementation */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011 Carlos Garnacho
|
||||
*
|
||||
* 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 "screen-private.h"
|
||||
#include "devices-core.h"
|
||||
#include "device-map-private.h"
|
||||
|
||||
/* Common functions */
|
||||
static void
|
||||
meta_device_core_common_allow_events (MetaDevice *device,
|
||||
int mode,
|
||||
Time time)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_device_get_display (device);
|
||||
XAllowEvents (display->xdisplay, mode, time);
|
||||
}
|
||||
|
||||
/* Core pointer */
|
||||
|
||||
G_DEFINE_TYPE (MetaDevicePointerCore,
|
||||
meta_device_pointer_core,
|
||||
META_TYPE_DEVICE_POINTER)
|
||||
|
||||
static gboolean
|
||||
meta_device_pointer_core_grab (MetaDevice *device,
|
||||
Window xwindow,
|
||||
guint evmask,
|
||||
MetaCursor cursor,
|
||||
gboolean owner_events,
|
||||
gboolean sync,
|
||||
Time time)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
Cursor xcursor;
|
||||
int retval;
|
||||
|
||||
display = meta_device_get_display (device);
|
||||
xcursor = meta_display_create_x_cursor (display, cursor);
|
||||
|
||||
retval = XGrabPointer (display->xdisplay,
|
||||
xwindow, owner_events,
|
||||
evmask,
|
||||
(sync) ? GrabModeSync : GrabModeAsync,
|
||||
(sync) ? GrabModeSync : GrabModeAsync,
|
||||
None, xcursor, time);
|
||||
|
||||
if (xcursor != None)
|
||||
XFreeCursor (display->xdisplay, xcursor);
|
||||
|
||||
return (retval == Success);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_pointer_core_ungrab (MetaDevice *device,
|
||||
Time time)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_device_get_display (device);
|
||||
XUngrabPointer (display->xdisplay, time);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_pointer_core_warp (MetaDevicePointer *pointer,
|
||||
MetaScreen *screen,
|
||||
gint x,
|
||||
gint y)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_device_get_display (META_DEVICE (pointer));
|
||||
XWarpPointer (display->xdisplay,
|
||||
None, screen->xroot,
|
||||
0, 0, 0, 0, x, y);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_pointer_core_set_window_cursor (MetaDevicePointer *pointer,
|
||||
Window xwindow,
|
||||
MetaCursor cursor)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
Cursor xcursor;
|
||||
|
||||
display = meta_device_get_display (META_DEVICE (pointer));
|
||||
xcursor = meta_display_create_x_cursor (display, cursor);
|
||||
|
||||
XDefineCursor (display->xdisplay, xwindow, xcursor);
|
||||
|
||||
if (xcursor != None)
|
||||
XFreeCursor (display->xdisplay, xcursor);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
meta_device_pointer_core_query_position (MetaDevicePointer *pointer,
|
||||
Window xwindow,
|
||||
Window *root,
|
||||
Window *child,
|
||||
gint *root_x,
|
||||
gint *root_y,
|
||||
gint *x,
|
||||
gint *y,
|
||||
guint *mask)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_device_get_display (META_DEVICE (pointer));
|
||||
return XQueryPointer (display->xdisplay, xwindow,
|
||||
root, child, root_x, root_y,
|
||||
x, y, mask);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_pointer_core_class_init (MetaDevicePointerCoreClass *klass)
|
||||
{
|
||||
MetaDevicePointerClass *pointer_class = META_DEVICE_POINTER_CLASS (klass);
|
||||
MetaDeviceClass *device_class = META_DEVICE_CLASS (klass);
|
||||
|
||||
device_class->allow_events = meta_device_core_common_allow_events;
|
||||
device_class->grab = meta_device_pointer_core_grab;
|
||||
device_class->ungrab = meta_device_pointer_core_ungrab;
|
||||
|
||||
pointer_class->warp = meta_device_pointer_core_warp;
|
||||
pointer_class->set_window_cursor = meta_device_pointer_core_set_window_cursor;
|
||||
pointer_class->query_position = meta_device_pointer_core_query_position;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_pointer_core_init (MetaDevicePointerCore *pointer)
|
||||
{
|
||||
}
|
||||
|
||||
MetaDevice *
|
||||
meta_device_pointer_core_new (MetaDisplay *display)
|
||||
{
|
||||
return g_object_new (META_TYPE_DEVICE_POINTER_CORE,
|
||||
"device-id", META_CORE_POINTER_ID,
|
||||
"display", display,
|
||||
NULL);
|
||||
}
|
||||
|
||||
|
||||
/* Core Keyboard */
|
||||
|
||||
G_DEFINE_TYPE (MetaDeviceKeyboardCore,
|
||||
meta_device_keyboard_core,
|
||||
META_TYPE_DEVICE_KEYBOARD)
|
||||
|
||||
static gboolean
|
||||
meta_device_keyboard_core_grab (MetaDevice *device,
|
||||
Window xwindow,
|
||||
guint evmask,
|
||||
MetaCursor cursor,
|
||||
gboolean owner_events,
|
||||
gboolean sync,
|
||||
Time time)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
gint retval;
|
||||
|
||||
display = meta_device_get_display (device);
|
||||
retval = XGrabKeyboard (display->xdisplay, xwindow, owner_events,
|
||||
(sync) ? GrabModeSync : GrabModeAsync,
|
||||
(sync) ? GrabModeSync : GrabModeAsync,
|
||||
time);
|
||||
|
||||
return (retval == Success);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_keyboard_core_ungrab (MetaDevice *device,
|
||||
Time time)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_device_get_display (device);
|
||||
XUngrabKeyboard (display->xdisplay, time);
|
||||
}
|
||||
|
||||
static Window
|
||||
meta_device_keyboard_core_get_focus_window (MetaDeviceKeyboard *keyboard)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
Window xwindow;
|
||||
int unused;
|
||||
|
||||
display = meta_device_get_display (META_DEVICE (keyboard));
|
||||
XGetInputFocus (display->xdisplay, &xwindow, &unused);
|
||||
|
||||
return xwindow;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_keyboard_core_set_focus_window (MetaDeviceKeyboard *keyboard,
|
||||
Window xwindow,
|
||||
Time timestamp)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_device_get_display (META_DEVICE (keyboard));
|
||||
XSetInputFocus (display->xdisplay,
|
||||
xwindow,
|
||||
RevertToPointerRoot,
|
||||
timestamp);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_keyboard_core_class_init (MetaDeviceKeyboardCoreClass *klass)
|
||||
{
|
||||
MetaDeviceKeyboardClass *keyboard_class = META_DEVICE_KEYBOARD_CLASS (klass);
|
||||
MetaDeviceClass *device_class = META_DEVICE_CLASS (klass);
|
||||
|
||||
keyboard_class->get_focus_window = meta_device_keyboard_core_get_focus_window;
|
||||
keyboard_class->set_focus_window = meta_device_keyboard_core_set_focus_window;
|
||||
|
||||
device_class->allow_events = meta_device_core_common_allow_events;
|
||||
device_class->grab = meta_device_keyboard_core_grab;
|
||||
device_class->ungrab = meta_device_keyboard_core_ungrab;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_keyboard_core_init (MetaDeviceKeyboardCore *keyboard)
|
||||
{
|
||||
}
|
||||
|
||||
MetaDevice *
|
||||
meta_device_keyboard_core_new (MetaDisplay *display)
|
||||
{
|
||||
return g_object_new (META_TYPE_DEVICE_KEYBOARD_CORE,
|
||||
"device-id", META_CORE_KEYBOARD_ID,
|
||||
"display", display,
|
||||
NULL);
|
||||
}
|
||||
85
src/core/devices-core.h
Normal file
85
src/core/devices-core.h
Normal file
@@ -0,0 +1,85 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/**
|
||||
* \file devices-core.h Core input devices implementation
|
||||
*
|
||||
* Input devices.
|
||||
* This file contains the core X protocol implementation of input devices.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011 Carlos Garnacho
|
||||
*
|
||||
* 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_DEVICES_CORE_H
|
||||
#define META_DEVICES_CORE_H
|
||||
|
||||
#include "device-pointer.h"
|
||||
#include "device-keyboard.h"
|
||||
|
||||
/* Pointer */
|
||||
#define META_TYPE_DEVICE_POINTER_CORE (meta_device_pointer_core_get_type ())
|
||||
#define META_DEVICE_POINTER_CORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_DEVICE_POINTER_CORE, MetaDevicePointerCore))
|
||||
#define META_DEVICE_POINTER_CORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_DEVICE_POINTER_CORE, MetaDevicePointerCoreClass))
|
||||
#define META_IS_DEVICE_POINTER_CORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_DEVICE_POINTER_CORE))
|
||||
#define META_IS_DEVICE_POINTER_CORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_DEVICE_POINTER_CORE))
|
||||
#define META_DEVICE_POINTER_CORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_DEVICE_POINTER_CORE, MetaDevicePointerCoreClass))
|
||||
|
||||
typedef struct _MetaDevicePointerCore MetaDevicePointerCore;
|
||||
typedef struct _MetaDevicePointerCoreClass MetaDevicePointerCoreClass;
|
||||
|
||||
struct _MetaDevicePointerCore
|
||||
{
|
||||
MetaDevicePointer parent_instance;
|
||||
};
|
||||
|
||||
struct _MetaDevicePointerCoreClass
|
||||
{
|
||||
MetaDevicePointerClass parent_class;
|
||||
};
|
||||
|
||||
GType meta_device_pointer_core_get_type (void) G_GNUC_CONST;
|
||||
|
||||
MetaDevice *meta_device_pointer_core_new (MetaDisplay *display);
|
||||
|
||||
/* Keyboard */
|
||||
#define META_TYPE_DEVICE_KEYBOARD_CORE (meta_device_keyboard_core_get_type ())
|
||||
#define META_DEVICE_KEYBOARD_CORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_DEVICE_KEYBOARD_CORE, MetaDeviceKeyboardCore))
|
||||
#define META_DEVICE_KEYBOARD_CORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_DEVICE_KEYBOARD_CORE, MetaDeviceKeyboardCoreClass))
|
||||
#define META_IS_DEVICE_KEYBOARD_CORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_DEVICE_KEYBOARD_CORE))
|
||||
#define META_IS_DEVICE_KEYBOARD_CORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_DEVICE_KEYBOARD_CORE))
|
||||
#define META_DEVICE_KEYBOARD_CORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_DEVICE_KEYBOARD_CORE, MetaDeviceKeyboardCoreClass))
|
||||
|
||||
typedef struct _MetaDeviceKeyboardCore MetaDeviceKeyboardCore;
|
||||
typedef struct _MetaDeviceKeyboardCoreClass MetaDeviceKeyboardCoreClass;
|
||||
|
||||
struct _MetaDeviceKeyboardCore
|
||||
{
|
||||
MetaDeviceKeyboard parent_instance;
|
||||
};
|
||||
|
||||
struct _MetaDeviceKeyboardCoreClass
|
||||
{
|
||||
MetaDeviceKeyboardClass parent_class;
|
||||
};
|
||||
|
||||
GType meta_device_keyboard_core_get_type (void) G_GNUC_CONST;
|
||||
|
||||
MetaDevice *meta_device_keyboard_core_new (MetaDisplay *display);
|
||||
|
||||
#endif /* META_DEVICES_CORE_H */
|
||||
353
src/core/devices-xi2.c
Normal file
353
src/core/devices-xi2.c
Normal file
@@ -0,0 +1,353 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/* XInput2 devices implementation */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011 Carlos Garnacho
|
||||
*
|
||||
* 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 "devices-xi2.h"
|
||||
#include "display-private.h"
|
||||
#include "screen-private.h"
|
||||
#include "input-events.h"
|
||||
#include <X11/extensions/XInput2.h>
|
||||
|
||||
/* Common functions */
|
||||
static void
|
||||
meta_device_xi2_common_allow_events (MetaDevice *device,
|
||||
int mode,
|
||||
Time time)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
gint device_id;
|
||||
|
||||
display = meta_device_get_display (device);
|
||||
device_id = meta_device_get_id (device);
|
||||
|
||||
switch (mode)
|
||||
{
|
||||
case AsyncPointer:
|
||||
case AsyncKeyboard:
|
||||
mode = XIAsyncDevice;
|
||||
break;
|
||||
case SyncPointer:
|
||||
case SyncKeyboard:
|
||||
mode = XISyncDevice;
|
||||
break;
|
||||
case ReplayPointer:
|
||||
case ReplayKeyboard:
|
||||
mode = XIReplayDevice;
|
||||
break;
|
||||
case AsyncBoth:
|
||||
mode = XIAsyncPair;
|
||||
break;
|
||||
case SyncBoth:
|
||||
mode = XISyncPair;
|
||||
break;
|
||||
}
|
||||
|
||||
XIAllowEvents (display->xdisplay, device_id, mode, time);
|
||||
}
|
||||
|
||||
guchar *
|
||||
meta_device_xi2_translate_event_mask (guint evmask,
|
||||
gint *len)
|
||||
{
|
||||
guchar *mask;
|
||||
|
||||
*len = XIMaskLen (XI_LASTEVENT);
|
||||
mask = g_new0 (guchar, *len);
|
||||
|
||||
if (evmask & KeyPressMask)
|
||||
XISetMask (mask, XI_KeyPress);
|
||||
if (evmask & KeyReleaseMask)
|
||||
XISetMask (mask, XI_KeyRelease);
|
||||
if (evmask & ButtonPressMask)
|
||||
XISetMask (mask, XI_ButtonPress);
|
||||
if (evmask & ButtonReleaseMask)
|
||||
XISetMask (mask, XI_ButtonRelease);
|
||||
if (evmask & EnterWindowMask)
|
||||
XISetMask (mask, XI_Enter);
|
||||
if (evmask & LeaveWindowMask)
|
||||
XISetMask (mask, XI_Leave);
|
||||
|
||||
/* No motion hints in XI2 at the moment... */
|
||||
if (evmask & PointerMotionMask ||
|
||||
evmask & PointerMotionHintMask)
|
||||
XISetMask (mask, XI_Motion);
|
||||
|
||||
if (evmask & FocusChangeMask)
|
||||
{
|
||||
XISetMask (mask, XI_FocusIn);
|
||||
XISetMask (mask, XI_FocusOut);
|
||||
}
|
||||
|
||||
#ifdef HAVE_XTOUCH
|
||||
if (evmask & META_INPUT_TOUCH_EVENTS_MASK)
|
||||
{
|
||||
XISetMask (mask, XI_TouchBegin);
|
||||
XISetMask (mask, XI_TouchEnd);
|
||||
XISetMask (mask, XI_TouchUpdate);
|
||||
}
|
||||
#endif
|
||||
|
||||
return mask;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
meta_device_xi2_common_grab (MetaDevice *device,
|
||||
Window xwindow,
|
||||
guint evmask,
|
||||
MetaCursor cursor,
|
||||
gboolean owner_events,
|
||||
gboolean sync,
|
||||
Time time)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
XIEventMask mask;
|
||||
gint device_id, retval;
|
||||
Cursor xcursor;
|
||||
|
||||
display = meta_device_get_display (device);
|
||||
device_id = meta_device_get_id (device);
|
||||
xcursor = meta_display_create_x_cursor (display, cursor);
|
||||
|
||||
mask.deviceid = device_id;
|
||||
mask.mask = meta_device_xi2_translate_event_mask (evmask, &mask.mask_len);
|
||||
|
||||
retval = XIGrabDevice (display->xdisplay,
|
||||
device_id, xwindow,
|
||||
time, xcursor,
|
||||
(sync) ? GrabModeSync : GrabModeAsync,
|
||||
(sync) ? GrabModeSync : GrabModeAsync,
|
||||
owner_events, &mask);
|
||||
|
||||
if (xcursor != None)
|
||||
XFreeCursor (display->xdisplay, xcursor);
|
||||
|
||||
return (retval == Success);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_xi2_common_ungrab (MetaDevice *device,
|
||||
Time time)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
gint device_id;
|
||||
|
||||
display = meta_device_get_display (device);
|
||||
device_id = meta_device_get_id (device);
|
||||
|
||||
XIUngrabDevice (display->xdisplay, device_id, time);
|
||||
}
|
||||
|
||||
/* Pointer */
|
||||
|
||||
G_DEFINE_TYPE (MetaDevicePointerXI2,
|
||||
meta_device_pointer_xi2,
|
||||
META_TYPE_DEVICE_POINTER)
|
||||
|
||||
static void
|
||||
meta_device_pointer_xi2_warp (MetaDevicePointer *pointer,
|
||||
MetaScreen *screen,
|
||||
gint x,
|
||||
gint y)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
int device_id;
|
||||
|
||||
display = meta_device_get_display (META_DEVICE (pointer));
|
||||
device_id = meta_device_get_id (META_DEVICE (pointer));
|
||||
|
||||
XIWarpPointer (display->xdisplay,
|
||||
device_id,
|
||||
None, screen->xroot,
|
||||
0, 0, 0, 0, x, y);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_pointer_xi2_set_window_cursor (MetaDevicePointer *pointer,
|
||||
Window xwindow,
|
||||
MetaCursor cursor)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
Cursor xcursor;
|
||||
int device_id;
|
||||
|
||||
display = meta_device_get_display (META_DEVICE (pointer));
|
||||
device_id = meta_device_get_id (META_DEVICE (pointer));
|
||||
xcursor = meta_display_create_x_cursor (display, cursor);
|
||||
|
||||
if (xcursor != None)
|
||||
{
|
||||
XIDefineCursor (display->xdisplay, device_id, xwindow, xcursor);
|
||||
XFreeCursor (display->xdisplay, xcursor);
|
||||
}
|
||||
else
|
||||
XIUndefineCursor (display->xdisplay, device_id, xwindow);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
meta_device_pointer_xi2_query_position (MetaDevicePointer *pointer,
|
||||
Window xwindow,
|
||||
Window *root_ret,
|
||||
Window *child_ret,
|
||||
gint *root_x_ret,
|
||||
gint *root_y_ret,
|
||||
gint *x_ret,
|
||||
gint *y_ret,
|
||||
guint *mask_ret)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
XIModifierState mods;
|
||||
XIGroupState group_unused;
|
||||
XIButtonState buttons;
|
||||
gdouble root_x, root_y, x, y;
|
||||
int device_id;
|
||||
gboolean retval;
|
||||
|
||||
display = meta_device_get_display (META_DEVICE (pointer));
|
||||
device_id = meta_device_get_id (META_DEVICE (pointer));
|
||||
|
||||
retval = XIQueryPointer (display->xdisplay,
|
||||
device_id, xwindow,
|
||||
root_ret, child_ret,
|
||||
&root_x, &root_y, &x, &y,
|
||||
&buttons, &mods,
|
||||
&group_unused);
|
||||
if (mask_ret)
|
||||
{
|
||||
*mask_ret = mods.effective;
|
||||
|
||||
if (XIMaskIsSet (buttons.mask, 1))
|
||||
*mask_ret |= Button1Mask;
|
||||
else if (XIMaskIsSet (buttons.mask, 2))
|
||||
*mask_ret |= Button2Mask;
|
||||
else if (XIMaskIsSet (buttons.mask, 3))
|
||||
*mask_ret |= Button3Mask;
|
||||
}
|
||||
|
||||
if (root_x_ret)
|
||||
*root_x_ret = (int) root_x;
|
||||
|
||||
if (root_y_ret)
|
||||
*root_y_ret = (int) root_y;
|
||||
|
||||
if (x_ret)
|
||||
*x_ret = (int) x;
|
||||
|
||||
if (y_ret)
|
||||
*y_ret = (int) y;
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_pointer_xi2_class_init (MetaDevicePointerXI2Class *klass)
|
||||
{
|
||||
MetaDevicePointerClass *pointer_class = META_DEVICE_POINTER_CLASS (klass);
|
||||
MetaDeviceClass *device_class = META_DEVICE_CLASS (klass);
|
||||
|
||||
device_class->allow_events = meta_device_xi2_common_allow_events;
|
||||
device_class->grab = meta_device_xi2_common_grab;
|
||||
device_class->ungrab = meta_device_xi2_common_ungrab;
|
||||
|
||||
pointer_class->warp = meta_device_pointer_xi2_warp;
|
||||
pointer_class->set_window_cursor = meta_device_pointer_xi2_set_window_cursor;
|
||||
pointer_class->query_position = meta_device_pointer_xi2_query_position;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_pointer_xi2_init (MetaDevicePointerXI2 *pointer)
|
||||
{
|
||||
}
|
||||
|
||||
MetaDevice *
|
||||
meta_device_pointer_xi2_new (MetaDisplay *display,
|
||||
gint device_id)
|
||||
{
|
||||
return g_object_new (META_TYPE_DEVICE_POINTER_XI2,
|
||||
"device-id", device_id,
|
||||
"display", display,
|
||||
NULL);
|
||||
}
|
||||
|
||||
/* Keyboard */
|
||||
|
||||
G_DEFINE_TYPE (MetaDeviceKeyboardXI2,
|
||||
meta_device_keyboard_xi2,
|
||||
META_TYPE_DEVICE_KEYBOARD)
|
||||
|
||||
static Window
|
||||
meta_device_keyboard_xi2_get_focus_window (MetaDeviceKeyboard *keyboard)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
Window xwindow;
|
||||
|
||||
display = meta_device_get_display (META_DEVICE (keyboard));
|
||||
XIGetFocus (display->xdisplay,
|
||||
meta_device_get_id (META_DEVICE (keyboard)),
|
||||
&xwindow);
|
||||
|
||||
return xwindow;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_keyboard_xi2_set_focus_window (MetaDeviceKeyboard *keyboard,
|
||||
Window xwindow,
|
||||
Time timestamp)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_device_get_display (META_DEVICE (keyboard));
|
||||
|
||||
XISetFocus (display->xdisplay,
|
||||
meta_device_get_id (META_DEVICE (keyboard)),
|
||||
xwindow,
|
||||
timestamp);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_keyboard_xi2_class_init (MetaDeviceKeyboardXI2Class *klass)
|
||||
{
|
||||
MetaDeviceKeyboardClass *keyboard_class = META_DEVICE_KEYBOARD_CLASS (klass);
|
||||
MetaDeviceClass *device_class = META_DEVICE_CLASS (klass);
|
||||
|
||||
keyboard_class->get_focus_window = meta_device_keyboard_xi2_get_focus_window;
|
||||
keyboard_class->set_focus_window = meta_device_keyboard_xi2_set_focus_window;
|
||||
|
||||
device_class->allow_events = meta_device_xi2_common_allow_events;
|
||||
device_class->grab = meta_device_xi2_common_grab;
|
||||
device_class->ungrab = meta_device_xi2_common_ungrab;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_device_keyboard_xi2_init (MetaDeviceKeyboardXI2 *keyboard)
|
||||
{
|
||||
}
|
||||
|
||||
MetaDevice *
|
||||
meta_device_keyboard_xi2_new (MetaDisplay *display,
|
||||
gint device_id)
|
||||
{
|
||||
return g_object_new (META_TYPE_DEVICE_KEYBOARD_XI2,
|
||||
"device-id", device_id,
|
||||
"display", display,
|
||||
NULL);
|
||||
}
|
||||
92
src/core/devices-xi2.h
Normal file
92
src/core/devices-xi2.h
Normal file
@@ -0,0 +1,92 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/**
|
||||
* \file devices-xi2.h XInput2 input devices implementation
|
||||
*
|
||||
* Input devices.
|
||||
* This file contains the XInput2 implementation of input devices.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011 Carlos Garnacho
|
||||
*
|
||||
* 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_DEVICES_XI2_H
|
||||
#define META_DEVICES_XI2_H
|
||||
|
||||
#include "device-pointer.h"
|
||||
#include "device-keyboard.h"
|
||||
|
||||
/* Pointer */
|
||||
#define META_TYPE_DEVICE_POINTER_XI2 (meta_device_pointer_xi2_get_type ())
|
||||
#define META_DEVICE_POINTER_XI2(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_DEVICE_POINTER_XI2, MetaDevicePointerXI2))
|
||||
#define META_DEVICE_POINTER_XI2_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_DEVICE_POINTER_XI2, MetaDevicePointerXI2Class))
|
||||
#define META_IS_DEVICE_POINTER_XI2(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_DEVICE_POINTER_XI2))
|
||||
#define META_IS_DEVICE_POINTER_XI2_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_DEVICE_POINTER_XI2))
|
||||
#define META_DEVICE_POINTER_XI2_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_DEVICE_POINTER_XI2, MetaDevicePointerXI2Class))
|
||||
|
||||
typedef struct _MetaDevicePointerXI2 MetaDevicePointerXI2;
|
||||
typedef struct _MetaDevicePointerXI2Class MetaDevicePointerXI2Class;
|
||||
|
||||
struct _MetaDevicePointerXI2
|
||||
{
|
||||
MetaDevicePointer parent_instance;
|
||||
};
|
||||
|
||||
struct _MetaDevicePointerXI2Class
|
||||
{
|
||||
MetaDevicePointerClass parent_class;
|
||||
};
|
||||
|
||||
GType meta_device_pointer_xi2_get_type (void) G_GNUC_CONST;
|
||||
|
||||
MetaDevice *meta_device_pointer_xi2_new (MetaDisplay *display,
|
||||
gint device_id);
|
||||
|
||||
/* Keyboard */
|
||||
#define META_TYPE_DEVICE_KEYBOARD_XI2 (meta_device_keyboard_xi2_get_type ())
|
||||
#define META_DEVICE_KEYBOARD_XI2(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_DEVICE_KEYBOARD_XI2, MetaDeviceKeyboardXI2))
|
||||
#define META_DEVICE_KEYBOARD_XI2_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_DEVICE_KEYBOARD_XI2, MetaDeviceKeyboardXI2Class))
|
||||
#define META_IS_DEVICE_KEYBOARD_XI2(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_DEVICE_KEYBOARD_XI2))
|
||||
#define META_IS_DEVICE_KEYBOARD_XI2_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_DEVICE_KEYBOARD_XI2))
|
||||
#define META_DEVICE_KEYBOARD_XI2_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_DEVICE_KEYBOARD_XI2, MetaDeviceKeyboardXI2Class))
|
||||
|
||||
typedef struct _MetaDeviceKeyboardXI2 MetaDeviceKeyboardXI2;
|
||||
typedef struct _MetaDeviceKeyboardXI2Class MetaDeviceKeyboardXI2Class;
|
||||
|
||||
struct _MetaDeviceKeyboardXI2
|
||||
{
|
||||
MetaDeviceKeyboard parent_instance;
|
||||
};
|
||||
|
||||
struct _MetaDeviceKeyboardXI2Class
|
||||
{
|
||||
MetaDeviceKeyboardClass parent_class;
|
||||
};
|
||||
|
||||
GType meta_device_keyboard_xi2_get_type (void) G_GNUC_CONST;
|
||||
|
||||
MetaDevice *meta_device_keyboard_xi2_new (MetaDisplay *display,
|
||||
gint device_id);
|
||||
|
||||
/* Helper function for translating event masks */
|
||||
guchar * meta_device_xi2_translate_event_mask (guint evmask,
|
||||
gint *len);
|
||||
|
||||
|
||||
#endif /* META_DEVICES_XI2_H */
|
||||
@@ -38,6 +38,7 @@
|
||||
#include <meta/boxes.h>
|
||||
#include <meta/display.h>
|
||||
#include "keybindings-private.h"
|
||||
#include "device-map-private.h"
|
||||
#include <meta/prefs.h>
|
||||
|
||||
#ifdef HAVE_STARTUP_NOTIFICATION
|
||||
@@ -56,6 +57,10 @@ typedef struct _MetaWindowPropHooks MetaWindowPropHooks;
|
||||
|
||||
typedef struct MetaEdgeResistanceData MetaEdgeResistanceData;
|
||||
|
||||
typedef struct _MetaGrabInfo MetaGrabInfo;
|
||||
typedef struct _MetaFocusInfo MetaFocusInfo;
|
||||
typedef struct _MetaTouchInfo MetaTouchInfo;
|
||||
|
||||
typedef void (* MetaWindowPingFunc) (MetaDisplay *display,
|
||||
Window xwindow,
|
||||
guint32 timestamp,
|
||||
@@ -73,9 +78,11 @@ typedef enum {
|
||||
/* This is basically a bogus number, just has to be large enough
|
||||
* to handle the expected case of the alt+tab operation, where
|
||||
* we want to ignore serials from UnmapNotify on the tab popup,
|
||||
* and the LeaveNotify/EnterNotify from the pointer ungrab
|
||||
* and the LeaveNotify/EnterNotify from the pointer ungrab. It
|
||||
* also has to be big enough to hold ignored serials from the point
|
||||
* where we reshape the stage to the point where we get events back.
|
||||
*/
|
||||
#define N_IGNORED_SERIALS 4
|
||||
#define N_IGNORED_CROSSING_SERIALS 10
|
||||
|
||||
typedef enum {
|
||||
META_TILE_NONE,
|
||||
@@ -84,6 +91,78 @@ typedef enum {
|
||||
META_TILE_MAXIMIZED
|
||||
} MetaTileMode;
|
||||
|
||||
struct _MetaGrabInfo
|
||||
{
|
||||
MetaDevice *grab_pointer;
|
||||
MetaDevice *grab_keyboard;
|
||||
|
||||
MetaGrabOp grab_op;
|
||||
MetaScreen *grab_screen;
|
||||
MetaWindow *grab_window;
|
||||
Window grab_xwindow;
|
||||
int grab_button;
|
||||
int grab_anchor_root_x;
|
||||
int grab_anchor_root_y;
|
||||
MetaRectangle grab_anchor_window_pos;
|
||||
MetaTileMode grab_tile_mode;
|
||||
int grab_tile_monitor_number;
|
||||
int grab_latest_motion_x;
|
||||
int grab_latest_motion_y;
|
||||
gulong grab_mask;
|
||||
guint grab_have_pointer : 1;
|
||||
guint grab_have_keyboard : 1;
|
||||
guint grab_frame_action : 1;
|
||||
/* During a resize operation, the directions in which we've broken
|
||||
* out of the initial maximization state */
|
||||
guint grab_resize_unmaximize : 2; /* MetaMaximizeFlags */
|
||||
MetaRectangle grab_initial_window_pos;
|
||||
int grab_initial_x, grab_initial_y; /* These are only relevant for */
|
||||
gboolean grab_threshold_movement_reached; /* raise_on_click == FALSE. */
|
||||
MetaResizePopup *grab_resize_popup;
|
||||
GTimeVal grab_last_moveresize_time;
|
||||
guint32 grab_motion_notify_time;
|
||||
GList* grab_old_window_stacking;
|
||||
unsigned int grab_last_user_action_was_snap;
|
||||
|
||||
#ifdef HAVE_XSYNC
|
||||
/* alarm monitoring client's _NET_WM_SYNC_REQUEST_COUNTER */
|
||||
XSyncAlarm grab_sync_request_alarm;
|
||||
#endif
|
||||
int grab_resize_timeout_id;
|
||||
};
|
||||
|
||||
struct _MetaFocusInfo
|
||||
{
|
||||
/* This is the actual window from focus events,
|
||||
* not the one we last set
|
||||
*/
|
||||
MetaWindow *focus_window;
|
||||
|
||||
/* window we are expecting a FocusIn event for or the current focus
|
||||
* window if we are not expecting any FocusIn/FocusOut events; not
|
||||
* perfect because applications can call XSetInputFocus directly.
|
||||
* (It could also be messed up if a timestamp later than current
|
||||
* time is sent to meta_display_set_input_focus_window, though that
|
||||
* would be a programming error). See bug 154598 for more info.
|
||||
*/
|
||||
MetaWindow *expected_focus_window;
|
||||
|
||||
/* last timestamp passed to XSetInputFocus */
|
||||
guint32 last_focus_time;
|
||||
};
|
||||
|
||||
struct _MetaTouchInfo
|
||||
{
|
||||
gdouble root_x;
|
||||
gdouble root_y;
|
||||
|
||||
gdouble initial_root_x;
|
||||
gdouble initial_root_y;
|
||||
|
||||
guint notified : 1;
|
||||
guint use_for_hotspot : 1;
|
||||
};
|
||||
|
||||
struct _MetaDisplay
|
||||
{
|
||||
GObject parent_instance;
|
||||
@@ -102,22 +181,8 @@ struct _MetaDisplay
|
||||
#include <meta/atomnames.h>
|
||||
#undef item
|
||||
|
||||
/* This is the actual window from focus events,
|
||||
* not the one we last set
|
||||
*/
|
||||
MetaWindow *focus_window;
|
||||
|
||||
/* window we are expecting a FocusIn event for or the current focus
|
||||
* window if we are not expecting any FocusIn/FocusOut events; not
|
||||
* perfect because applications can call XSetInputFocus directly.
|
||||
* (It could also be messed up if a timestamp later than current
|
||||
* time is sent to meta_display_set_input_focus_window, though that
|
||||
* would be a programming error). See bug 154598 for more info.
|
||||
*/
|
||||
MetaWindow *expected_focus_window;
|
||||
|
||||
/* last timestamp passed to XSetInputFocus */
|
||||
guint32 last_focus_time;
|
||||
/* keyboard -> MetaFocusInfo hashtable */
|
||||
GHashTable *focus_info;
|
||||
|
||||
/* last user interaction time in any app */
|
||||
guint32 last_user_time;
|
||||
@@ -153,7 +218,7 @@ struct _MetaDisplay
|
||||
* correspond to an enter event we should
|
||||
* ignore
|
||||
*/
|
||||
unsigned long ignored_serials[N_IGNORED_SERIALS];
|
||||
unsigned long ignored_crossing_serials[N_IGNORED_CROSSING_SERIALS];
|
||||
Window ungrab_should_not_cause_focus_window;
|
||||
|
||||
guint32 current_time;
|
||||
@@ -177,34 +242,11 @@ struct _MetaDisplay
|
||||
/* Alt+click button grabs */
|
||||
unsigned int window_grab_modifiers;
|
||||
|
||||
/* current window operation */
|
||||
MetaGrabOp grab_op;
|
||||
MetaScreen *grab_screen;
|
||||
MetaWindow *grab_window;
|
||||
Window grab_xwindow;
|
||||
int grab_button;
|
||||
int grab_anchor_root_x;
|
||||
int grab_anchor_root_y;
|
||||
MetaRectangle grab_anchor_window_pos;
|
||||
MetaTileMode grab_tile_mode;
|
||||
int grab_latest_motion_x;
|
||||
int grab_latest_motion_y;
|
||||
gulong grab_mask;
|
||||
guint grab_have_pointer : 1;
|
||||
guint grab_have_keyboard : 1;
|
||||
guint grab_frame_action : 1;
|
||||
/* During a resize operation, the directions in which we've broken
|
||||
* out of the initial maximization state */
|
||||
guint grab_resize_unmaximize : 2; /* MetaMaximizeFlags */
|
||||
MetaRectangle grab_initial_window_pos;
|
||||
int grab_initial_x, grab_initial_y; /* These are only relevant for */
|
||||
gboolean grab_threshold_movement_reached; /* raise_on_click == FALSE. */
|
||||
MetaResizePopup *grab_resize_popup;
|
||||
GTimeVal grab_last_moveresize_time;
|
||||
guint32 grab_motion_notify_time;
|
||||
GList* grab_old_window_stacking;
|
||||
MetaEdgeResistanceData *grab_edge_resistance_data;
|
||||
unsigned int grab_last_user_action_was_snap;
|
||||
/* per-device current window operation */
|
||||
GHashTable *current_grabs;
|
||||
|
||||
/* per-screen edge resistance cache */
|
||||
GHashTable *edge_resistance_info;
|
||||
|
||||
/* we use property updates as sentinels for certain window focus events
|
||||
* to avoid some race conditions on EnterNotify events
|
||||
@@ -215,11 +257,6 @@ struct _MetaDisplay
|
||||
int xkb_base_event_type;
|
||||
guint32 last_bell_time;
|
||||
#endif
|
||||
#ifdef HAVE_XSYNC
|
||||
/* alarm monitoring client's _NET_WM_SYNC_REQUEST_COUNTER */
|
||||
XSyncAlarm grab_sync_request_alarm;
|
||||
#endif
|
||||
int grab_resize_timeout_id;
|
||||
|
||||
/* Keybindings stuff */
|
||||
MetaKeyBinding *key_bindings;
|
||||
@@ -266,6 +303,9 @@ struct _MetaDisplay
|
||||
/* Managed by compositor.c */
|
||||
MetaCompositor *compositor;
|
||||
|
||||
/* Managed by device-map.c */
|
||||
MetaDeviceMap *device_map;
|
||||
|
||||
int render_event_base;
|
||||
int render_error_base;
|
||||
|
||||
@@ -289,6 +329,15 @@ struct _MetaDisplay
|
||||
int shape_event_base;
|
||||
int shape_error_base;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_XINPUT2
|
||||
int xinput2_opcode;
|
||||
unsigned int have_xinput2 : 1;
|
||||
#ifdef HAVE_XTOUCH
|
||||
unsigned int have_xtouch : 1;
|
||||
#endif /* HAVE_XTOUCH */
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_XSYNC
|
||||
unsigned int have_xsync : 1;
|
||||
#define META_DISPLAY_HAS_XSYNC(display) ((display)->have_xsync)
|
||||
@@ -341,10 +390,6 @@ MetaScreen* meta_display_screen_for_xwindow (MetaDisplay *display,
|
||||
void meta_display_grab (MetaDisplay *display);
|
||||
void meta_display_ungrab (MetaDisplay *display);
|
||||
|
||||
void meta_display_unmanage_screen (MetaDisplay *display,
|
||||
MetaScreen *screen,
|
||||
guint32 timestamp);
|
||||
|
||||
void meta_display_unmanage_windows_for_screen (MetaDisplay *display,
|
||||
MetaScreen *screen,
|
||||
guint32 timestamp);
|
||||
@@ -378,18 +423,24 @@ Cursor meta_display_create_x_cursor (MetaDisplay *display,
|
||||
|
||||
void meta_display_set_grab_op_cursor (MetaDisplay *display,
|
||||
MetaScreen *screen,
|
||||
MetaDevice *device,
|
||||
MetaGrabOp op,
|
||||
gboolean change_pointer,
|
||||
Window grab_xwindow,
|
||||
guint32 timestamp);
|
||||
|
||||
void meta_display_check_threshold_reached (MetaDisplay *display,
|
||||
MetaDevice *device,
|
||||
int x,
|
||||
int y);
|
||||
void meta_display_grab_window_buttons (MetaDisplay *display,
|
||||
Window xwindow);
|
||||
void meta_display_ungrab_window_buttons (MetaDisplay *display,
|
||||
Window xwindow);
|
||||
void meta_display_grab_window_touches (MetaDisplay *display,
|
||||
MetaWindow *window);
|
||||
void meta_display_ungrab_window_touches (MetaDisplay *display,
|
||||
MetaWindow *window);
|
||||
|
||||
void meta_display_grab_focus_window_button (MetaDisplay *display,
|
||||
MetaWindow *window);
|
||||
@@ -397,7 +448,8 @@ void meta_display_ungrab_focus_window_button (MetaDisplay *display,
|
||||
MetaWindow *window);
|
||||
|
||||
/* Next function is defined in edge-resistance.c */
|
||||
void meta_display_cleanup_edges (MetaDisplay *display);
|
||||
void meta_display_cleanup_edges (MetaDisplay *display,
|
||||
MetaScreen *screen);
|
||||
|
||||
/* make a request to ensure the event serial has changed */
|
||||
void meta_display_increment_event_serial (MetaDisplay *display);
|
||||
@@ -445,4 +497,15 @@ void meta_display_overlay_key_activate (MetaDisplay *display);
|
||||
/* In above-tab-keycode.c */
|
||||
guint meta_display_get_above_tab_keycode (MetaDisplay *display);
|
||||
|
||||
MetaGrabInfo * meta_display_create_grab_info (MetaDisplay *display,
|
||||
MetaDevice *device);
|
||||
void meta_display_remove_grab_info (MetaDisplay *display,
|
||||
MetaDevice *device);
|
||||
|
||||
MetaGrabInfo * meta_display_get_grab_info (MetaDisplay *display,
|
||||
MetaDevice *device);
|
||||
MetaFocusInfo * meta_display_get_focus_info (MetaDisplay *display,
|
||||
MetaDevice *device);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
3098
src/core/display.c
3098
src/core/display.c
File diff suppressed because it is too large
Load Diff
@@ -30,12 +30,12 @@
|
||||
/* A simple macro for whether a given window's edges are potentially
|
||||
* relevant for resistance/snapping during a move/resize operation
|
||||
*/
|
||||
#define WINDOW_EDGES_RELEVANT(window, display) \
|
||||
meta_window_should_be_showing (window) && \
|
||||
window->screen == display->grab_screen && \
|
||||
window != display->grab_window && \
|
||||
window->type != META_WINDOW_DESKTOP && \
|
||||
window->type != META_WINDOW_MENU && \
|
||||
#define WINDOW_EDGES_RELEVANT(window, display, screen) \
|
||||
meta_window_should_be_showing (window) && \
|
||||
window->screen == screen && \
|
||||
window->cur_grab == NULL && \
|
||||
window->type != META_WINDOW_DESKTOP && \
|
||||
window->type != META_WINDOW_MENU && \
|
||||
window->type != META_WINDOW_SPLASHSCREEN
|
||||
|
||||
struct ResistanceDataForAnEdge
|
||||
@@ -44,8 +44,9 @@ struct ResistanceDataForAnEdge
|
||||
guint timeout_id;
|
||||
int timeout_edge_pos;
|
||||
gboolean timeout_over;
|
||||
GSourceFunc timeout_func;
|
||||
MetaEdgeResistanceFunc timeout_func;
|
||||
MetaWindow *window;
|
||||
MetaDevice *device;
|
||||
int keyboard_buildup;
|
||||
};
|
||||
typedef struct ResistanceDataForAnEdge ResistanceDataForAnEdge;
|
||||
@@ -63,7 +64,9 @@ struct MetaEdgeResistanceData
|
||||
ResistanceDataForAnEdge bottom_data;
|
||||
};
|
||||
|
||||
static void compute_resistance_and_snapping_edges (MetaDisplay *display);
|
||||
static MetaEdgeResistanceData *
|
||||
compute_resistance_and_snapping_edges (MetaDisplay *display,
|
||||
MetaScreen *screen);
|
||||
|
||||
/* !WARNING!: this function can return invalid indices (namely, either -1 or
|
||||
* edges->len); this is by design, but you need to remember this.
|
||||
@@ -318,20 +321,22 @@ edge_resistance_timeout (gpointer data)
|
||||
|
||||
resistance_data->timeout_over = TRUE;
|
||||
resistance_data->timeout_id = 0;
|
||||
(*resistance_data->timeout_func)(resistance_data->window);
|
||||
(*resistance_data->timeout_func) (resistance_data->window,
|
||||
resistance_data->device);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static int
|
||||
apply_edge_resistance (MetaWindow *window,
|
||||
MetaDevice *device,
|
||||
int old_pos,
|
||||
int new_pos,
|
||||
const MetaRectangle *old_rect,
|
||||
const MetaRectangle *new_rect,
|
||||
GArray *edges,
|
||||
ResistanceDataForAnEdge *resistance_data,
|
||||
GSourceFunc timeout_func,
|
||||
MetaEdgeResistanceFunc timeout_func,
|
||||
gboolean xdir,
|
||||
gboolean keyboard_op)
|
||||
{
|
||||
@@ -445,6 +450,7 @@ apply_edge_resistance (MetaWindow *window,
|
||||
resistance_data->timeout_over = FALSE;
|
||||
resistance_data->timeout_func = timeout_func;
|
||||
resistance_data->window = window;
|
||||
resistance_data->device = device;
|
||||
}
|
||||
if (!resistance_data->timeout_over &&
|
||||
timeout_length_ms != 0)
|
||||
@@ -533,29 +539,28 @@ apply_edge_snapping (int old_pos,
|
||||
* a proposed new position (ignoring edge resistance/snapping), and then
|
||||
* applies edge resistance to EACH edge (separately) updating new_outer.
|
||||
* It returns true if new_outer is modified, false otherwise.
|
||||
*
|
||||
* display->grab_edge_resistance_data MUST already be setup or calling this
|
||||
* function will cause a crash.
|
||||
*/
|
||||
static gboolean
|
||||
apply_edge_resistance_to_each_side (MetaDisplay *display,
|
||||
MetaWindow *window,
|
||||
const MetaRectangle *old_outer,
|
||||
MetaRectangle *new_outer,
|
||||
GSourceFunc timeout_func,
|
||||
gboolean auto_snap,
|
||||
gboolean keyboard_op,
|
||||
gboolean is_resize)
|
||||
apply_edge_resistance_to_each_side (MetaDisplay *display,
|
||||
MetaWindow *window,
|
||||
MetaDevice *device,
|
||||
const MetaRectangle *old_outer,
|
||||
MetaRectangle *new_outer,
|
||||
MetaEdgeResistanceFunc timeout_func,
|
||||
gboolean auto_snap,
|
||||
gboolean keyboard_op,
|
||||
gboolean is_resize)
|
||||
{
|
||||
MetaEdgeResistanceData *edge_data;
|
||||
MetaRectangle modified_rect;
|
||||
gboolean modified;
|
||||
int new_left, new_right, new_top, new_bottom;
|
||||
|
||||
if (display->grab_edge_resistance_data == NULL)
|
||||
compute_resistance_and_snapping_edges (display);
|
||||
edge_data = g_hash_table_lookup (display->edge_resistance_info,
|
||||
window->screen);
|
||||
|
||||
edge_data = display->grab_edge_resistance_data;
|
||||
if (!edge_data)
|
||||
edge_data = compute_resistance_and_snapping_edges (display, window->screen);
|
||||
|
||||
if (auto_snap)
|
||||
{
|
||||
@@ -601,7 +606,7 @@ apply_edge_resistance_to_each_side (MetaDisplay *display,
|
||||
if (!is_resize || window->size_hints.width_inc == 1)
|
||||
{
|
||||
/* Now, apply the normal horizontal edge resistance */
|
||||
new_left = apply_edge_resistance (window,
|
||||
new_left = apply_edge_resistance (window, device,
|
||||
BOX_LEFT (*old_outer),
|
||||
BOX_LEFT (*new_outer),
|
||||
old_outer,
|
||||
@@ -611,7 +616,7 @@ apply_edge_resistance_to_each_side (MetaDisplay *display,
|
||||
timeout_func,
|
||||
TRUE,
|
||||
keyboard_op);
|
||||
new_right = apply_edge_resistance (window,
|
||||
new_right = apply_edge_resistance (window, device,
|
||||
BOX_RIGHT (*old_outer),
|
||||
BOX_RIGHT (*new_outer),
|
||||
old_outer,
|
||||
@@ -630,7 +635,7 @@ apply_edge_resistance_to_each_side (MetaDisplay *display,
|
||||
/* Same for vertical resizes... */
|
||||
if (!is_resize || window->size_hints.height_inc == 1)
|
||||
{
|
||||
new_top = apply_edge_resistance (window,
|
||||
new_top = apply_edge_resistance (window, device,
|
||||
BOX_TOP (*old_outer),
|
||||
BOX_TOP (*new_outer),
|
||||
old_outer,
|
||||
@@ -640,7 +645,7 @@ apply_edge_resistance_to_each_side (MetaDisplay *display,
|
||||
timeout_func,
|
||||
FALSE,
|
||||
keyboard_op);
|
||||
new_bottom = apply_edge_resistance (window,
|
||||
new_bottom = apply_edge_resistance (window, device,
|
||||
BOX_BOTTOM (*old_outer),
|
||||
BOX_BOTTOM (*new_outer),
|
||||
old_outer,
|
||||
@@ -669,15 +674,20 @@ apply_edge_resistance_to_each_side (MetaDisplay *display,
|
||||
}
|
||||
|
||||
void
|
||||
meta_display_cleanup_edges (MetaDisplay *display)
|
||||
meta_display_cleanup_edges (MetaDisplay *display,
|
||||
MetaScreen *screen)
|
||||
{
|
||||
guint i,j;
|
||||
MetaEdgeResistanceData *edge_data = display->grab_edge_resistance_data;
|
||||
MetaEdgeResistanceData *edge_data;
|
||||
GHashTable *edges_to_be_freed;
|
||||
|
||||
edge_data = g_hash_table_lookup (display->edge_resistance_info, screen);
|
||||
|
||||
if (edge_data == NULL) /* Not currently cached */
|
||||
return;
|
||||
|
||||
g_hash_table_steal (display->edge_resistance_info, screen);
|
||||
|
||||
/* We first need to clean out any window edges */
|
||||
edges_to_be_freed = g_hash_table_new_full (g_direct_hash, g_direct_equal,
|
||||
g_free, NULL);
|
||||
@@ -750,8 +760,7 @@ meta_display_cleanup_edges (MetaDisplay *display)
|
||||
edge_data->bottom_data.timeout_id != 0)
|
||||
g_source_remove (edge_data->bottom_data.timeout_id);
|
||||
|
||||
g_free (display->grab_edge_resistance_data);
|
||||
display->grab_edge_resistance_data = NULL;
|
||||
g_free (edge_data);
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -763,8 +772,9 @@ stupid_sort_requiring_extra_pointer_dereference (gconstpointer a,
|
||||
return meta_rectangle_edge_cmp_ignore_type (*a_edge, *b_edge);
|
||||
}
|
||||
|
||||
static void
|
||||
static MetaEdgeResistanceData *
|
||||
cache_edges (MetaDisplay *display,
|
||||
MetaScreen *screen,
|
||||
GList *window_edges,
|
||||
GList *monitor_edges,
|
||||
GList *screen_edges)
|
||||
@@ -848,9 +858,8 @@ cache_edges (MetaDisplay *display,
|
||||
/*
|
||||
* 2nd: Allocate the edges
|
||||
*/
|
||||
g_assert (display->grab_edge_resistance_data == NULL);
|
||||
display->grab_edge_resistance_data = g_new0 (MetaEdgeResistanceData, 1);
|
||||
edge_data = display->grab_edge_resistance_data;
|
||||
edge_data = g_new0 (MetaEdgeResistanceData, 1);
|
||||
|
||||
edge_data->left_edges = g_array_sized_new (FALSE,
|
||||
FALSE,
|
||||
sizeof(MetaEdge*),
|
||||
@@ -917,21 +926,21 @@ cache_edges (MetaDisplay *display,
|
||||
* avoided this sort by sticking them into the array with some simple
|
||||
* merging of the lists).
|
||||
*/
|
||||
g_array_sort (display->grab_edge_resistance_data->left_edges,
|
||||
g_array_sort (edge_data->left_edges,
|
||||
stupid_sort_requiring_extra_pointer_dereference);
|
||||
g_array_sort (display->grab_edge_resistance_data->right_edges,
|
||||
g_array_sort (edge_data->right_edges,
|
||||
stupid_sort_requiring_extra_pointer_dereference);
|
||||
g_array_sort (display->grab_edge_resistance_data->top_edges,
|
||||
g_array_sort (edge_data->top_edges,
|
||||
stupid_sort_requiring_extra_pointer_dereference);
|
||||
g_array_sort (display->grab_edge_resistance_data->bottom_edges,
|
||||
g_array_sort (edge_data->bottom_edges,
|
||||
stupid_sort_requiring_extra_pointer_dereference);
|
||||
|
||||
return edge_data;
|
||||
}
|
||||
|
||||
static void
|
||||
initialize_grab_edge_resistance_data (MetaDisplay *display)
|
||||
initialize_grab_edge_resistance_data (MetaEdgeResistanceData *edge_data)
|
||||
{
|
||||
MetaEdgeResistanceData *edge_data = display->grab_edge_resistance_data;
|
||||
|
||||
edge_data->left_data.timeout_setup = FALSE;
|
||||
edge_data->right_data.timeout_setup = FALSE;
|
||||
edge_data->top_data.timeout_setup = FALSE;
|
||||
@@ -943,8 +952,9 @@ initialize_grab_edge_resistance_data (MetaDisplay *display)
|
||||
edge_data->bottom_data.keyboard_buildup = 0;
|
||||
}
|
||||
|
||||
static void
|
||||
compute_resistance_and_snapping_edges (MetaDisplay *display)
|
||||
static MetaEdgeResistanceData *
|
||||
compute_resistance_and_snapping_edges (MetaDisplay *display,
|
||||
MetaScreen *screen)
|
||||
{
|
||||
GList *stacked_windows;
|
||||
GList *cur_window_iter;
|
||||
@@ -956,18 +966,17 @@ compute_resistance_and_snapping_edges (MetaDisplay *display)
|
||||
* in the layer that we are working on
|
||||
*/
|
||||
GSList *rem_windows, *rem_win_stacking;
|
||||
MetaEdgeResistanceData *edge_data;
|
||||
|
||||
g_assert (display->grab_window != NULL);
|
||||
meta_topic (META_DEBUG_WINDOW_OPS,
|
||||
"Computing edges to resist-movement or snap-to for %s.\n",
|
||||
display->grab_window->desc);
|
||||
"Computing edges to resist-movement or snap-to for screen %s.\n",
|
||||
screen->screen_name);
|
||||
|
||||
/*
|
||||
* 1st: Get the list of relevant windows, from bottom to top
|
||||
*/
|
||||
stacked_windows =
|
||||
meta_stack_list_windows (display->grab_screen->stack,
|
||||
display->grab_screen->active_workspace);
|
||||
meta_stack_list_windows (screen->stack, screen->active_workspace);
|
||||
|
||||
/*
|
||||
* 2nd: we need to separate that stacked list into a list of windows that
|
||||
@@ -981,7 +990,7 @@ compute_resistance_and_snapping_edges (MetaDisplay *display)
|
||||
while (cur_window_iter != NULL)
|
||||
{
|
||||
MetaWindow *cur_window = cur_window_iter->data;
|
||||
if (WINDOW_EDGES_RELEVANT (cur_window, display))
|
||||
if (WINDOW_EDGES_RELEVANT (cur_window, display, screen))
|
||||
{
|
||||
MetaRectangle *new_rect;
|
||||
new_rect = g_new (MetaRectangle, 1);
|
||||
@@ -1016,7 +1025,7 @@ compute_resistance_and_snapping_edges (MetaDisplay *display)
|
||||
* resistance (note that dock edges are considered screen edges
|
||||
* which are handled separately
|
||||
*/
|
||||
if (WINDOW_EDGES_RELEVANT (cur_window, display) &&
|
||||
if (WINDOW_EDGES_RELEVANT (cur_window, display, screen) &&
|
||||
cur_window->type != META_WINDOW_DOCK)
|
||||
{
|
||||
GList *new_edges;
|
||||
@@ -1028,7 +1037,7 @@ compute_resistance_and_snapping_edges (MetaDisplay *display)
|
||||
* by other windows or DOCKS, but that's handled below).
|
||||
*/
|
||||
meta_rectangle_intersect (&cur_rect,
|
||||
&display->grab_screen->rect,
|
||||
&screen->rect,
|
||||
&reduced);
|
||||
|
||||
new_edges = NULL;
|
||||
@@ -1123,32 +1132,36 @@ compute_resistance_and_snapping_edges (MetaDisplay *display)
|
||||
* monitor edges in an array for quick access. Free the edges since
|
||||
* they've been cached elsewhere.
|
||||
*/
|
||||
cache_edges (display,
|
||||
edges,
|
||||
display->grab_screen->active_workspace->monitor_edges,
|
||||
display->grab_screen->active_workspace->screen_edges);
|
||||
edge_data = cache_edges (display, screen,
|
||||
edges,
|
||||
screen->active_workspace->monitor_edges,
|
||||
screen->active_workspace->screen_edges);
|
||||
g_list_free (edges);
|
||||
|
||||
/*
|
||||
* 6th: Initialize the resistance timeouts and buildups
|
||||
*/
|
||||
initialize_grab_edge_resistance_data (display);
|
||||
initialize_grab_edge_resistance_data (edge_data);
|
||||
|
||||
return edge_data;
|
||||
}
|
||||
|
||||
/* Note that old_[xy] and new_[xy] are with respect to inner positions of
|
||||
* the window.
|
||||
*/
|
||||
void
|
||||
meta_window_edge_resistance_for_move (MetaWindow *window,
|
||||
int old_x,
|
||||
int old_y,
|
||||
int *new_x,
|
||||
int *new_y,
|
||||
GSourceFunc timeout_func,
|
||||
gboolean snap,
|
||||
gboolean is_keyboard_op)
|
||||
meta_window_edge_resistance_for_move (MetaWindow *window,
|
||||
MetaDevice *device,
|
||||
int old_x,
|
||||
int old_y,
|
||||
int *new_x,
|
||||
int *new_y,
|
||||
MetaEdgeResistanceFunc timeout_func,
|
||||
gboolean snap,
|
||||
gboolean is_keyboard_op)
|
||||
{
|
||||
MetaRectangle old_outer, proposed_outer, new_outer;
|
||||
MetaGrabInfo *grab_info;
|
||||
gboolean is_resize;
|
||||
|
||||
meta_window_get_outer_rect (window, &old_outer);
|
||||
@@ -1158,10 +1171,14 @@ meta_window_edge_resistance_for_move (MetaWindow *window,
|
||||
proposed_outer.y += (*new_y - old_y);
|
||||
new_outer = proposed_outer;
|
||||
|
||||
window->display->grab_last_user_action_was_snap = snap;
|
||||
grab_info = meta_display_get_grab_info (window->display, device);
|
||||
g_assert (grab_info != NULL);
|
||||
|
||||
grab_info->grab_last_user_action_was_snap = snap;
|
||||
is_resize = FALSE;
|
||||
if (apply_edge_resistance_to_each_side (window->display,
|
||||
window,
|
||||
device,
|
||||
&old_outer,
|
||||
&new_outer,
|
||||
timeout_func,
|
||||
@@ -1223,18 +1240,20 @@ meta_window_edge_resistance_for_move (MetaWindow *window,
|
||||
* sizes of the inner window.
|
||||
*/
|
||||
void
|
||||
meta_window_edge_resistance_for_resize (MetaWindow *window,
|
||||
int old_width,
|
||||
int old_height,
|
||||
int *new_width,
|
||||
int *new_height,
|
||||
int gravity,
|
||||
GSourceFunc timeout_func,
|
||||
gboolean snap,
|
||||
gboolean is_keyboard_op)
|
||||
meta_window_edge_resistance_for_resize (MetaWindow *window,
|
||||
MetaDevice *device,
|
||||
int old_width,
|
||||
int old_height,
|
||||
int *new_width,
|
||||
int *new_height,
|
||||
int gravity,
|
||||
MetaEdgeResistanceFunc timeout_func,
|
||||
gboolean snap,
|
||||
gboolean is_keyboard_op)
|
||||
{
|
||||
MetaRectangle old_outer, new_outer;
|
||||
int proposed_outer_width, proposed_outer_height;
|
||||
MetaGrabInfo *grab_info;
|
||||
gboolean is_resize;
|
||||
|
||||
meta_window_get_outer_rect (window, &old_outer);
|
||||
@@ -1246,10 +1265,14 @@ meta_window_edge_resistance_for_resize (MetaWindow *window,
|
||||
proposed_outer_width,
|
||||
proposed_outer_height);
|
||||
|
||||
window->display->grab_last_user_action_was_snap = snap;
|
||||
grab_info = meta_display_get_grab_info (window->display, device);
|
||||
g_assert (grab_info != NULL);
|
||||
|
||||
grab_info->grab_last_user_action_was_snap = snap;
|
||||
is_resize = TRUE;
|
||||
if (apply_edge_resistance_to_each_side (window->display,
|
||||
window,
|
||||
device,
|
||||
&old_outer,
|
||||
&new_outer,
|
||||
timeout_func,
|
||||
|
||||
@@ -26,23 +26,28 @@
|
||||
|
||||
#include "window-private.h"
|
||||
|
||||
void meta_window_edge_resistance_for_move (MetaWindow *window,
|
||||
int old_x,
|
||||
int old_y,
|
||||
int *new_x,
|
||||
int *new_y,
|
||||
GSourceFunc timeout_func,
|
||||
gboolean snap,
|
||||
gboolean is_keyboard_op);
|
||||
void meta_window_edge_resistance_for_resize (MetaWindow *window,
|
||||
int old_width,
|
||||
int old_height,
|
||||
int *new_width,
|
||||
int *new_height,
|
||||
int gravity,
|
||||
GSourceFunc timeout_func,
|
||||
gboolean snap,
|
||||
gboolean is_keyboard_op);
|
||||
typedef gboolean (* MetaEdgeResistanceFunc) (MetaWindow *window,
|
||||
MetaDevice *device);
|
||||
|
||||
void meta_window_edge_resistance_for_move (MetaWindow *window,
|
||||
MetaDevice *device,
|
||||
int old_x,
|
||||
int old_y,
|
||||
int *new_x,
|
||||
int *new_y,
|
||||
MetaEdgeResistanceFunc func,
|
||||
gboolean snap,
|
||||
gboolean is_keyboard_op);
|
||||
void meta_window_edge_resistance_for_resize (MetaWindow *window,
|
||||
MetaDevice *device,
|
||||
int old_width,
|
||||
int old_height,
|
||||
int *new_width,
|
||||
int *new_height,
|
||||
int gravity,
|
||||
MetaEdgeResistanceFunc func,
|
||||
gboolean snap,
|
||||
gboolean is_keyboard_op);
|
||||
|
||||
#endif /* META_EDGE_RESISTANCE_H */
|
||||
|
||||
|
||||
161
src/core/frame.c
161
src/core/frame.c
@@ -28,6 +28,7 @@
|
||||
#include "bell.h"
|
||||
#include <meta/errors.h>
|
||||
#include "keybindings-private.h"
|
||||
#include "device-pointer.h"
|
||||
|
||||
#include <X11/extensions/Xrender.h>
|
||||
|
||||
@@ -64,10 +65,9 @@ meta_window_ensure_frame (MetaWindow *window)
|
||||
frame->child_y = 0;
|
||||
frame->bottom_height = 0;
|
||||
frame->right_width = 0;
|
||||
frame->current_cursor = 0;
|
||||
frame->cursors = g_hash_table_new (NULL, NULL);
|
||||
|
||||
frame->mapped = FALSE;
|
||||
frame->need_reapply_frame_shape = TRUE;
|
||||
frame->is_flashing = FALSE;
|
||||
|
||||
meta_verbose ("Framing window %s: visual %s default, depth %d default depth %d\n",
|
||||
@@ -117,11 +117,6 @@ meta_window_ensure_frame (MetaWindow *window)
|
||||
|
||||
meta_display_register_x_window (window->display, &frame->xwindow, window);
|
||||
|
||||
/* Now that frame->xwindow is registered with window, we can set its
|
||||
* background.
|
||||
*/
|
||||
meta_ui_reset_frame_bg (window->screen->ui, frame->xwindow);
|
||||
|
||||
/* Reparent the client window; it may be destroyed,
|
||||
* thus the error trap. We'll get a destroy notify later
|
||||
* and free everything. Comment in FVWM source code says
|
||||
@@ -157,6 +152,12 @@ meta_window_ensure_frame (MetaWindow *window)
|
||||
|
||||
/* stick frame to the window */
|
||||
window->frame = frame;
|
||||
|
||||
/* Now that frame->xwindow is registered with window, we can set its
|
||||
* style and background.
|
||||
*/
|
||||
meta_ui_update_frame_style (window->screen->ui, frame->xwindow);
|
||||
meta_ui_reset_frame_bg (window->screen->ui, frame->xwindow);
|
||||
|
||||
if (window->title)
|
||||
meta_ui_set_frame_title (window->screen->ui,
|
||||
@@ -166,14 +167,6 @@ meta_window_ensure_frame (MetaWindow *window)
|
||||
/* Move keybindings to frame instead of window */
|
||||
meta_window_grab_keys (window);
|
||||
|
||||
/* Shape mask */
|
||||
meta_ui_apply_frame_shape (frame->window->screen->ui,
|
||||
frame->xwindow,
|
||||
frame->rect.width,
|
||||
frame->rect.height,
|
||||
frame->window->has_shape);
|
||||
frame->need_reapply_frame_shape = FALSE;
|
||||
|
||||
meta_display_ungrab (window->display);
|
||||
}
|
||||
|
||||
@@ -181,6 +174,7 @@ void
|
||||
meta_window_destroy_frame (MetaWindow *window)
|
||||
{
|
||||
MetaFrame *frame;
|
||||
MetaFrameBorders borders;
|
||||
|
||||
if (window->frame == NULL)
|
||||
return;
|
||||
@@ -188,6 +182,8 @@ meta_window_destroy_frame (MetaWindow *window)
|
||||
meta_verbose ("Unframing window %s\n", window->desc);
|
||||
|
||||
frame = window->frame;
|
||||
|
||||
meta_frame_calc_borders (frame, &borders);
|
||||
|
||||
meta_bell_notify_frame_destroy (frame);
|
||||
|
||||
@@ -215,8 +211,8 @@ meta_window_destroy_frame (MetaWindow *window)
|
||||
* coordinates here means we'll need to ensure a configure
|
||||
* notify event is sent; see bug 399552.
|
||||
*/
|
||||
window->frame->rect.x,
|
||||
window->frame->rect.y);
|
||||
window->frame->rect.x + borders.invisible.left,
|
||||
window->frame->rect.y + borders.invisible.top);
|
||||
meta_error_trap_pop (window->display);
|
||||
|
||||
meta_ui_destroy_frame_window (window->screen->ui, frame->xwindow);
|
||||
@@ -225,12 +221,18 @@ meta_window_destroy_frame (MetaWindow *window)
|
||||
frame->xwindow);
|
||||
|
||||
window->frame = NULL;
|
||||
if (window->frame_bounds)
|
||||
{
|
||||
cairo_region_destroy (window->frame_bounds);
|
||||
window->frame_bounds = NULL;
|
||||
}
|
||||
|
||||
/* Move keybindings to window instead of frame */
|
||||
meta_window_grab_keys (window);
|
||||
|
||||
|
||||
g_hash_table_destroy (frame->cursors);
|
||||
g_free (frame);
|
||||
|
||||
|
||||
/* Put our state back where it should be */
|
||||
meta_window_queue (window, META_QUEUE_CALC_SHOWING);
|
||||
meta_window_queue (window, META_QUEUE_MOVE_RESIZE);
|
||||
@@ -244,6 +246,12 @@ meta_frame_get_flags (MetaFrame *frame)
|
||||
|
||||
flags = 0;
|
||||
|
||||
/* Disallow frame operations
|
||||
* while the popup menu is open.
|
||||
*/
|
||||
if (frame->window->menu)
|
||||
return flags;
|
||||
|
||||
if (frame->window->border_only)
|
||||
{
|
||||
; /* FIXME this may disable the _function_ as well as decor
|
||||
@@ -310,50 +318,42 @@ meta_frame_get_flags (MetaFrame *frame)
|
||||
}
|
||||
|
||||
void
|
||||
meta_frame_calc_geometry (MetaFrame *frame,
|
||||
MetaFrameGeometry *geomp)
|
||||
meta_frame_borders_clear (MetaFrameBorders *self)
|
||||
{
|
||||
MetaFrameGeometry geom;
|
||||
MetaWindow *window;
|
||||
|
||||
window = frame->window;
|
||||
|
||||
meta_ui_get_frame_geometry (window->screen->ui,
|
||||
frame->xwindow,
|
||||
&geom.top_height,
|
||||
&geom.bottom_height,
|
||||
&geom.left_width,
|
||||
&geom.right_width);
|
||||
|
||||
*geomp = geom;
|
||||
}
|
||||
|
||||
static void
|
||||
update_shape (MetaFrame *frame)
|
||||
{
|
||||
if (frame->need_reapply_frame_shape)
|
||||
{
|
||||
meta_ui_apply_frame_shape (frame->window->screen->ui,
|
||||
frame->xwindow,
|
||||
frame->rect.width,
|
||||
frame->rect.height,
|
||||
frame->window->has_shape);
|
||||
frame->need_reapply_frame_shape = FALSE;
|
||||
}
|
||||
self->visible.top = self->invisible.top = self->total.top = 0;
|
||||
self->visible.bottom = self->invisible.bottom = self->total.bottom = 0;
|
||||
self->visible.left = self->invisible.left = self->total.left = 0;
|
||||
self->visible.right = self->invisible.right = self->total.right = 0;
|
||||
}
|
||||
|
||||
void
|
||||
meta_frame_calc_borders (MetaFrame *frame,
|
||||
MetaFrameBorders *borders)
|
||||
{
|
||||
meta_ui_get_frame_borders (frame->window->screen->ui,
|
||||
frame->xwindow,
|
||||
borders);
|
||||
}
|
||||
|
||||
void
|
||||
meta_frame_get_corner_radiuses (MetaFrame *frame,
|
||||
float *top_left,
|
||||
float *top_right,
|
||||
float *bottom_left,
|
||||
float *bottom_right)
|
||||
{
|
||||
meta_ui_get_corner_radiuses (frame->window->screen->ui,
|
||||
frame->xwindow,
|
||||
top_left, top_right,
|
||||
bottom_left, bottom_right);
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_frame_sync_to_window (MetaFrame *frame,
|
||||
int resize_gravity,
|
||||
gboolean need_move,
|
||||
gboolean need_resize)
|
||||
{
|
||||
if (!(need_move || need_resize))
|
||||
{
|
||||
update_shape (frame);
|
||||
return;
|
||||
}
|
||||
|
||||
meta_topic (META_DEBUG_GEOMETRY,
|
||||
"Syncing frame geometry %d,%d %dx%d (SE: %d,%d)\n",
|
||||
frame->rect.x, frame->rect.y,
|
||||
@@ -368,19 +368,8 @@ meta_frame_sync_to_window (MetaFrame *frame,
|
||||
frame->xwindow,
|
||||
frame->rect.width,
|
||||
frame->rect.height);
|
||||
|
||||
/* we need new shape if we're resized */
|
||||
frame->need_reapply_frame_shape = TRUE;
|
||||
}
|
||||
|
||||
/* Done before the window resize, because doing it before means
|
||||
* part of the window being resized becomes unshaped, which may
|
||||
* be sort of hard to see with bg = None. If we did it after
|
||||
* window resize, part of the window being resized would become
|
||||
* shaped, which might be more visible.
|
||||
*/
|
||||
update_shape (frame);
|
||||
|
||||
meta_ui_move_resize_frame (frame->window->screen->ui,
|
||||
frame->xwindow,
|
||||
frame->rect.x,
|
||||
@@ -396,11 +385,21 @@ meta_frame_sync_to_window (MetaFrame *frame,
|
||||
/* If we're interactively resizing the frame, repaint
|
||||
* it immediately so we don't start to lag.
|
||||
*/
|
||||
if (frame->window->display->grab_window ==
|
||||
frame->window)
|
||||
if (frame->window->cur_grab != NULL)
|
||||
meta_ui_repaint_frame (frame->window->screen->ui,
|
||||
frame->xwindow);
|
||||
}
|
||||
|
||||
return need_resize;
|
||||
}
|
||||
|
||||
cairo_region_t *
|
||||
meta_frame_get_frame_bounds (MetaFrame *frame)
|
||||
{
|
||||
return meta_ui_get_frame_bounds (frame->window->screen->ui,
|
||||
frame->xwindow,
|
||||
frame->rect.width,
|
||||
frame->rect.height);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -411,22 +410,22 @@ meta_frame_queue_draw (MetaFrame *frame)
|
||||
}
|
||||
|
||||
void
|
||||
meta_frame_set_screen_cursor (MetaFrame *frame,
|
||||
MetaCursor cursor)
|
||||
meta_frame_set_screen_cursor (MetaFrame *frame,
|
||||
MetaDevice *pointer,
|
||||
MetaCursor cursor)
|
||||
{
|
||||
Cursor xcursor;
|
||||
if (cursor == frame->current_cursor)
|
||||
MetaCursor old_cursor;
|
||||
|
||||
old_cursor = GPOINTER_TO_UINT (g_hash_table_lookup (frame->cursors, pointer));
|
||||
|
||||
if (cursor == old_cursor)
|
||||
return;
|
||||
frame->current_cursor = cursor;
|
||||
if (cursor == META_CURSOR_DEFAULT)
|
||||
XUndefineCursor (frame->window->display->xdisplay, frame->xwindow);
|
||||
else
|
||||
{
|
||||
xcursor = meta_display_create_x_cursor (frame->window->display, cursor);
|
||||
XDefineCursor (frame->window->display->xdisplay, frame->xwindow, xcursor);
|
||||
XFlush (frame->window->display->xdisplay);
|
||||
XFreeCursor (frame->window->display->xdisplay, xcursor);
|
||||
}
|
||||
|
||||
g_hash_table_insert (frame->cursors, pointer,
|
||||
GUINT_TO_POINTER (cursor));
|
||||
meta_device_pointer_set_window_cursor (META_DEVICE_POINTER (pointer),
|
||||
frame->xwindow, cursor);
|
||||
XFlush (frame->window->display->xdisplay);
|
||||
}
|
||||
|
||||
Window
|
||||
|
||||
@@ -26,17 +26,6 @@
|
||||
|
||||
#include "window-private.h"
|
||||
|
||||
typedef struct _MetaFrameGeometry MetaFrameGeometry;
|
||||
|
||||
struct _MetaFrameGeometry
|
||||
{
|
||||
/* border sizes (space between frame and child) */
|
||||
int left_width;
|
||||
int right_width;
|
||||
int top_height;
|
||||
int bottom_height;
|
||||
};
|
||||
|
||||
struct _MetaFrame
|
||||
{
|
||||
/* window we frame */
|
||||
@@ -45,7 +34,7 @@ struct _MetaFrame
|
||||
/* reparent window */
|
||||
Window xwindow;
|
||||
|
||||
MetaCursor current_cursor;
|
||||
GHashTable *cursors;
|
||||
|
||||
/* This rect is trusted info from where we put the
|
||||
* frame, not the result of ConfigureNotify
|
||||
@@ -71,14 +60,24 @@ MetaFrameFlags meta_frame_get_flags (MetaFrame *frame);
|
||||
Window meta_frame_get_xwindow (MetaFrame *frame);
|
||||
|
||||
/* These should ONLY be called from meta_window_move_resize_internal */
|
||||
void meta_frame_calc_geometry (MetaFrame *frame,
|
||||
MetaFrameGeometry *geomp);
|
||||
void meta_frame_sync_to_window (MetaFrame *frame,
|
||||
void meta_frame_calc_borders (MetaFrame *frame,
|
||||
MetaFrameBorders *borders);
|
||||
|
||||
void meta_frame_get_corner_radiuses (MetaFrame *frame,
|
||||
float *top_left,
|
||||
float *top_right,
|
||||
float *bottom_left,
|
||||
float *bottom_right);
|
||||
|
||||
gboolean meta_frame_sync_to_window (MetaFrame *frame,
|
||||
int gravity,
|
||||
gboolean need_move,
|
||||
gboolean need_resize);
|
||||
|
||||
void meta_frame_set_screen_cursor (MetaFrame *frame,
|
||||
cairo_region_t *meta_frame_get_frame_bounds (MetaFrame *frame);
|
||||
|
||||
void meta_frame_set_screen_cursor (MetaFrame *frame,
|
||||
MetaDevice *pointer,
|
||||
MetaCursor cursor);
|
||||
|
||||
#endif
|
||||
|
||||
803
src/core/input-events.c
Normal file
803
src/core/input-events.c
Normal file
@@ -0,0 +1,803 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/* XEvent utility methods */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011 Carlos Garnacho
|
||||
*
|
||||
* 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 "input-events.h"
|
||||
#include "devices-core.h"
|
||||
#include "device-map-private.h"
|
||||
#include <X11/Xlib.h>
|
||||
|
||||
#ifdef HAVE_XINPUT2
|
||||
#include <X11/extensions/XInput2.h>
|
||||
#endif
|
||||
|
||||
/* Quite a hack: normalizes XI2 events to their
|
||||
* core event equivalent, so most code is shared
|
||||
* for both implementations, code handling input
|
||||
* events should use the helper functions so
|
||||
* the actual event is treated correctly.
|
||||
*/
|
||||
gboolean
|
||||
meta_input_event_get_type (MetaDisplay *display,
|
||||
XEvent *ev,
|
||||
guint *ev_type)
|
||||
{
|
||||
guint type = 0; /* Silence gcc */
|
||||
gboolean retval = TRUE;
|
||||
|
||||
#ifdef HAVE_XINPUT2
|
||||
if (display->have_xinput2 &&
|
||||
ev->type == GenericEvent &&
|
||||
ev->xcookie.extension == display->xinput2_opcode)
|
||||
{
|
||||
XIEvent *xev;
|
||||
|
||||
/* NB: GDK event filters already have generic events
|
||||
* allocated, so no need to do XGetEventData() on our own
|
||||
*/
|
||||
xev = (XIEvent *) ev->xcookie.data;
|
||||
|
||||
switch (xev->evtype)
|
||||
{
|
||||
case XI_Motion:
|
||||
type = MotionNotify;
|
||||
break;
|
||||
case XI_ButtonPress:
|
||||
type = ButtonPress;
|
||||
break;
|
||||
case XI_ButtonRelease:
|
||||
type = ButtonRelease;
|
||||
break;
|
||||
case XI_KeyPress:
|
||||
type = KeyPress;
|
||||
break;
|
||||
case XI_KeyRelease:
|
||||
type = KeyRelease;
|
||||
break;
|
||||
case XI_FocusIn:
|
||||
type = FocusIn;
|
||||
break;
|
||||
case XI_FocusOut:
|
||||
type = FocusOut;
|
||||
break;
|
||||
case XI_Enter:
|
||||
type = EnterNotify;
|
||||
break;
|
||||
case XI_Leave:
|
||||
type = LeaveNotify;
|
||||
break;
|
||||
#ifdef HAVE_XTOUCH
|
||||
case XI_TouchBegin:
|
||||
type = ButtonPress;
|
||||
break;
|
||||
case XI_TouchEnd:
|
||||
type = ButtonRelease;
|
||||
break;
|
||||
case XI_TouchUpdate:
|
||||
if (((XIDeviceEvent *) xev)->flags & XITouchPendingEnd)
|
||||
{
|
||||
/* Consider these events like TouchEnd, as we
|
||||
* could still need to call XIAllowTouchEvents()
|
||||
* for this touch sequence so we get the real
|
||||
* TouchEnd event, handling this event type the
|
||||
* second time it arrives should be a NO-OP.
|
||||
*/
|
||||
type = ButtonRelease;
|
||||
}
|
||||
else
|
||||
type = MotionNotify;
|
||||
break;
|
||||
#endif /* HAVE_XTOUCH */
|
||||
default:
|
||||
retval = FALSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif /* HAVE_XINPUT2 */
|
||||
{
|
||||
switch (ev->type)
|
||||
{
|
||||
case MotionNotify:
|
||||
case ButtonPress:
|
||||
case ButtonRelease:
|
||||
case KeyPress:
|
||||
case KeyRelease:
|
||||
case FocusIn:
|
||||
case FocusOut:
|
||||
case EnterNotify:
|
||||
case LeaveNotify:
|
||||
type = ev->type;
|
||||
break;
|
||||
default:
|
||||
retval = FALSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (retval)
|
||||
{
|
||||
if (ev_type)
|
||||
*ev_type = type;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_input_event_is_type (MetaDisplay *display,
|
||||
XEvent *ev,
|
||||
guint ev_type)
|
||||
{
|
||||
guint type;
|
||||
|
||||
if (!meta_input_event_get_type (display, ev, &type))
|
||||
return FALSE;
|
||||
|
||||
return (type == ev_type);
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_input_event_get_touch_id (MetaDisplay *display,
|
||||
XEvent *ev,
|
||||
guint *touch_id)
|
||||
{
|
||||
#if defined(HAVE_XINPUT2) && defined(HAVE_XTOUCH)
|
||||
if (ev->type == GenericEvent &&
|
||||
ev->xcookie.extension == display->xinput2_opcode)
|
||||
{
|
||||
XIEvent *xev;
|
||||
|
||||
g_assert (display->have_xinput2 == TRUE);
|
||||
xev = (XIEvent *) ev->xcookie.data;
|
||||
|
||||
switch (xev->evtype)
|
||||
{
|
||||
case XI_TouchBegin:
|
||||
case XI_TouchEnd:
|
||||
case XI_TouchUpdate:
|
||||
if (touch_id)
|
||||
*touch_id = ((XIDeviceEvent *) xev)->detail;
|
||||
return TRUE;
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
#endif /* HAVE_XINPUT2 && HAVE_XTOUCH */
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
Window
|
||||
meta_input_event_get_window (MetaDisplay *display,
|
||||
XEvent *ev)
|
||||
{
|
||||
#ifdef HAVE_XINPUT2
|
||||
if (ev->type == GenericEvent &&
|
||||
ev->xcookie.extension == display->xinput2_opcode)
|
||||
{
|
||||
XIEvent *xev;
|
||||
|
||||
g_assert (display->have_xinput2 == TRUE);
|
||||
|
||||
/* GDK event filters already have generic events allocated */
|
||||
xev = (XIEvent *) ev->xcookie.data;
|
||||
|
||||
switch (xev->evtype)
|
||||
{
|
||||
case XI_Motion:
|
||||
case XI_ButtonPress:
|
||||
case XI_ButtonRelease:
|
||||
case XI_KeyPress:
|
||||
case XI_KeyRelease:
|
||||
#ifdef HAVE_XTOUCH
|
||||
case XI_TouchBegin:
|
||||
case XI_TouchEnd:
|
||||
case XI_TouchUpdate:
|
||||
#endif /* HAVE_XTOUCH */
|
||||
return ((XIDeviceEvent *) xev)->event;
|
||||
case XI_FocusIn:
|
||||
case XI_FocusOut:
|
||||
case XI_Enter:
|
||||
case XI_Leave:
|
||||
return ((XIEnterEvent *) xev)->event;
|
||||
default:
|
||||
return None;
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif /* HAVE_XINPUT2 */
|
||||
return ev->xany.window;
|
||||
}
|
||||
|
||||
Window
|
||||
meta_input_event_get_root_window (MetaDisplay *display,
|
||||
XEvent *ev)
|
||||
{
|
||||
#ifdef HAVE_XINPUT2
|
||||
if (ev->type == GenericEvent &&
|
||||
ev->xcookie.extension == display->xinput2_opcode)
|
||||
{
|
||||
XIEvent *xev;
|
||||
|
||||
g_assert (display->have_xinput2 == TRUE);
|
||||
|
||||
xev = (XIEvent *) ev->xcookie.data;
|
||||
|
||||
switch (xev->evtype)
|
||||
{
|
||||
case XI_Motion:
|
||||
case XI_ButtonPress:
|
||||
case XI_ButtonRelease:
|
||||
case XI_KeyPress:
|
||||
case XI_KeyRelease:
|
||||
#ifdef HAVE_XTOUCH
|
||||
case XI_TouchBegin:
|
||||
case XI_TouchEnd:
|
||||
case XI_TouchUpdate:
|
||||
#endif /* HAVE_XTOUCH */
|
||||
return ((XIDeviceEvent *) xev)->root;
|
||||
case XI_FocusIn:
|
||||
case XI_FocusOut:
|
||||
case XI_Enter:
|
||||
case XI_Leave:
|
||||
return ((XIEnterEvent *) xev)->root;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif /* HAVE_XINPUT2 */
|
||||
{
|
||||
switch (ev->type)
|
||||
{
|
||||
case KeyPress:
|
||||
case KeyRelease:
|
||||
return ev->xkey.root;
|
||||
case ButtonPress:
|
||||
case ButtonRelease:
|
||||
return ev->xbutton.root;
|
||||
case EnterNotify:
|
||||
case LeaveNotify:
|
||||
return ev->xcrossing.root;
|
||||
case MotionNotify:
|
||||
return ev->xbutton.root;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return None;
|
||||
}
|
||||
|
||||
Time
|
||||
meta_input_event_get_time (MetaDisplay *display,
|
||||
XEvent *ev)
|
||||
{
|
||||
#ifdef HAVE_XINPUT2
|
||||
if (ev->type == GenericEvent &&
|
||||
ev->xcookie.extension == display->xinput2_opcode)
|
||||
{
|
||||
XIEvent *xev;
|
||||
|
||||
g_assert (display->have_xinput2 == TRUE);
|
||||
|
||||
xev = (XIEvent *) ev->xcookie.data;
|
||||
|
||||
switch (xev->evtype)
|
||||
{
|
||||
case XI_Motion:
|
||||
case XI_ButtonPress:
|
||||
case XI_ButtonRelease:
|
||||
case XI_KeyPress:
|
||||
case XI_KeyRelease:
|
||||
#ifdef HAVE_XTOUCH
|
||||
case XI_TouchBegin:
|
||||
case XI_TouchEnd:
|
||||
case XI_TouchUpdate:
|
||||
#endif /* HAVE_XTOUCH */
|
||||
return ((XIDeviceEvent *) xev)->time;
|
||||
case XI_FocusIn:
|
||||
case XI_FocusOut:
|
||||
case XI_Enter:
|
||||
case XI_Leave:
|
||||
return ((XIEnterEvent *) xev)->time;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif /* HAVE_XINPUT2 */
|
||||
{
|
||||
switch (ev->type)
|
||||
{
|
||||
case KeyPress:
|
||||
case KeyRelease:
|
||||
return ev->xkey.time;
|
||||
case ButtonPress:
|
||||
case ButtonRelease:
|
||||
return ev->xbutton.time;
|
||||
case EnterNotify:
|
||||
case LeaveNotify:
|
||||
return ev->xcrossing.time;
|
||||
case MotionNotify:
|
||||
return ev->xmotion.time;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return CurrentTime;
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_input_event_get_coordinates (MetaDisplay *display,
|
||||
XEvent *ev,
|
||||
gdouble *x_ret,
|
||||
gdouble *y_ret,
|
||||
gdouble *x_root_ret,
|
||||
gdouble *y_root_ret)
|
||||
{
|
||||
gdouble x, y, x_root, y_root;
|
||||
gboolean retval = TRUE;
|
||||
|
||||
#ifdef HAVE_XINPUT2
|
||||
if (ev->type == GenericEvent &&
|
||||
ev->xcookie.extension == display->xinput2_opcode)
|
||||
{
|
||||
XIEvent *xev;
|
||||
|
||||
g_assert (display->have_xinput2 == TRUE);
|
||||
|
||||
xev = (XIEvent *) ev->xcookie.data;
|
||||
|
||||
switch (xev->evtype)
|
||||
{
|
||||
case XI_Motion:
|
||||
case XI_ButtonPress:
|
||||
case XI_ButtonRelease:
|
||||
case XI_KeyPress:
|
||||
case XI_KeyRelease:
|
||||
#ifdef HAVE_XTOUCH
|
||||
case XI_TouchBegin:
|
||||
case XI_TouchEnd:
|
||||
case XI_TouchUpdate:
|
||||
#endif /* HAVE_XTOUCH */
|
||||
{
|
||||
XIDeviceEvent *event = (XIDeviceEvent *) xev;
|
||||
|
||||
x = event->event_x;
|
||||
y = event->event_y;
|
||||
x_root = event->root_x;
|
||||
y_root = event->root_y;
|
||||
}
|
||||
|
||||
break;
|
||||
case XI_FocusIn:
|
||||
case XI_FocusOut:
|
||||
case XI_Enter:
|
||||
case XI_Leave:
|
||||
{
|
||||
XIEnterEvent *event = (XIEnterEvent *) xev;
|
||||
|
||||
x = event->event_x;
|
||||
y = event->event_y;
|
||||
x_root = event->root_x;
|
||||
y_root = event->root_y;
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
retval = FALSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif /* HAVE_XINPUT2 */
|
||||
{
|
||||
switch (ev->type)
|
||||
{
|
||||
case KeyPress:
|
||||
case KeyRelease:
|
||||
x = ev->xkey.x;
|
||||
y = ev->xkey.y;
|
||||
x_root = ev->xkey.x_root;
|
||||
y_root = ev->xkey.y_root;
|
||||
break;
|
||||
case ButtonPress:
|
||||
case ButtonRelease:
|
||||
x = ev->xbutton.x;
|
||||
y = ev->xbutton.y;
|
||||
x_root = ev->xbutton.x_root;
|
||||
y_root = ev->xbutton.y_root;
|
||||
break;
|
||||
case EnterNotify:
|
||||
case LeaveNotify:
|
||||
x = ev->xcrossing.x;
|
||||
y = ev->xcrossing.y;
|
||||
x_root = ev->xcrossing.x_root;
|
||||
y_root = ev->xcrossing.y_root;
|
||||
break;
|
||||
case MotionNotify:
|
||||
x = ev->xmotion.x;
|
||||
y = ev->xmotion.y;
|
||||
x_root = ev->xmotion.x_root;
|
||||
y_root = ev->xmotion.y_root;
|
||||
break;
|
||||
default:
|
||||
retval = FALSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (retval)
|
||||
{
|
||||
if (x_ret)
|
||||
*x_ret = x;
|
||||
|
||||
if (y_ret)
|
||||
*y_ret = y;
|
||||
|
||||
if (x_root_ret)
|
||||
*x_root_ret = x_root;
|
||||
|
||||
if (y_root_ret)
|
||||
*y_root_ret = y_root;
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_input_event_get_state (MetaDisplay *display,
|
||||
XEvent *ev,
|
||||
guint *state)
|
||||
{
|
||||
gboolean retval = TRUE;
|
||||
guint s;
|
||||
|
||||
#ifdef HAVE_XINPUT2
|
||||
if (ev->type == GenericEvent &&
|
||||
ev->xcookie.extension == display->xinput2_opcode)
|
||||
{
|
||||
XIEvent *xev;
|
||||
|
||||
g_assert (display->have_xinput2 == TRUE);
|
||||
|
||||
xev = (XIEvent *) ev->xcookie.data;
|
||||
|
||||
switch (xev->evtype)
|
||||
{
|
||||
case XI_Motion:
|
||||
case XI_ButtonPress:
|
||||
case XI_ButtonRelease:
|
||||
case XI_KeyPress:
|
||||
case XI_KeyRelease:
|
||||
#ifdef HAVE_XTOUCH
|
||||
case XI_TouchBegin:
|
||||
case XI_TouchEnd:
|
||||
case XI_TouchUpdate:
|
||||
#endif /* HAVE_XTOUCH */
|
||||
s = ((XIDeviceEvent *) xev)->mods.effective;
|
||||
break;
|
||||
case XI_FocusIn:
|
||||
case XI_FocusOut:
|
||||
case XI_Enter:
|
||||
case XI_Leave:
|
||||
s = ((XIDeviceEvent *) xev)->mods.effective;
|
||||
break;
|
||||
default:
|
||||
retval = FALSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif /* HAVE_XINPUT2 */
|
||||
{
|
||||
switch (ev->type)
|
||||
{
|
||||
case KeyPress:
|
||||
case KeyRelease:
|
||||
s = ev->xkey.state;
|
||||
break;
|
||||
case ButtonPress:
|
||||
case ButtonRelease:
|
||||
s = ev->xbutton.state;
|
||||
break;
|
||||
case EnterNotify:
|
||||
case LeaveNotify:
|
||||
s = ev->xcrossing.state;
|
||||
break;
|
||||
case MotionNotify:
|
||||
s = ev->xmotion.state;
|
||||
break;
|
||||
default:
|
||||
retval = FALSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (retval && state)
|
||||
*state = s;
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_input_event_get_keycode (MetaDisplay *display,
|
||||
XEvent *ev,
|
||||
guint *keycode)
|
||||
{
|
||||
#ifdef HAVE_XINPUT2
|
||||
if (ev->type == GenericEvent &&
|
||||
ev->xcookie.extension == display->xinput2_opcode)
|
||||
{
|
||||
XIEvent *xev;
|
||||
|
||||
g_assert (display->have_xinput2 == TRUE);
|
||||
|
||||
xev = (XIEvent *) ev->xcookie.data;
|
||||
|
||||
if (xev->evtype == XI_KeyPress ||
|
||||
xev->evtype == XI_KeyRelease)
|
||||
{
|
||||
if (keycode)
|
||||
{
|
||||
/* The detail field contains keycode for key events */
|
||||
*keycode = ((XIDeviceEvent *) xev)->detail;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif /* HAVE_XINPUT2 */
|
||||
{
|
||||
if (ev->type == KeyPress ||
|
||||
ev->type == KeyRelease)
|
||||
{
|
||||
if (keycode)
|
||||
*keycode = ev->xkey.keycode;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_input_event_get_button (MetaDisplay *display,
|
||||
XEvent *ev,
|
||||
guint *button)
|
||||
{
|
||||
#ifdef HAVE_XINPUT2
|
||||
if (ev->type == GenericEvent &&
|
||||
ev->xcookie.extension == display->xinput2_opcode)
|
||||
{
|
||||
XIEvent *xev;
|
||||
|
||||
g_assert (display->have_xinput2 == TRUE);
|
||||
|
||||
xev = (XIEvent *) ev->xcookie.data;
|
||||
|
||||
if (xev->evtype == XI_ButtonPress ||
|
||||
xev->evtype == XI_ButtonRelease)
|
||||
{
|
||||
if (button)
|
||||
{
|
||||
/* The detail field contains
|
||||
* button number for button events
|
||||
*/
|
||||
*button = ((XIDeviceEvent *) xev)->detail;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif /* HAVE_XINPUT2 */
|
||||
{
|
||||
if (ev->type == ButtonPress ||
|
||||
ev->type == ButtonRelease)
|
||||
{
|
||||
if (button)
|
||||
*button = ev->xbutton.button;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* NB: Also works for focus in/out events */
|
||||
gboolean
|
||||
meta_input_event_get_crossing_details (MetaDisplay *display,
|
||||
XEvent *ev,
|
||||
guint *mode_out,
|
||||
guint *detail_out)
|
||||
{
|
||||
gboolean retval = TRUE;
|
||||
guint mode, detail;
|
||||
|
||||
#ifdef HAVE_XINPUT2
|
||||
if (ev->type == GenericEvent &&
|
||||
ev->xcookie.extension == display->xinput2_opcode)
|
||||
{
|
||||
XIEvent *xev;
|
||||
|
||||
g_assert (display->have_xinput2 == TRUE);
|
||||
|
||||
xev = (XIEvent *) ev->xcookie.data;
|
||||
|
||||
if (xev->evtype == XI_Enter ||
|
||||
xev->evtype == XI_Leave ||
|
||||
xev->evtype == XI_FocusIn ||
|
||||
xev->evtype == XI_FocusOut)
|
||||
{
|
||||
mode = ((XIEnterEvent *) xev)->mode;
|
||||
detail = ((XIEnterEvent *) xev)->detail;
|
||||
}
|
||||
else
|
||||
retval = FALSE;
|
||||
}
|
||||
else
|
||||
#endif /* HAVE_XINPUT2 */
|
||||
{
|
||||
if (ev->type == EnterNotify ||
|
||||
ev->type == LeaveNotify)
|
||||
{
|
||||
mode = ev->xcrossing.mode;
|
||||
detail = ev->xcrossing.detail;
|
||||
}
|
||||
else if (ev->type == FocusIn ||
|
||||
ev->type == FocusOut)
|
||||
{
|
||||
mode = ev->xfocus.mode;
|
||||
detail = ev->xfocus.detail;
|
||||
}
|
||||
else
|
||||
retval = FALSE;
|
||||
}
|
||||
|
||||
if (retval)
|
||||
{
|
||||
if (mode_out)
|
||||
*mode_out = mode;
|
||||
|
||||
if (detail_out)
|
||||
*detail_out = detail;
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
MetaDevice *
|
||||
meta_input_event_get_device (MetaDisplay *display,
|
||||
XEvent *ev)
|
||||
{
|
||||
guint evtype;
|
||||
|
||||
if (!meta_input_event_get_type (display, ev, &evtype))
|
||||
return NULL;
|
||||
|
||||
#ifdef HAVE_XINPUT2
|
||||
if (ev->type == GenericEvent &&
|
||||
ev->xcookie.extension == display->xinput2_opcode)
|
||||
{
|
||||
XIEvent *xev;
|
||||
|
||||
g_assert (display->have_xinput2 == TRUE);
|
||||
|
||||
xev = (XIEvent *) ev->xcookie.data;
|
||||
|
||||
switch (evtype)
|
||||
{
|
||||
case XI_Motion:
|
||||
case XI_ButtonPress:
|
||||
case XI_ButtonRelease:
|
||||
case XI_KeyPress:
|
||||
case XI_KeyRelease:
|
||||
#ifdef HAVE_XTOUCH
|
||||
case XI_TouchBegin:
|
||||
case XI_TouchEnd:
|
||||
case XI_TouchUpdate:
|
||||
#endif /* HAVE_XTOUCH */
|
||||
return meta_device_map_lookup (display->device_map,
|
||||
((XIDeviceEvent *) xev)->deviceid);
|
||||
case XI_FocusIn:
|
||||
case XI_FocusOut:
|
||||
case XI_Enter:
|
||||
case XI_Leave:
|
||||
return meta_device_map_lookup (display->device_map,
|
||||
((XIEnterEvent *) xev)->deviceid);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
switch (ev->type)
|
||||
{
|
||||
case KeyPress:
|
||||
case KeyRelease:
|
||||
case FocusIn:
|
||||
case FocusOut:
|
||||
return meta_device_map_lookup (display->device_map,
|
||||
META_CORE_KEYBOARD_ID);
|
||||
default:
|
||||
/* All other events are pointers' */
|
||||
return meta_device_map_lookup (display->device_map,
|
||||
META_CORE_POINTER_ID);
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
MetaDevice *
|
||||
meta_input_event_get_source_device (MetaDisplay *display,
|
||||
XEvent *ev)
|
||||
{
|
||||
#ifdef HAVE_XINPUT2
|
||||
if (ev->type == GenericEvent &&
|
||||
ev->xcookie.extension == display->xinput2_opcode)
|
||||
{
|
||||
XIEvent *xev;
|
||||
|
||||
g_assert (display->have_xinput2 == TRUE);
|
||||
|
||||
xev = (XIEvent *) ev->xcookie.data;
|
||||
|
||||
switch (xev->evtype)
|
||||
{
|
||||
case XI_Motion:
|
||||
case XI_ButtonPress:
|
||||
case XI_ButtonRelease:
|
||||
case XI_KeyPress:
|
||||
case XI_KeyRelease:
|
||||
#ifdef HAVE_XTOUCH
|
||||
case XI_TouchBegin:
|
||||
case XI_TouchEnd:
|
||||
case XI_TouchUpdate:
|
||||
#endif /* HAVE_XTOUCH */
|
||||
return meta_device_map_lookup (display->device_map,
|
||||
((XIDeviceEvent *) xev)->sourceid);
|
||||
case XI_FocusIn:
|
||||
case XI_FocusOut:
|
||||
case XI_Enter:
|
||||
case XI_Leave:
|
||||
return meta_device_map_lookup (display->device_map,
|
||||
((XIEnterEvent *) xev)->sourceid);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return NULL;
|
||||
}
|
||||
88
src/core/input-events.h
Normal file
88
src/core/input-events.h
Normal file
@@ -0,0 +1,88 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/**
|
||||
* \file event.h Utility functions for handling events
|
||||
*
|
||||
* Handling events.
|
||||
* This file contains helper methods to handle events, specially
|
||||
* input events, which can be either core or XInput2.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011 Carlos Garnacho
|
||||
*
|
||||
* 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_EVENT_H
|
||||
#define META_EVENT_H
|
||||
|
||||
#include <config.h>
|
||||
#include <X11/Xlib.h>
|
||||
#include "display-private.h"
|
||||
#include <meta/device-map.h>
|
||||
|
||||
/* Add an extra flag for touch events in
|
||||
* evmasks, an arbitrarily high bit is taken.
|
||||
*/
|
||||
#define META_INPUT_TOUCH_EVENTS_MASK (1L<<31)
|
||||
|
||||
gboolean meta_input_event_get_type (MetaDisplay *display,
|
||||
XEvent *ev,
|
||||
guint *ev_type);
|
||||
gboolean meta_input_event_is_type (MetaDisplay *display,
|
||||
XEvent *ev,
|
||||
guint ev_type);
|
||||
|
||||
gboolean meta_input_event_get_touch_id (MetaDisplay *display,
|
||||
XEvent *ev,
|
||||
guint *touch_id);
|
||||
|
||||
Window meta_input_event_get_window (MetaDisplay *display,
|
||||
XEvent *ev);
|
||||
Window meta_input_event_get_root_window (MetaDisplay *display,
|
||||
XEvent *ev);
|
||||
|
||||
Time meta_input_event_get_time (MetaDisplay *display,
|
||||
XEvent *ev);
|
||||
|
||||
gboolean meta_input_event_get_coordinates (MetaDisplay *display,
|
||||
XEvent *ev,
|
||||
gdouble *x_ret,
|
||||
gdouble *y_ret,
|
||||
gdouble *x_root_ret,
|
||||
gdouble *y_root_ret);
|
||||
|
||||
gboolean meta_input_event_get_state (MetaDisplay *display,
|
||||
XEvent *ev,
|
||||
guint *state);
|
||||
gboolean meta_input_event_get_keycode (MetaDisplay *display,
|
||||
XEvent *ev,
|
||||
guint *keycode);
|
||||
gboolean meta_input_event_get_button (MetaDisplay *display,
|
||||
XEvent *event,
|
||||
guint *button);
|
||||
gboolean meta_input_event_get_crossing_details (MetaDisplay *display,
|
||||
XEvent *ev,
|
||||
guint *mode_out,
|
||||
guint *detail_out);
|
||||
|
||||
MetaDevice *meta_input_event_get_device (MetaDisplay *display,
|
||||
XEvent *ev);
|
||||
MetaDevice *meta_input_event_get_source_device (MetaDisplay *display,
|
||||
XEvent *ev);
|
||||
|
||||
#endif /* META_EVENT_H */
|
||||
@@ -36,14 +36,18 @@ void meta_display_shutdown_keys (MetaDisplay *display);
|
||||
void meta_screen_grab_keys (MetaScreen *screen);
|
||||
void meta_screen_ungrab_keys (MetaScreen *screen);
|
||||
gboolean meta_screen_grab_all_keys (MetaScreen *screen,
|
||||
MetaDevice *device,
|
||||
guint32 timestamp);
|
||||
void meta_screen_ungrab_all_keys (MetaScreen *screen,
|
||||
void meta_screen_ungrab_all_keys (MetaScreen *screen,
|
||||
MetaDevice *device,
|
||||
guint32 timestamp);
|
||||
void meta_window_grab_keys (MetaWindow *window);
|
||||
void meta_window_ungrab_keys (MetaWindow *window);
|
||||
gboolean meta_window_grab_all_keys (MetaWindow *window,
|
||||
MetaDevice *device,
|
||||
guint32 timestamp);
|
||||
void meta_window_ungrab_all_keys (MetaWindow *window,
|
||||
MetaDevice *device,
|
||||
guint32 timestamp);
|
||||
gboolean meta_display_process_key_event (MetaDisplay *display,
|
||||
MetaWindow *window,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user