Compare commits
174 Commits
3.1.90
...
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 |
1
.gitignore
vendored
1
.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
|
||||
|
||||
87
NEWS
87
NEWS
@@ -1,3 +1,90 @@
|
||||
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
|
||||
|
||||
54
configure.in
54
configure.in
@@ -1,8 +1,8 @@
|
||||
AC_PREREQ(2.50)
|
||||
|
||||
m4_define([mutter_major_version], [3])
|
||||
m4_define([mutter_minor_version], [1])
|
||||
m4_define([mutter_micro_version], [90])
|
||||
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
|
||||
@@ -225,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
|
||||
@@ -544,6 +588,8 @@ mutter-$VERSION
|
||||
Shape extension: ${found_shape}
|
||||
Xsync: ${found_xsync}
|
||||
Xcursor: ${have_xcursor}
|
||||
XInput2: ${have_xinput2}
|
||||
Touch events: ${have_xtouch}
|
||||
"
|
||||
|
||||
|
||||
|
||||
261
po/be.po
261
po/be.po
@@ -1,9 +1,10 @@
|
||||
# Ihar Hrachyshka <ihar.hrachyshka@gmail.com>, 2011.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: mutter.master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-07-14 00:21+0300\n"
|
||||
"PO-Revision-Date: 2011-07-14 00:23+0300\n"
|
||||
"POT-Creation-Date: 2011-09-04 19:15+0300\n"
|
||||
"PO-Revision-Date: 2011-09-04 19:16+0300\n"
|
||||
"Last-Translator: Ігар Грачышка <ihar.hrachyshka@gmail.com>\n"
|
||||
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
|
||||
"Language: be\n"
|
||||
@@ -16,7 +17,7 @@ msgstr ""
|
||||
|
||||
#. 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:509
|
||||
#: ../src/compositor/compositor.c:486
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
@@ -171,7 +172,7 @@ msgstr "Запусціць тэрмінал"
|
||||
|
||||
#: ../src/core/all-keybindings.h:271
|
||||
msgid "Activate the window menu"
|
||||
msgstr "Адчыніць меню акна"
|
||||
msgstr "Адкрыць меню акна"
|
||||
|
||||
#: ../src/core/all-keybindings.h:274
|
||||
msgid "Toggle fullscreen mode"
|
||||
@@ -179,7 +180,7 @@ msgstr "Перамяніць рэжым \"на ўвесь экран\""
|
||||
|
||||
#: ../src/core/all-keybindings.h:276
|
||||
msgid "Toggle maximization state"
|
||||
msgstr "Перамяніць разгорнутасць акна"
|
||||
msgstr "Перамяніць максімалізацыю акна"
|
||||
|
||||
#: ../src/core/all-keybindings.h:278
|
||||
msgid "Toggle whether a window will always be visible over other windows"
|
||||
@@ -187,7 +188,7 @@ msgstr "Перамяніць, ці будзе акно заўсёды ўзнят
|
||||
|
||||
#: ../src/core/all-keybindings.h:280
|
||||
msgid "Maximize window"
|
||||
msgstr "Разгарнуць акно"
|
||||
msgstr "Максімалізаваць акно"
|
||||
|
||||
#: ../src/core/all-keybindings.h:282
|
||||
msgid "Restore window"
|
||||
@@ -199,11 +200,11 @@ msgstr "Перамяніць скручанасць акна ў загалова
|
||||
|
||||
#: ../src/core/all-keybindings.h:286
|
||||
msgid "Minimize window"
|
||||
msgstr "Прыхаваць акно"
|
||||
msgstr "Мінімалізаваць акно"
|
||||
|
||||
#: ../src/core/all-keybindings.h:288
|
||||
msgid "Close window"
|
||||
msgstr "Зачыніць акно"
|
||||
msgstr "Закрыць акно"
|
||||
|
||||
#: ../src/core/all-keybindings.h:290
|
||||
msgid "Move window"
|
||||
@@ -295,11 +296,11 @@ msgstr "Апусціць акно ніжэй за астатнія"
|
||||
|
||||
#: ../src/core/all-keybindings.h:364
|
||||
msgid "Maximize window vertically"
|
||||
msgstr "Разгарнуць акно вертыкальна"
|
||||
msgstr "Вертыкальна максімалізаваць акно"
|
||||
|
||||
#: ../src/core/all-keybindings.h:368
|
||||
msgid "Maximize window horizontally"
|
||||
msgstr "Разгарнуць акно гарызантальна"
|
||||
msgstr "Гарызантальна максімалізаваць акно"
|
||||
|
||||
#: ../src/core/all-keybindings.h:372
|
||||
msgid "Move window to north-west (top left) corner"
|
||||
@@ -379,7 +380,7 @@ msgstr ""
|
||||
#: ../src/core/display.c:431
|
||||
#, c-format
|
||||
msgid "Failed to open X Window System display '%s'\n"
|
||||
msgstr "Не ўдалося адчыніць X-дысплей аконнай сістэмы \"%s\"\n"
|
||||
msgstr "Не ўдалося адкрыць X-дысплей аконнай сістэмы \"%s\"\n"
|
||||
|
||||
#: ../src/core/keybindings.c:759
|
||||
#, c-format
|
||||
@@ -486,36 +487,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 "Значэнне %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"
|
||||
@@ -523,12 +524,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 "
|
||||
@@ -537,17 +538,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 "
|
||||
@@ -556,17 +557,17 @@ 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 ""
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr ""
|
||||
@@ -610,7 +611,7 @@ msgstr "Не ўдалося стварыць каталог \"%s\": %s\n"
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
msgid "Could not open session file '%s' for writing: %s\n"
|
||||
msgstr "Не ўдалося адчыніць файл сеанса \"%s\" для запісу: %s\n"
|
||||
msgstr "Не ўдалося адкрыць файл сеанса \"%s\" для запісу: %s\n"
|
||||
|
||||
#: ../src/core/session.c:1001
|
||||
#, c-format
|
||||
@@ -620,7 +621,7 @@ msgstr "Не ўдалося запісаць файл сеанса \"%s\": %s\n"
|
||||
#: ../src/core/session.c:1006
|
||||
#, c-format
|
||||
msgid "Error closing session file '%s': %s\n"
|
||||
msgstr "Не ўдалося зачыніць файл сеанса \"%s\": %s\n"
|
||||
msgstr "Не ўдалося закрыць файл сеанса \"%s\": %s\n"
|
||||
|
||||
#: ../src/core/session.c:1136
|
||||
#, c-format
|
||||
@@ -661,7 +662,7 @@ msgstr ""
|
||||
#: ../src/core/util.c:111
|
||||
#, c-format
|
||||
msgid "Failed to open debug log: %s\n"
|
||||
msgstr "Не ўдалося адчыніць адладачны журнал: %s\n"
|
||||
msgstr "Не ўдалося адкрыць адладачны журнал: %s\n"
|
||||
|
||||
#: ../src/core/util.c:121
|
||||
#, c-format
|
||||
@@ -671,7 +672,7 @@ msgstr "Не ўдалося выканаць fdopen() для журнальна
|
||||
#: ../src/core/util.c:127
|
||||
#, c-format
|
||||
msgid "Opened log file %s\n"
|
||||
msgstr "Журнальны файл %s адчынены\n"
|
||||
msgstr "Журнальны файл %s адкрыты\n"
|
||||
|
||||
#: ../src/core/util.c:146 ../src/tools/mutter-message.c:149
|
||||
#, c-format
|
||||
@@ -680,30 +681,30 @@ 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:632 ../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:6903
|
||||
#: ../src/core/window.c:7019
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -719,7 +720,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7566
|
||||
#: ../src/core/window.c:7682
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
@@ -739,12 +740,12 @@ msgstr "Праграма прызначыла памылковае значэн
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (на %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1488
|
||||
#: ../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:1500
|
||||
#: ../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"
|
||||
@@ -786,8 +787,8 @@ msgid ""
|
||||
"Determines whether hidden windows (i.e., minimized windows and windows on "
|
||||
"other workspaces than the current one) should be kept alive."
|
||||
msgstr ""
|
||||
"Вызначае, ці трэба захоўваць дзейнымі схаваныя вокны (напрыклад, прыхаваныя "
|
||||
"або вокны з іншых прастор працы)."
|
||||
"Вызначае, ці трэба захоўваць дзейнымі схаваныя вокны (напрыклад, "
|
||||
"мінімалізаваныя або вокны з іншых прастор працы)."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:3
|
||||
msgid ""
|
||||
@@ -798,15 +799,25 @@ 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 "
|
||||
@@ -814,14 +825,14 @@ msgid ""
|
||||
"default or set to the empty string."
|
||||
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 "
|
||||
"the parent window."
|
||||
msgstr ""
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Працоўныя прасторы толькі на галоўным экране"
|
||||
|
||||
@@ -830,64 +841,64 @@ msgstr "Працоўныя прасторы толькі на галоўным
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Правілы выкарыстання: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1289
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "Зачыніць акно"
|
||||
msgstr "Закрыць акно"
|
||||
|
||||
#: ../src/ui/frames.c:1292
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "Меню акна"
|
||||
|
||||
#: ../src/ui/frames.c:1295
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "Прыхаваць акно"
|
||||
msgstr "Мінімалізаваць акно"
|
||||
|
||||
#: ../src/ui/frames.c:1298
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "Разгарнуць акно"
|
||||
msgstr "Максімалізаваць акно"
|
||||
|
||||
#: ../src/ui/frames.c:1301
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "Аднавіць былы памер акна"
|
||||
|
||||
#: ../src/ui/frames.c:1304
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Скруціць акно ў загаловак"
|
||||
|
||||
#: ../src/ui/frames.c:1307
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "Раскруціць акно з загалоўка"
|
||||
|
||||
#: ../src/ui/frames.c:1310
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Трымаць акно над астатнімі"
|
||||
|
||||
#: ../src/ui/frames.c:1313
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Прыбраць акно з верху"
|
||||
|
||||
#: ../src/ui/frames.c:1316
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Заўсёды на бачнай прасторы працы"
|
||||
|
||||
#: ../src/ui/frames.c:1319
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Змясціць акно на адзінай прасторы працы"
|
||||
|
||||
#. Translators: Translate this string the same way as you do in libwnck!
|
||||
#: ../src/ui/menu.c:69
|
||||
msgid "Mi_nimize"
|
||||
msgstr "Пр_ыхаваць акно"
|
||||
msgstr "_Мінімалізаваць"
|
||||
|
||||
#. Translators: Translate this string the same way as you do in libwnck!
|
||||
#: ../src/ui/menu.c:71
|
||||
msgid "Ma_ximize"
|
||||
msgstr "_Разгарнуць акно"
|
||||
msgstr "Ма_ксімалізаваць"
|
||||
|
||||
#. Translators: Translate this string the same way as you do in libwnck!
|
||||
#: ../src/ui/menu.c:73
|
||||
msgid "Unma_ximize"
|
||||
msgstr "Адна_віць разгорнутае акно"
|
||||
msgstr "Скасаваць ма_ксімалізацыю"
|
||||
|
||||
#. Translators: Translate this string the same way as you do in libwnck!
|
||||
#: ../src/ui/menu.c:75
|
||||
@@ -933,28 +944,28 @@ msgstr "_Толькі на гэтай прасторы працы"
|
||||
#. Translators: Translate this string the same way as you do in libwnck!
|
||||
#: ../src/ui/menu.c:94
|
||||
msgid "Move to Workspace _Left"
|
||||
msgstr "Перамясціць на прасторы працы з_лева"
|
||||
msgstr "Перамясціць на прастору працы з_лева"
|
||||
|
||||
#. Translators: Translate this string the same way as you do in libwnck!
|
||||
#: ../src/ui/menu.c:96
|
||||
msgid "Move to Workspace R_ight"
|
||||
msgstr "Перамясціць на прасторы працы с_права"
|
||||
msgstr "Перамясціць на прастору працы с_права"
|
||||
|
||||
#. Translators: Translate this string the same way as you do in libwnck!
|
||||
#: ../src/ui/menu.c:98
|
||||
msgid "Move to Workspace _Up"
|
||||
msgstr "Перамясціць на прасторы працы з_верху"
|
||||
msgstr "Перамясціць на прастору працы з_верху"
|
||||
|
||||
#. Translators: Translate this string the same way as you do in libwnck!
|
||||
#: ../src/ui/menu.c:100
|
||||
msgid "Move to Workspace _Down"
|
||||
msgstr "Перамясціць на прасторы працы з_нізу"
|
||||
msgstr "Перамясціць на прастору працы з_нізу"
|
||||
|
||||
#. separator
|
||||
#. Translators: Translate this string the same way as you do in libwnck!
|
||||
#: ../src/ui/menu.c:104
|
||||
msgid "_Close"
|
||||
msgstr "_Зачыніць акно"
|
||||
msgstr "_Закрыць акно"
|
||||
|
||||
#: ../src/ui/menu.c:204
|
||||
#, c-format
|
||||
@@ -1073,262 +1084,262 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:252
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "верхнюю"
|
||||
|
||||
#: ../src/ui/theme.c:254
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "ніжнюю"
|
||||
|
||||
#: ../src/ui/theme.c:256
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "левую"
|
||||
|
||||
#: ../src/ui/theme.c:258
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "правую"
|
||||
|
||||
#: ../src/ui/theme.c:285
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "апісанне геаметрыі рамкі акна не вызначае %s граніцу"
|
||||
|
||||
#: ../src/ui/theme.c:304
|
||||
#: ../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:341
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "Прапорцыі кнопкі %g не маюць сэнсу"
|
||||
|
||||
#: ../src/ui/theme.c:353
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "Апісанне геаметрыі рамкі акна не вызначае памер кнопак"
|
||||
|
||||
#: ../src/ui/theme.c:1061
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "Градыент мусіць мець прынамсі два колеры"
|
||||
|
||||
#: ../src/ui/theme.c:1206
|
||||
#: ../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 ""
|
||||
|
||||
#: ../src/ui/theme.c:1222
|
||||
#: ../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 ""
|
||||
|
||||
#: ../src/ui/theme.c:1236
|
||||
#: ../src/ui/theme.c:1242
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||
"fit the format"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:1272
|
||||
#: ../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 ""
|
||||
|
||||
#: ../src/ui/theme.c:1286
|
||||
#: ../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 ""
|
||||
|
||||
#: ../src/ui/theme.c:1297
|
||||
#: ../src/ui/theme.c:1312
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:1310
|
||||
#: ../src/ui/theme.c:1325
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:1340
|
||||
#: ../src/ui/theme.c:1355
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
"format"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:1351
|
||||
#: ../src/ui/theme.c:1366
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:1361
|
||||
#: ../src/ui/theme.c:1376
|
||||
#, c-format
|
||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:1408
|
||||
#: ../src/ui/theme.c:1423
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:1419
|
||||
#: ../src/ui/theme.c:1434
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:1429
|
||||
#: ../src/ui/theme.c:1444
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:1458
|
||||
#: ../src/ui/theme.c:1473
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:1769
|
||||
#: ../src/ui/theme.c:1784
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:1796
|
||||
#: ../src/ui/theme.c:1811
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
"parsed"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:1810
|
||||
#: ../src/ui/theme.c:1825
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:1932
|
||||
#: ../src/ui/theme.c:1947
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
"\"%s\""
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:1989
|
||||
#: ../src/ui/theme.c:2004
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:2100 ../src/ui/theme.c:2110 ../src/ui/theme.c:2144
|
||||
#: ../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:2152
|
||||
#: ../src/ui/theme.c:2167
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:2208
|
||||
#: ../src/ui/theme.c:2223
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:2217
|
||||
#: ../src/ui/theme.c:2232
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:2225
|
||||
#: ../src/ui/theme.c:2240
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:2235
|
||||
#: ../src/ui/theme.c:2250
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
"operand in between"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:2386 ../src/ui/theme.c:2431
|
||||
#: ../src/ui/theme.c:2401 ../src/ui/theme.c:2446
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:2485
|
||||
#: ../src/ui/theme.c:2500
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:2514
|
||||
#: ../src/ui/theme.c:2529
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:2578
|
||||
#: ../src/ui/theme.c:2593
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:2589
|
||||
#: ../src/ui/theme.c:2604
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:2801 ../src/ui/theme.c:2821 ../src/ui/theme.c:2841
|
||||
#: ../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 ""
|
||||
|
||||
#: ../src/ui/theme.c:4512
|
||||
#: ../src/ui/theme.c:4527
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
"specified for this frame style"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:5042 ../src/ui/theme.c:5067
|
||||
#: ../src/ui/theme.c:5060 ../src/ui/theme.c:5085
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:5115
|
||||
#: ../src/ui/theme.c:5133
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "Не ўдалося загрузіць матыў аздаблення \"%s\": %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5251 ../src/ui/theme.c:5258 ../src/ui/theme.c:5265
|
||||
#: ../src/ui/theme.c:5272 ../src/ui/theme.c:5279
|
||||
#: ../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 "Для матыва аздаблення \"%2$s\" не прызначана <%1$s>"
|
||||
|
||||
#: ../src/ui/theme.c:5287
|
||||
#: ../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 ""
|
||||
|
||||
#: ../src/ui/theme.c:5737 ../src/ui/theme.c:5799 ../src/ui/theme.c:5862
|
||||
#: ../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 ""
|
||||
|
||||
#: ../src/ui/theme.c:5745 ../src/ui/theme.c:5807 ../src/ui/theme.c:5870
|
||||
#: ../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\" ужо азначана"
|
||||
@@ -1845,7 +1856,7 @@ msgstr ""
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1058
|
||||
#: ../src/ui/theme-viewer.c:1055
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Drew %d frames in %g client-side seconds (%g milliseconds per frame) and %g "
|
||||
@@ -1853,39 +1864,39 @@ msgid ""
|
||||
"frame)\n"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1277
|
||||
#: ../src/ui/theme-viewer.c:1274
|
||||
msgid "position expression test returned TRUE but set error"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1279
|
||||
#: ../src/ui/theme-viewer.c:1276
|
||||
msgid "position expression test returned FALSE but didn't set error"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1283
|
||||
#: ../src/ui/theme-viewer.c:1280
|
||||
msgid "Error was expected but none given"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1285
|
||||
#: ../src/ui/theme-viewer.c:1282
|
||||
#, c-format
|
||||
msgid "Error %d was expected but %d given"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1291
|
||||
#: ../src/ui/theme-viewer.c:1288
|
||||
#, c-format
|
||||
msgid "Error not expected but one was returned: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1295
|
||||
#: ../src/ui/theme-viewer.c:1292
|
||||
#, c-format
|
||||
msgid "x value was %d, %d was expected"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1298
|
||||
#: ../src/ui/theme-viewer.c:1295
|
||||
#, c-format
|
||||
msgid "y value was %d, %d was expected"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1363
|
||||
#: ../src/ui/theme-viewer.c:1360
|
||||
#, c-format
|
||||
msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
||||
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í"
|
||||
|
||||
|
||||
@@ -10,8 +10,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: metacity 2.24\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-05-29 18:56+0200\n"
|
||||
"PO-Revision-Date: 2011-04-03 23:45+0200\n"
|
||||
"POT-Creation-Date: 2011-09-26 14:18+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"
|
||||
@@ -146,7 +157,7 @@ msgstr "Mostra el diàleg d'execució d'aplicacions del quadre"
|
||||
|
||||
#: ../src/core/all-keybindings.h:211
|
||||
msgid "Start or stop recording the session"
|
||||
msgstr "Inicia o para l'enregistrament de la sessió"
|
||||
msgstr "Inicia o atura l'enregistrament de la sessió"
|
||||
|
||||
#: ../src/core/all-keybindings.h:252
|
||||
msgid "Take a screenshot"
|
||||
@@ -336,7 +347,7 @@ msgstr "Mou la finestra al centre de la pantalla"
|
||||
msgid "Bell event"
|
||||
msgstr "Esdeveniment de campana"
|
||||
|
||||
#: ../src/core/core.c:160
|
||||
#: ../src/core/core.c:157
|
||||
#, c-format
|
||||
msgid "Unknown window information request: %d"
|
||||
msgstr "Es desconeix la informació demanada sobre la finestra: %d"
|
||||
@@ -347,9 +358,8 @@ msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> no està responent."
|
||||
|
||||
#: ../src/core/delete.c:114
|
||||
#, fuzzy
|
||||
msgid "Application is not responding."
|
||||
msgstr "<tt>%s</tt> no està responent."
|
||||
msgstr "L'aplicació no està responent."
|
||||
|
||||
#: ../src/core/delete.c:119
|
||||
msgid ""
|
||||
@@ -389,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"
|
||||
@@ -400,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 "No s'ha definit cap orde %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 orde de terminal.\n"
|
||||
@@ -482,37 +492,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"
|
||||
@@ -520,14 +530,14 @@ msgstr ""
|
||||
"Les solucions temporals per a aplicacions amb errors estan inhabilitades. "
|
||||
"Pot ser que certes aplicacions no funcionen 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 "
|
||||
@@ -536,18 +546,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 "
|
||||
@@ -556,33 +566,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:663
|
||||
#: ../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:679
|
||||
#: ../src/core/screen.c:757
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@@ -591,7 +601,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:706
|
||||
#: ../src/core/screen.c:784
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
@@ -599,12 +609,12 @@ msgstr ""
|
||||
"No s'ha pogut adquirir la selecció del gestor de finestres en la pantalla %d "
|
||||
"visualització «%s»\n"
|
||||
|
||||
#: ../src/core/screen.c:761
|
||||
#: ../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:946
|
||||
#: ../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"
|
||||
@@ -686,30 +696,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: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:6873
|
||||
#: ../src/core/window.c:7069
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -725,7 +729,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7536
|
||||
#: ../src/core/window.c:7732
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
@@ -745,12 +749,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:1484
|
||||
#: ../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 ""
|
||||
@@ -781,6 +790,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"
|
||||
@@ -802,16 +815,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 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 "
|
||||
@@ -823,7 +849,7 @@ msgstr ""
|
||||
"predeterminat és la «tecla Windows» en maquinari basat en ordinadors PC. El "
|
||||
"valor d'esta vinculació s'espera que siga 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 "
|
||||
@@ -833,7 +859,7 @@ msgstr ""
|
||||
"diàlegs modals apareixeran adjuntats a la barra de títol de la finestra mare "
|
||||
"i es mouran juntament amb esta."
|
||||
|
||||
#: ../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"
|
||||
|
||||
@@ -842,47 +868,47 @@ msgstr "Espais de treball només en el primari"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Forma d'ús: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1280
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "Tanca la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1283
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "Menú de la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1286
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "Minimitza la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1289
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "Maximitza la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1292
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "Restaura la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1295
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Enrotlla la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1298
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "Desenrotlla la finestra"
|
||||
|
||||
#: ../src/ui/frames.c:1301
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Mantén la finestra per damunt"
|
||||
|
||||
#: ../src/ui/frames.c:1304
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Trau la finestra de damunt"
|
||||
msgstr "Treu la finestra de damunt"
|
||||
|
||||
#: ../src/ui/frames.c:1307
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Sempre a l'espai de treball visible"
|
||||
|
||||
#: ../src/ui/frames.c:1310
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Posa la finestra només a un espai de treball"
|
||||
|
||||
@@ -1085,49 +1111,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 tindre 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 tindre 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] "
|
||||
@@ -1136,7 +1190,7 @@ msgstr ""
|
||||
"L'especificació de color GTK ha de tindre 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:"
|
||||
@@ -1146,17 +1200,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 "
|
||||
@@ -1165,49 +1219,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:1481
|
||||
#, c-format
|
||||
msgid "Failed to retrieve color %s[%s] from GTK+ theme.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/ui/theme.c:1713
|
||||
#: ../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:1740
|
||||
#: ../src/ui/theme.c:1816
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
@@ -1216,12 +1265,12 @@ msgstr ""
|
||||
"L'expressió coordinada conté el número '%s' de punt flotant el qual no es "
|
||||
"pot analitzar"
|
||||
|
||||
#: ../src/ui/theme.c:1754
|
||||
#: ../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:1876
|
||||
#: ../src/ui/theme.c:1952
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
@@ -1230,17 +1279,17 @@ msgstr ""
|
||||
"L'expressió coordinada conté un operador desconegut a l'inici d'este text: "
|
||||
"«%s»"
|
||||
|
||||
#: ../src/ui/theme.c:1933
|
||||
#: ../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:2044 ../src/ui/theme.c:2054 ../src/ui/theme.c:2088
|
||||
#: ../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:2096
|
||||
#: ../src/ui/theme.c:2172
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
@@ -1248,25 +1297,25 @@ msgstr ""
|
||||
"L'expressió coordinada intenta utilitzar l'operador de mode en un número de "
|
||||
"punt flotant"
|
||||
|
||||
#: ../src/ui/theme.c:2152
|
||||
#: ../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:2161
|
||||
#: ../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:2169
|
||||
#: ../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:2179
|
||||
#: ../src/ui/theme.c:2255
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1275,39 +1324,39 @@ msgstr ""
|
||||
"L'expressió coordinada té un operador «%c» seguit de l'operador «%c» sense "
|
||||
"cap operand enmig"
|
||||
|
||||
#: ../src/ui/theme.c:2330 ../src/ui/theme.c:2375
|
||||
#: ../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:2429
|
||||
#: ../src/ui/theme.c:2505
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr ""
|
||||
"L'analitzador d'expressions de coordinades ha desbordat la seua memòria "
|
||||
"intermèdia."
|
||||
|
||||
#: ../src/ui/theme.c:2458
|
||||
#: ../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:2522
|
||||
#: ../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:2533
|
||||
#: ../src/ui/theme.c:2609
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "L'expressió coordinada no pareix tindre cap operador o operand"
|
||||
|
||||
#: ../src/ui/theme.c:2745 ../src/ui/theme.c:2765 ../src/ui/theme.c:2785
|
||||
#: ../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:4482
|
||||
#: ../src/ui/theme.c:4532
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1316,7 +1365,7 @@ msgstr ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"qualsevol\"/> s'ha "
|
||||
"d'especificar per a este estil de marc"
|
||||
|
||||
#: ../src/ui/theme.c:5012 ../src/ui/theme.c:5037
|
||||
#: ../src/ui/theme.c:5065 ../src/ui/theme.c:5090
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
@@ -1324,18 +1373,18 @@ msgstr ""
|
||||
"No s'ha trobat <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style="
|
||||
"\"qualsevol\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5085
|
||||
#: ../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:5221 ../src/ui/theme.c:5228 ../src/ui/theme.c:5235
|
||||
#: ../src/ui/theme.c:5242 ../src/ui/theme.c:5249
|
||||
#: ../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:5257
|
||||
#: ../src/ui/theme.c:5310
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1344,7 +1393,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:5707 ../src/ui/theme.c:5769 ../src/ui/theme.c:5832
|
||||
#: ../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"
|
||||
@@ -1352,7 +1401,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:5715 ../src/ui/theme.c:5777 ../src/ui/theme.c:5840
|
||||
#: ../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"
|
||||
@@ -1373,7 +1422,7 @@ msgstr "Línia %d caràcter %d: %s"
|
||||
#: ../src/ui/theme-parser.c:479
|
||||
#, c-format
|
||||
msgid "Attribute \"%s\" repeated twice on the same <%s> element"
|
||||
msgstr "S'ha repetit l'atribut «%s» dos vegades en el mateix element <%s>"
|
||||
msgstr "S'ha repetit l'atribut «%s» dues vegades en el mateix element <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:503 ../src/ui/theme-parser.c:552
|
||||
#, c-format
|
||||
@@ -1435,7 +1484,7 @@ msgstr ""
|
||||
#: ../src/ui/theme-parser.c:1116 ../src/ui/theme-parser.c:1219
|
||||
#, c-format
|
||||
msgid "<%s> name \"%s\" used a second time"
|
||||
msgstr "<%s> amb nom «%s» s'ha utilitzat dos vegades"
|
||||
msgstr "<%s> amb nom «%s» s'ha utilitzat dues vegades"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1031 ../src/ui/theme-parser.c:1128
|
||||
#: ../src/ui/theme-parser.c:1231
|
||||
@@ -1737,7 +1786,7 @@ msgstr "No es permet cap text dins de l'element <%s>"
|
||||
#: ../src/ui/theme-parser.c:4074
|
||||
#, c-format
|
||||
msgid "<%s> specified twice for this theme"
|
||||
msgstr "S'ha especificat <%s> dos vegades per a este tema"
|
||||
msgstr "S'ha especificat <%s> dues vegades per a este tema"
|
||||
|
||||
#: ../src/ui/theme-parser.c:4348
|
||||
#, c-format
|
||||
@@ -1809,88 +1858,88 @@ msgstr "Este é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 ací"
|
||||
|
||||
|
||||
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"
|
||||
|
||||
|
||||
46
po/es.po
46
po/es.po
@@ -6,26 +6,26 @@
|
||||
# Héctor García Álvarez <hector@scouts-es.org>, 2001.
|
||||
# Pablo Gonzalo del Campo <pablodc@bigfoot.com>,2002,2003.
|
||||
# Francisco Javier F. Serrador <serrador@cvs.gnome.org>, 2004, 2005, 2006.
|
||||
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011.
|
||||
# Jorge González <jorgegonz@svn.gnome.org>, 2007, 2008, 2009, 2010, 2011.
|
||||
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011.
|
||||
#
|
||||
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-08-12 03:44+0000\n"
|
||||
"PO-Revision-Date: 2011-08-13 14:44+0200\n"
|
||||
"Last-Translator: Jorge González <jorgegonz@svn.gnome.org>\n"
|
||||
"POT-Creation-Date: 2011-08-29 11:52+0000\n"
|
||||
"PO-Revision-Date: 2011-09-14 17:50+0200\n"
|
||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||
"Language-Team: Español <gnome-es-list@gnome.org>\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"
|
||||
"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
|
||||
#: ../src/compositor/compositor.c:486
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
@@ -451,7 +451,7 @@ msgstr "Hacer que las llamadas a las X sean síncronas"
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "Falló al inspeccionar el directorio de temas: %s\n"
|
||||
msgstr "Falló al inspeccionar la carpeta de temas: %s\n"
|
||||
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
@@ -622,7 +622,7 @@ msgstr "No se ha podido liberar el monitor %d en la pantalla «%s»\n"
|
||||
#: ../src/core/session.c:843 ../src/core/session.c:850
|
||||
#, c-format
|
||||
msgid "Could not create directory '%s': %s\n"
|
||||
msgstr "No se ha podido crear el directorio «%s»: %s\n"
|
||||
msgstr "No se ha podido crear la carpeta «%s»: %s\n"
|
||||
|
||||
#: ../src/core/session.c:860
|
||||
#, c-format
|
||||
@@ -719,7 +719,7 @@ msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6959
|
||||
#: ../src/core/window.c:7019
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -735,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:7622
|
||||
#: ../src/core/window.c:7682
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
|
||||
@@ -755,13 +755,13 @@ msgstr "La aplicación establecio un _NET_WM_PID %lu erróneo\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (on %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1488
|
||||
#: ../src/core/window-props.c:1481
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr ""
|
||||
"WM_TRANSIENT_FOR inválido para la ventana 0x%lx especificada para %s.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1500
|
||||
#: ../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 ventana 0x%lx para %s crearía un bucle.\n"
|
||||
@@ -867,47 +867,47 @@ msgstr "Áreas de trabajo sólo en el primario"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Uso: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "Cerrar la ventana"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "Menú de la ventana"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "Minimizar la ventana"
|
||||
|
||||
#: ../src/ui/frames.c:1132
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "Maximizar la ventana"
|
||||
|
||||
#: ../src/ui/frames.c:1135
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "Restablecer la ventana"
|
||||
|
||||
#: ../src/ui/frames.c:1138
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Enrollar ventana"
|
||||
|
||||
#: ../src/ui/frames.c:1141
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "Desenrollar ventana"
|
||||
|
||||
#: ../src/ui/frames.c:1144
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Mantener la ventana encima"
|
||||
|
||||
#: ../src/ui/frames.c:1147
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Quitar ventana de encima"
|
||||
|
||||
#: ../src/ui/frames.c:1150
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Siempre en el área de trabajo visible"
|
||||
|
||||
#: ../src/ui/frames.c:1153
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Poner la ventana sólo en un área de trabajo"
|
||||
|
||||
|
||||
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"
|
||||
|
||||
|
||||
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 "
|
||||
|
||||
210
po/ja.po
210
po/ja.po
@@ -9,26 +9,27 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: mutter master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-08-14 21:24+0900\n"
|
||||
"PO-Revision-Date: 2011-08-14 21:23+0900\n"
|
||||
"Last-Translator: Takeshi AIHANA <takeshi.aihana@gmail.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-09-25 11:31+0000\n"
|
||||
"PO-Revision-Date: 2011-09-25 23:38+0900\n"
|
||||
"Last-Translator: OKANO Takayoshi <kano@na.rim.or.jp>\n"
|
||||
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
|
||||
"Language: ja\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ja\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
|
||||
#: ../src/compositor/compositor.c:492
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
"\"."
|
||||
msgstr ""
|
||||
"既に別の合成マネージャがディスプレイ \"%2$s\" 上のスクリーン %1$i で起動中で"
|
||||
"す"
|
||||
"既に別の合成マネージャーがディスプレイ \"%2$s\" 上のスクリーン %1$i で起動中"
|
||||
"です"
|
||||
|
||||
# 「キーボード・ショートカット」のアプレット (gnome-control-center) で表示するメッセージ
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
@@ -423,11 +424,11 @@ msgstr "端末を起動するコマンドが定義されていません。\n"
|
||||
|
||||
#: ../src/core/main.c:206
|
||||
msgid "Disable connection to session manager"
|
||||
msgstr "セッション・マネージャに接続しない"
|
||||
msgstr "セッション・マネージャーに接続しない"
|
||||
|
||||
#: ../src/core/main.c:212
|
||||
msgid "Replace the running window manager"
|
||||
msgstr "実行中のウィンドウ・マネージャを置き換える"
|
||||
msgstr "実行中のウィンドウ・マネージャーを置き換える"
|
||||
|
||||
#: ../src/core/main.c:218
|
||||
msgid "Specify session management ID"
|
||||
@@ -449,7 +450,7 @@ msgstr "Xの呼び出しを同期させる"
|
||||
#: ../src/core/main.c:504
|
||||
#, c-format
|
||||
msgid "Failed to scan themes directory: %s\n"
|
||||
msgstr "テーマ・フォルダのスキャンに失敗しました: %s\n"
|
||||
msgstr "テーマ・フォルダーのスキャンに失敗しました: %s\n"
|
||||
|
||||
#: ../src/core/main.c:520
|
||||
#, c-format
|
||||
@@ -578,37 +579,37 @@ msgstr ""
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "タブなしのポップアップ・ステータスの設定エラー: %s\n"
|
||||
|
||||
#: ../src/core/screen.c:663
|
||||
#: ../src/core/screen.c:741
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "ディスプレイ '%2$s' 上のスクリーン %1$d は無効です\n"
|
||||
|
||||
#: ../src/core/screen.c:679
|
||||
#: ../src/core/screen.c:757
|
||||
#, 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"
|
||||
"ディスプレイ \"%2$s\" 上のスクリーン %1$d はすでにウィンドウマネージャーを"
|
||||
"持っています; 現在のウィンドウマネージャーを上書きするために --replace という"
|
||||
"オプションの使用を試してみて下さい。\n"
|
||||
|
||||
#: ../src/core/screen.c:706
|
||||
#: ../src/core/screen.c:784
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
msgstr ""
|
||||
"ディスプレイ \"%2$s\" 上のスクリーン %1$d でウィンドウマネージャの選択を取得"
|
||||
"できませんでした\n"
|
||||
"ディスプレイ \"%2$s\" 上のスクリーン %1$d でウィンドウマネージャーの選択を取"
|
||||
"得できませんでした\n"
|
||||
|
||||
#: ../src/core/screen.c:761
|
||||
#: ../src/core/screen.c:839
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr ""
|
||||
"ディスプレイ \"%2$s\" 上のスクリーン %1$d はすでにウィンドウマネージャを持っ"
|
||||
"ています\n"
|
||||
"ディスプレイ \"%2$s\" 上のスクリーン %1$d はすでにウィンドウマネージャーを"
|
||||
"持っています\n"
|
||||
|
||||
#: ../src/core/screen.c:946
|
||||
#: ../src/core/screen.c:1024
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "ディスプレイ \"%2$s\" 上のスクリーン %1$d を解放できませんでした\n"
|
||||
@@ -689,30 +690,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 "ウィンドウ・マネージャ: "
|
||||
msgstr "ウィンドウ・マネージャー: "
|
||||
|
||||
#: ../src/core/util.c:434
|
||||
#: ../src/core/util.c:438
|
||||
msgid "Bug in window manager: "
|
||||
msgstr "ウィンドウ・マネージャのバグ: "
|
||||
msgstr "ウィンドウ・マネージャーのバグ: "
|
||||
|
||||
#: ../src/core/util.c:467
|
||||
#: ../src/core/util.c:471
|
||||
msgid "Window manager warning: "
|
||||
msgstr "ウィンドウ・マネージャの警告: "
|
||||
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:632 ../src/mutter.desktop.in.h:1
|
||||
#: ../src/mutter-wm.desktop.in.h:1
|
||||
msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
msgstr "ウィンドウ・マネージャーのエラー: "
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6959
|
||||
#: ../src/core/window.c:7069
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -728,11 +723,11 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7622
|
||||
#: ../src/core/window.c:7732
|
||||
#, 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も設定しています.これはあまり意味がありませ"
|
||||
@@ -748,13 +743,13 @@ msgstr "アプリケーションが間違った _NET_WM_PID %lu を設定しま
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (%s)"
|
||||
|
||||
#: ../src/core/window-props.c:1488
|
||||
#: ../src/core/window-props.c:1481
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr ""
|
||||
"%2$s で指定したウィンドウ 0x%1$lx の WM_TRANSIENT_FOR が間違っています\n"
|
||||
|
||||
#: ../src/core/window-props.c:1500
|
||||
#: ../src/core/window-props.c:1492
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr ""
|
||||
@@ -773,7 +768,7 @@ msgstr ""
|
||||
"ウィンドウ 0x%1$lx には type %5$s format %6$d n_items %7$d のプロパティ\n"
|
||||
"%2$s が指定されていますが,実際には type %3$s format %4$d であることを\n"
|
||||
"期待されています.これは,ほとんどの場合,アプリケーションのバグであり,\n"
|
||||
"ウィンドウマネージャのバグではありません.\n"
|
||||
"ウィンドウマネージャーのバグではありません.\n"
|
||||
"ウィンドウの属性は title=\"%8$s\" class=\"%9$s\" name=\"%10$s\"です.\n"
|
||||
|
||||
#: ../src/core/xprops.c:411
|
||||
@@ -789,6 +784,10 @@ msgstr ""
|
||||
"ウィンドウ 0x%2$lx 上のプロパティ %1$s はリスト内のアイテム %3$d で無効な "
|
||||
"UTF-8を含んでいました\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 "モーダルなダイアログを統合するかどうか"
|
||||
@@ -807,9 +806,9 @@ 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"
|
||||
@@ -855,54 +854,54 @@ msgstr ""
|
||||
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "プライマリ・モニタのみワークスペースを切り替えるかどうか"
|
||||
msgstr "プライマリ・モニターのみワークスペースを切り替えるかどうか"
|
||||
|
||||
#: ../src/tools/mutter-message.c:123
|
||||
#, c-format
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "用法: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1123
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "ウィンドウを閉じます"
|
||||
|
||||
#: ../src/ui/frames.c:1126
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "ウィンドウ・メニューを表示します"
|
||||
|
||||
#: ../src/ui/frames.c:1129
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "ウィンドウを最小化します"
|
||||
|
||||
#: ../src/ui/frames.c:1132
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "ウィンドウを最大化します"
|
||||
|
||||
#: ../src/ui/frames.c:1135
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "ウィンドウの状態を元に戻します"
|
||||
|
||||
#: ../src/ui/frames.c:1138
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "ウィンドウを巻き上げます"
|
||||
|
||||
#: ../src/ui/frames.c:1141
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "ウィンドウの巻き上げを解除します"
|
||||
|
||||
#: ../src/ui/frames.c:1144
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "ウィンドウを最前面に維持します"
|
||||
|
||||
#: ../src/ui/frames.c:1147
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "ウィンドウを最前面の維持から解除します"
|
||||
|
||||
#: ../src/ui/frames.c:1150
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "全てのワークスペースに配置します"
|
||||
|
||||
#: ../src/ui/frames.c:1153
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "現在のワークスペースにのみ配置します"
|
||||
|
||||
@@ -1141,12 +1140,12 @@ msgstr "ボタンのアスペクト比 %g は妥当ではありません"
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "フレームジオメトリはボタンのサイズを指定しません"
|
||||
|
||||
#: ../src/ui/theme.c:1060
|
||||
#: ../src/ui/theme.c:1065
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "階調度は少なくとも2つの色をもつべきです"
|
||||
|
||||
#: ../src/ui/theme.c:1212
|
||||
#: ../src/ui/theme.c:1217
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
@@ -1155,7 +1154,7 @@ msgstr ""
|
||||
"\"%s\" を解析できませんでした; GTK の色指定では gtk:custom(foo,bar); のように"
|
||||
"括弧の中に色の名前とそれと代替えになる色の名前を指定して下さい"
|
||||
|
||||
#: ../src/ui/theme.c:1228
|
||||
#: ../src/ui/theme.c:1233
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||
@@ -1164,16 +1163,16 @@ msgstr ""
|
||||
"gtk:custom の color_name で指定した文字が間違っています (使用できる文字は A-"
|
||||
"Za-z0-9-_): '%c'"
|
||||
|
||||
#: ../src/ui/theme.c:1242
|
||||
#: ../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\" はこの書式"
|
||||
"に合っていません)"
|
||||
"Gtk:custom の書式は \"gtk:custom(color_name,fallback)\" です (\"%s\" はこの書"
|
||||
"式に合っていません)"
|
||||
|
||||
#: ../src/ui/theme.c:1287
|
||||
#: ../src/ui/theme.c:1292
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1182,7 +1181,7 @@ msgstr ""
|
||||
"\"%s\" を解析できませんでした; GTK の色指定では gtk:fg[NORMAL] のように状態を"
|
||||
"大括弧で囲み指定する必要があります (NORMAL は状態を示す)"
|
||||
|
||||
#: ../src/ui/theme.c:1301
|
||||
#: ../src/ui/theme.c:1306
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1191,17 +1190,17 @@ msgstr ""
|
||||
"\"%s\" を解析できませんでした; GTK の色指定では gtk:fg[NORMAL] のように状態の"
|
||||
"後に右大括弧をつける必要があります (NORMAL は状態を示す)"
|
||||
|
||||
#: ../src/ui/theme.c:1312
|
||||
#: ../src/ui/theme.c:1317
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "色指定で状態 \"%s\" は理解しませんでした"
|
||||
|
||||
#: ../src/ui/theme.c:1325
|
||||
#: ../src/ui/theme.c:1330
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "色指定でカラーコンポーネント \"%s\" は理解しませんでした"
|
||||
|
||||
#: ../src/ui/theme.c:1355
|
||||
#: ../src/ui/theme.c:1360
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
@@ -1210,17 +1209,17 @@ msgstr ""
|
||||
"混合色のフォーマットは \"blend/bg_color/fg_color/alpha\" で,\"%s\" はこの"
|
||||
"フォーマットに適合していません"
|
||||
|
||||
#: ../src/ui/theme.c:1366
|
||||
#: ../src/ui/theme.c:1371
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "混合色のアルファ値 \"%s\" を解析できませんでした"
|
||||
|
||||
#: ../src/ui/theme.c:1376
|
||||
#: ../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:1423
|
||||
#: ../src/ui/theme.c:1428
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||
@@ -1228,78 +1227,78 @@ msgstr ""
|
||||
"シェードのフォーマットは \"shade/base_color/factor\" で,\"%s\" はこのフォー"
|
||||
"マットに適合していません"
|
||||
|
||||
#: ../src/ui/theme.c:1434
|
||||
#: ../src/ui/theme.c:1439
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "シェードカラーのシェード係数 \"%s\" をパスできませんでした"
|
||||
|
||||
#: ../src/ui/theme.c:1444
|
||||
#: ../src/ui/theme.c:1449
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "シェードカラーのシェード係数 \"%s\" が負の値です"
|
||||
|
||||
#: ../src/ui/theme.c:1473
|
||||
#: ../src/ui/theme.c:1478
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "次の色を解析できませんでした: \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1784
|
||||
#: ../src/ui/theme.c:1789
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "許可されていない文字が座標式に含まれています: '%s'"
|
||||
|
||||
#: ../src/ui/theme.c:1811
|
||||
#: ../src/ui/theme.c:1816
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
"parsed"
|
||||
msgstr "解析できない浮動小数点数が座標式に含まれています: '%s'"
|
||||
|
||||
#: ../src/ui/theme.c:1825
|
||||
#: ../src/ui/theme.c:1830
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr "解析できない整数が座標式に含まれています: '%s'"
|
||||
|
||||
#: ../src/ui/theme.c:1947
|
||||
#: ../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:2004
|
||||
#: ../src/ui/theme.c:2009
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "座標式が空か解析不能です"
|
||||
|
||||
#: ../src/ui/theme.c:2115 ../src/ui/theme.c:2125 ../src/ui/theme.c:2159
|
||||
#: ../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:2167
|
||||
#: ../src/ui/theme.c:2172
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
msgstr "座標式は浮動小数点で mod 演算子を使用しようとしています"
|
||||
|
||||
#: ../src/ui/theme.c:2223
|
||||
#: ../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:2232
|
||||
#: ../src/ui/theme.c:2237
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "座標式は演算子が必要な場所でオペランドを使用しています"
|
||||
|
||||
#: ../src/ui/theme.c:2240
|
||||
#: ../src/ui/theme.c:2245
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "座標式はオペランドの代わりに演算子で終わっています"
|
||||
|
||||
#: ../src/ui/theme.c:2250
|
||||
#: ../src/ui/theme.c:2255
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1308,37 +1307,37 @@ msgstr ""
|
||||
"座標式は演算子 \"%2$c\" の後に演算子 \"%1$c\" が続いており,これらの間にオペ"
|
||||
"ランドがありません"
|
||||
|
||||
#: ../src/ui/theme.c:2401 ../src/ui/theme.c:2446
|
||||
#: ../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:2500
|
||||
#: ../src/ui/theme.c:2505
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "座標式を解析する際にオーバーフローが発生しました"
|
||||
|
||||
#: ../src/ui/theme.c:2529
|
||||
#: ../src/ui/theme.c:2534
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr "座標式は左括弧がなしに右括弧が指定されています"
|
||||
|
||||
#: ../src/ui/theme.c:2593
|
||||
#: ../src/ui/theme.c:2598
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr "座標式は左括弧が指定されていますが,右括弧がありません"
|
||||
|
||||
#: ../src/ui/theme.c:2604
|
||||
#: ../src/ui/theme.c:2609
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "座標式は演算子もオペランドも使用していないようです"
|
||||
|
||||
#: ../src/ui/theme.c:2816 ../src/ui/theme.c:2836 ../src/ui/theme.c:2856
|
||||
#: ../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:4527
|
||||
#: ../src/ui/theme.c:4532
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1347,7 +1346,7 @@ msgstr ""
|
||||
"このフレームスタイルは <button function=\"%s\" state=\"%s\" draw_ops="
|
||||
"\"whatever\"/> を指定する必要があります"
|
||||
|
||||
#: ../src/ui/theme.c:5060 ../src/ui/theme.c:5085
|
||||
#: ../src/ui/theme.c:5065 ../src/ui/theme.c:5090
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
@@ -1355,18 +1354,18 @@ msgstr ""
|
||||
"<frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>がありませ"
|
||||
"ん"
|
||||
|
||||
#: ../src/ui/theme.c:5133
|
||||
#: ../src/ui/theme.c:5138
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "テーマ \"%s\" の読み込みに失敗しました: %s\n"
|
||||
|
||||
#: ../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
|
||||
#: ../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 "テーマ \"%1$s\" の <%2$s> が設定されていません"
|
||||
|
||||
#: ../src/ui/theme.c:5305
|
||||
#: ../src/ui/theme.c:5310
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1376,13 +1375,14 @@ msgstr ""
|
||||
"ません.<window type=\"%3$s\" style_set=\"whatever\"/> エレメントを追加してく"
|
||||
"ださい"
|
||||
|
||||
#: ../src/ui/theme.c:5744 ../src/ui/theme.c:5806 ../src/ui/theme.c:5869
|
||||
#: ../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"
|
||||
msgstr "ユーザ定義の定数は大文字で始まらなければなりません; \"%s\" は違います"
|
||||
msgstr ""
|
||||
"ユーザー定義の定数は大文字で始まらなければなりません; \"%s\" は違います"
|
||||
|
||||
#: ../src/ui/theme.c:5752 ../src/ui/theme.c:5814 ../src/ui/theme.c:5877
|
||||
#: ../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\" は既に定義されています"
|
||||
@@ -1450,8 +1450,8 @@ msgstr "角度は 0.0 から 360.0 の間でなければなりませんが,%g
|
||||
#, c-format
|
||||
msgid "Alpha must be between 0.0 (invisible) and 1.0 (fully opaque), was %g\n"
|
||||
msgstr ""
|
||||
"アルファ値は 0.0 (不可視)と 1.0 (完全に不透明) の間でなければなりません"
|
||||
"が,%g でした\n"
|
||||
"アルファ値は 0.0 (不可視)と 1.0 (完全に不透明) の間でなければなりませんが,%"
|
||||
"g でした\n"
|
||||
|
||||
#: ../src/ui/theme-parser.c:863
|
||||
#, c-format
|
||||
@@ -1938,7 +1938,7 @@ msgid ""
|
||||
"frame)\n"
|
||||
msgstr ""
|
||||
"%d 個のフレームをクライアント側で%g秒 (1フレームにつき%gミリ秒)、実時間ではX"
|
||||
"サーバのリソースを含めて%g秒 (1フレームにつき %gミリ秒)で描画しました\n"
|
||||
"サーバーのリソースを含めて%g秒 (1フレームにつき %gミリ秒)で描画しました\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1274
|
||||
msgid "position expression test returned TRUE but set error"
|
||||
|
||||
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 "창 제목이 여기에 들어갑니다"
|
||||
|
||||
|
||||
229
po/lv.po
229
po/lv.po
@@ -11,8 +11,8 @@ 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-07-08 20:41+0000\n"
|
||||
"PO-Revision-Date: 2011-07-09 22:03+0300\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"
|
||||
@@ -24,15 +24,12 @@ msgstr ""
|
||||
|
||||
#. 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:509
|
||||
#: ../src/compositor/compositor.c:486
|
||||
#, 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 ""
|
||||
"Cits kompozīcijas pārvaldnieks jau darbojas ekrānā %d displejā \"%s\"."
|
||||
msgstr "Cits kompozīcijas pārvaldnieks jau darbojas ekrānā %d displejā \"%s\"."
|
||||
|
||||
#: ../src/core/all-keybindings.h:88
|
||||
msgid "Switch to workspace 1"
|
||||
@@ -358,7 +355,6 @@ msgid "<tt>%s</tt> is not responding."
|
||||
msgstr "<tt>%s</tt> nereaģē."
|
||||
|
||||
#: ../src/core/delete.c:114
|
||||
#| msgid "<tt>%s</tt> is not responding."
|
||||
msgid "Application is not responding."
|
||||
msgstr "Lietotne nereaģē."
|
||||
|
||||
@@ -399,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"
|
||||
@@ -410,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"
|
||||
@@ -491,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"
|
||||
@@ -528,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 "
|
||||
@@ -542,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 "
|
||||
@@ -561,17 +557,17 @@ 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"
|
||||
@@ -704,7 +700,7 @@ msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6903
|
||||
#: ../src/core/window.c:7019
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -720,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:7566
|
||||
#: ../src/core/window.c:7682
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
|
||||
@@ -739,14 +735,13 @@ msgstr "Lietotne iestatīja neīstu _NET_WM_PID %lu\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (uz %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1488
|
||||
#: ../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:1500
|
||||
#: ../src/core/window-props.c:1492
|
||||
#, 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 logs 0x%lx priekš %s veidotu cilpu.\n"
|
||||
|
||||
@@ -798,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 "
|
||||
@@ -817,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 "
|
||||
@@ -827,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ā"
|
||||
|
||||
@@ -836,47 +843,47 @@ msgstr "Darbvietas tikai uz galvenā"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Lietojums: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1280
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "Aizvērt logu"
|
||||
|
||||
#: ../src/ui/frames.c:1283
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "Loga izvēlne"
|
||||
|
||||
#: ../src/ui/frames.c:1286
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "Minimizēt logu"
|
||||
|
||||
#: ../src/ui/frames.c:1289
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "Maksimizēt logu"
|
||||
|
||||
#: ../src/ui/frames.c:1292
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "Atjaunot logu"
|
||||
|
||||
#: ../src/ui/frames.c:1295
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Uzrullēt logu"
|
||||
|
||||
#: ../src/ui/frames.c:1298
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "Norullēt logu"
|
||||
|
||||
#: ../src/ui/frames.c:1301
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Turēt logu virspusē"
|
||||
|
||||
#: ../src/ui/frames.c:1304
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Aizvākt logu no virspuses"
|
||||
|
||||
#: ../src/ui/frames.c:1307
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Vienmēr redzamajā darbvietā"
|
||||
|
||||
#: ../src/ui/frames.c:1310
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Turēt logu tikai vienā darbvietā"
|
||||
|
||||
@@ -1079,52 +1086,49 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:252
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "augša"
|
||||
|
||||
#: ../src/ui/theme.c:254
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "apakša"
|
||||
|
||||
#: ../src/ui/theme.c:256
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "pa kreisi"
|
||||
|
||||
#: ../src/ui/theme.c:258
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "pa labi"
|
||||
|
||||
#: ../src/ui/theme.c:285
|
||||
#: ../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:304
|
||||
#: ../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:341
|
||||
#: ../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:353
|
||||
#: ../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:1061
|
||||
#: ../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:1206
|
||||
#: ../src/ui/theme.c:1212
|
||||
#, 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\""
|
||||
@@ -1132,30 +1136,25 @@ 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:1222
|
||||
#: ../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"
|
||||
"Nederīga rakstzīme '%c' iekš color_name parameter no gtk:custom, tikai A-Za-"
|
||||
"z0-9-_ ir derīgas"
|
||||
|
||||
#: ../src/ui/theme.c:1236
|
||||
#: ../src/ui/theme.c:1242
|
||||
#, 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 formāts ir \"gtk:custom(color_name,fallback)\", \"%s\" "
|
||||
"neiekļaujas "
|
||||
"formātā"
|
||||
"neiekļaujas formātā"
|
||||
|
||||
#: ../src/ui/theme.c:1272
|
||||
#: ../src/ui/theme.c:1287
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1164,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:1286
|
||||
#: ../src/ui/theme.c:1301
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||
@@ -1173,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:1297
|
||||
#: ../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:1310
|
||||
#: ../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:1340
|
||||
#: ../src/ui/theme.c:1355
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||
@@ -1192,96 +1191,96 @@ msgstr ""
|
||||
"Saplūšanas formāts ir \"blend/bg_color/fg_color/alpha\", \"%s\" neatbilst "
|
||||
"formātam"
|
||||
|
||||
#: ../src/ui/theme.c:1351
|
||||
#: ../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:1361
|
||||
#: ../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:1408
|
||||
#: ../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:1419
|
||||
#: ../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:1429
|
||||
#: ../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:1458
|
||||
#: ../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:1769
|
||||
#: ../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:1796
|
||||
#: ../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:1810
|
||||
#: ../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:1932
|
||||
#: ../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:1989
|
||||
#: ../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:2100 ../src/ui/theme.c:2110 ../src/ui/theme.c:2144
|
||||
#: ../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:2152
|
||||
#: ../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:2208
|
||||
#: ../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:2217
|
||||
#: ../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:2225
|
||||
#: ../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:2235
|
||||
#: ../src/ui/theme.c:2250
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1290,39 +1289,39 @@ msgstr ""
|
||||
"Koordinātu izteiksmē ir operatoram \"%c\" sekojošais operators \"%c\" bez "
|
||||
"operanda to starpā"
|
||||
|
||||
#: ../src/ui/theme.c:2386 ../src/ui/theme.c:2431
|
||||
#: ../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:2485
|
||||
#: ../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:2514
|
||||
#: ../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:2578
|
||||
#: ../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:2589
|
||||
#: ../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:2801 ../src/ui/theme.c:2821 ../src/ui/theme.c:2841
|
||||
#: ../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:4512
|
||||
#: ../src/ui/theme.c:4527
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1331,25 +1330,25 @@ msgstr ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"jebkas\"/> jābūt noteiktam "
|
||||
"šajā rāmja stilā"
|
||||
|
||||
#: ../src/ui/theme.c:5042 ../src/ui/theme.c:5067
|
||||
#: ../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:5115
|
||||
#: ../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:5251 ../src/ui/theme.c:5258 ../src/ui/theme.c:5265
|
||||
#: ../src/ui/theme.c:5272 ../src/ui/theme.c:5279
|
||||
#: ../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:5287
|
||||
#: ../src/ui/theme.c:5305
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1358,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:5737 ../src/ui/theme.c:5799 ../src/ui/theme.c:5862
|
||||
#: ../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:5745 ../src/ui/theme.c:5807 ../src/ui/theme.c:5870
|
||||
#: ../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"
|
||||
@@ -1898,7 +1897,7 @@ msgstr "Etalonuzdevums"
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "Šeit paredzēts loga virsraksts"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1058
|
||||
#: ../src/ui/theme-viewer.c:1055
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Drew %d frames in %g client-side seconds (%g milliseconds per frame) and %g "
|
||||
@@ -1909,39 +1908,39 @@ msgstr ""
|
||||
"g sekundēs pēc ierastā laika, ieskaitot X servera resursus (%g milisekundes "
|
||||
"uz kadru)\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1277
|
||||
#: ../src/ui/theme-viewer.c:1274
|
||||
msgid "position expression test returned TRUE but set error"
|
||||
msgstr "pozīcijas izteiksmes tests atgrieza TRUE, bet ziņoja par kļūdu"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1279
|
||||
#: ../src/ui/theme-viewer.c:1276
|
||||
msgid "position expression test returned FALSE but didn't set error"
|
||||
msgstr "pozīcijas izteiksmes tests atgrieza FALSE, bet nenorādīja kļūdu"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1283
|
||||
#: ../src/ui/theme-viewer.c:1280
|
||||
msgid "Error was expected but none given"
|
||||
msgstr "Tika gaidīta kļūda, taču tā netika dota"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1285
|
||||
#: ../src/ui/theme-viewer.c:1282
|
||||
#, c-format
|
||||
msgid "Error %d was expected but %d given"
|
||||
msgstr "Tika gaidīta kļūda %d, bet saņemta kļūda %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1291
|
||||
#: ../src/ui/theme-viewer.c:1288
|
||||
#, c-format
|
||||
msgid "Error not expected but one was returned: %s"
|
||||
msgstr "Kļūda netika gaidīta, taču tika saņemta: %s"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1295
|
||||
#: ../src/ui/theme-viewer.c:1292
|
||||
#, c-format
|
||||
msgid "x value was %d, %d was expected"
|
||||
msgstr "x vērtība bija %d, tika gaidīta %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1298
|
||||
#: ../src/ui/theme-viewer.c:1295
|
||||
#, c-format
|
||||
msgid "y value was %d, %d was expected"
|
||||
msgstr "y vērtība bija %d, tika gaidīta %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1363
|
||||
#: ../src/ui/theme-viewer.c:1360
|
||||
#, c-format
|
||||
msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
||||
msgstr "%d koordinātas izteiksme noparsēta %g sekundēs (vidēji %g sekundēs)\n"
|
||||
|
||||
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"
|
||||
|
||||
|
||||
264
po/sl.po
264
po/sl.po
@@ -10,14 +10,14 @@ 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-07-13 21:26+0000\n"
|
||||
"PO-Revision-Date: 2011-07-14 08:09+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"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: \n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
|
||||
"X-Poedit-Language: Slovenian\n"
|
||||
"X-Poedit-Country: SLOVENIA\n"
|
||||
@@ -25,7 +25,7 @@ msgstr ""
|
||||
|
||||
#. 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:509
|
||||
#: ../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\"."
|
||||
@@ -479,84 +479,84 @@ 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"
|
||||
@@ -663,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: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:6903
|
||||
#: ../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"
|
||||
@@ -700,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:7566
|
||||
#: ../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"
|
||||
@@ -715,12 +708,12 @@ msgstr "Program je nastavil pokvarjen _NET_WM_PID %lu\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (na %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1488
|
||||
#: ../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:1500
|
||||
#: ../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"
|
||||
@@ -750,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"
|
||||
@@ -763,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"
|
||||
|
||||
@@ -787,51 +793,51 @@ msgstr "Delovne površine le na prvem zaslonu"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Uporaba: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1289
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "Zapri okno"
|
||||
|
||||
# G:1 K:1 O:0
|
||||
#: ../src/ui/frames.c:1292
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "Meni okna"
|
||||
|
||||
# G:0 K:1 O:0
|
||||
#: ../src/ui/frames.c:1295
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "Skrči okno"
|
||||
|
||||
#: ../src/ui/frames.c:1298
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "Razpni okno"
|
||||
|
||||
#: ../src/ui/frames.c:1301
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "Obnovi okno"
|
||||
|
||||
# G:2 K:0 O:0
|
||||
#: ../src/ui/frames.c:1304
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Zavij okno"
|
||||
|
||||
#: ../src/ui/frames.c:1307
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "Odvij okno"
|
||||
|
||||
#: ../src/ui/frames.c:1310
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Ohrani okno na vrhu"
|
||||
|
||||
#: ../src/ui/frames.c:1313
|
||||
#: ../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:1316
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Vedno na vidni delovni površini"
|
||||
|
||||
#: ../src/ui/frames.c:1319
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Postavi okno na samo eno delovno površino"
|
||||
|
||||
@@ -1053,251 +1059,251 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:252
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "zgoraj"
|
||||
|
||||
# G:12 K:5 O:0
|
||||
#: ../src/ui/theme.c:254
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "spodaj"
|
||||
|
||||
# G:10 K:4 O:0
|
||||
#: ../src/ui/theme.c:256
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "levo"
|
||||
|
||||
# G:1 K:0 O:0
|
||||
#: ../src/ui/theme.c:258
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "desno"
|
||||
|
||||
# G:1 K:0 O:0
|
||||
#: ../src/ui/theme.c:285
|
||||
#: ../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:304
|
||||
#: ../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:341
|
||||
#: ../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:353
|
||||
#: ../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:1061
|
||||
#: ../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:1206
|
||||
#: ../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:1222
|
||||
#: ../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:1236
|
||||
#: ../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:1272
|
||||
#: ../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:1286
|
||||
#: ../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:1297
|
||||
#: ../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:1310
|
||||
#: ../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:1340
|
||||
#: ../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:1351
|
||||
#: ../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:1361
|
||||
#: ../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:1408
|
||||
#: ../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:1419
|
||||
#: ../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:1429
|
||||
#: ../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:1458
|
||||
#: ../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:1769
|
||||
#: ../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:1796
|
||||
#: ../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:1810
|
||||
#: ../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:1932
|
||||
#: ../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:1989
|
||||
#: ../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:2100
|
||||
#: ../src/ui/theme.c:2110
|
||||
#: ../src/ui/theme.c:2144
|
||||
#: ../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:2152
|
||||
#: ../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:2208
|
||||
#: ../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:2217
|
||||
#: ../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:2225
|
||||
#: ../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:2235
|
||||
#: ../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:2386
|
||||
#: ../src/ui/theme.c:2431
|
||||
#: ../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:2485
|
||||
#: ../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:2514
|
||||
#: ../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:2578
|
||||
#: ../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:2589
|
||||
#: ../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:2801
|
||||
#: ../src/ui/theme.c:2821
|
||||
#: ../src/ui/theme.c:2841
|
||||
#: ../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:4512
|
||||
#: ../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:5042
|
||||
#: ../src/ui/theme.c:5067
|
||||
#: ../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:5115
|
||||
#: ../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:5251
|
||||
#: ../src/ui/theme.c:5258
|
||||
#: ../src/ui/theme.c:5265
|
||||
#: ../src/ui/theme.c:5272
|
||||
#: ../src/ui/theme.c:5279
|
||||
#: ../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:5287
|
||||
#: ../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:5737
|
||||
#: ../src/ui/theme.c:5799
|
||||
#: ../src/ui/theme.c:5862
|
||||
#: ../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:5745
|
||||
#: ../src/ui/theme.c:5807
|
||||
#: ../src/ui/theme.c:5870
|
||||
#: ../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"
|
||||
@@ -1824,44 +1830,44 @@ msgstr "Meritev"
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "Tukaj je izpisan naziv okna"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1058
|
||||
#: ../src/ui/theme-viewer.c:1055
|
||||
#, c-format
|
||||
msgid "Drew %d frames in %g client-side seconds (%g milliseconds per frame) and %g seconds wall clock time including X server resources (%g milliseconds per frame)\n"
|
||||
msgstr "Izrisanih %d sličic v %g sekundah odjemalca (%g milisekund na sličico) in %g sekund v času stenske ure, upoštevajoč sredstva strežnika X (%g milisekund na sličico)\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1277
|
||||
#: ../src/ui/theme-viewer.c:1274
|
||||
msgid "position expression test returned TRUE but set error"
|
||||
msgstr "preizkus izjave položaja je vrnil logični PRAV, vendar je določil tudi napako"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1279
|
||||
#: ../src/ui/theme-viewer.c:1276
|
||||
msgid "position expression test returned FALSE but didn't set error"
|
||||
msgstr "preizkus izjave položaja je vrnil logični NAPAK in ni določil napake"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1283
|
||||
#: ../src/ui/theme-viewer.c:1280
|
||||
msgid "Error was expected but none given"
|
||||
msgstr "Pričakovana je napaka, vendar ni odziva"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1285
|
||||
#: ../src/ui/theme-viewer.c:1282
|
||||
#, c-format
|
||||
msgid "Error %d was expected but %d given"
|
||||
msgstr "Pričakovana je napaka %d, vrnjena pa je bila %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1291
|
||||
#: ../src/ui/theme-viewer.c:1288
|
||||
#, c-format
|
||||
msgid "Error not expected but one was returned: %s"
|
||||
msgstr "Napaka ni pričakovana, vendar je vrnjen odziv: %s"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1295
|
||||
#: ../src/ui/theme-viewer.c:1292
|
||||
#, c-format
|
||||
msgid "x value was %d, %d was expected"
|
||||
msgstr "vrednost x je %d, pričakovana pa je %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1298
|
||||
#: ../src/ui/theme-viewer.c:1295
|
||||
#, c-format
|
||||
msgid "y value was %d, %d was expected"
|
||||
msgstr "vrednost y je %d, pričakovana pa je %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:1363
|
||||
#: ../src/ui/theme-viewer.c:1360
|
||||
#, c-format
|
||||
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"
|
||||
|
||||
568
po/sr@latin.po
568
po/sr@latin.po
File diff suppressed because it is too large
Load Diff
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>\".விரிவாக்கங்களை அனுமதிக்கும். "
|
||||
#~ "\"செயல்படுத்தாதே\" தேர்வை அமைப்பதன் மூலம் கீபைன்டிங் செயலை கட்டுப்படுத்த முடியும்"
|
||||
|
||||
|
||||
283
po/tr.po
283
po/tr.po
@@ -1,33 +1,32 @@
|
||||
# Turkish translation of mutter.
|
||||
# Copyright (C) 2003, 2004, 2005, 2008, 2009, 2011 Free Software Foundation.
|
||||
# This file is distributed under the same license as the mutter package.
|
||||
#
|
||||
# Sinan İmamoğlu <sinan@myrealbox.com>, 2003.
|
||||
# Baris Cicek <baris@teamforce.name.tr>, 2004, 2005, 2008, 2009.
|
||||
# İlker DAĞLI <ilker@ilkerdagli.info>, 2011.
|
||||
# Muhammed EKEN <gnome@m-eken.com>, 2011.
|
||||
# Muhammet Kara <muhammet.k@gmail.com>, 2011.
|
||||
#
|
||||
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-06-30 21:06+0000\n"
|
||||
"PO-Revision-Date: 2011-07-01 01:50+0300\n"
|
||||
"POT-Creation-Date: 2011-08-29 11:52+0000\n"
|
||||
"PO-Revision-Date: 2011-10-10 10:40+0300\n"
|
||||
"Last-Translator: Muhammet Kara <muhammet.k@gmail.com>\n"
|
||||
"Language-Team: Turkish <gnome-turk@gnome.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 1.1\n"
|
||||
"X-Generator: Lokalize 1.2\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"Language: tr\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:509
|
||||
#: ../src/compositor/compositor.c:486
|
||||
#, 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"
|
||||
"\"."
|
||||
@@ -406,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"
|
||||
@@ -417,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 komutu tanımlanmamış.\n"
|
||||
|
||||
#: ../src/core/keybindings.c:3570
|
||||
#: ../src/core/keybindings.c:3625
|
||||
#, c-format
|
||||
msgid "No terminal command has been defined.\n"
|
||||
msgstr "Hiçbir termina komutu tanımlanmamış.\n"
|
||||
@@ -497,36 +496,36 @@ msgstr "Kompozisyon eklentilerinin listesi (virgül ile ayrılmış)"
|
||||
#. * (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' GConf anahtarına geçersiz bir değer atanmış\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 saklanıldığı GConf anahtarı %s aralık %d - %d içinde değil\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 anahtarına geçersiz bir tür atanmış\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 anahtarı zaten kullanılıyor ve %s'i geçersiz kılmak için "
|
||||
"kullanılamaz\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 anahtarı geçersiz kılınamıyor: %s bulunamadı\n"
|
||||
|
||||
#: ../src/core/prefs.c:1447
|
||||
#: ../src/core/prefs.c:1454
|
||||
msgid ""
|
||||
"Workarounds for broken applications disabled. Some applications may not "
|
||||
"behave properly.\n"
|
||||
@@ -534,12 +533,12 @@ msgstr ""
|
||||
"Hatalı uygulamalara yönelik çözümler devre dışı. Bazı uygulamalar düzgün "
|
||||
"işlemeyebilir.\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\" yazıtipi tanımlaması %s GConf anahtarından ayrıştırılamadı\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 "
|
||||
@@ -548,17 +547,17 @@ msgstr ""
|
||||
"Yapılandırma veritabanında bulunan \"%s\", fare düğme düzenleyicisi olarak "
|
||||
"geçerli bir değer değil\n"
|
||||
|
||||
#: ../src/core/prefs.c:2016
|
||||
#: ../src/core/prefs.c:2028
|
||||
#, c-format
|
||||
msgid "Error setting number of workspaces to %d: %s\n"
|
||||
msgstr "Çalışma alanı sayısının %d yapılmasında hata: %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 "Çalışma Alanı %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 "
|
||||
@@ -567,17 +566,17 @@ msgstr ""
|
||||
"Yapılandırma veritabanında bulunan \"%s\", \"%s\" tuş bağı olarak geçerli "
|
||||
"bir değer değil\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 çalışma alanının adının \"%s\" yapılmasında hata: %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 "Aktif gizli pencere durumu ayarlanırken oluşan hata: %s\n"
|
||||
|
||||
#: ../src/core/prefs.c:3032
|
||||
#: ../src/core/prefs.c:3044
|
||||
#, c-format
|
||||
msgid "Error setting no tab popup status: %s\n"
|
||||
msgstr "Sekmesiz açılır pencere durumu ayarlanırken hata: %s\n"
|
||||
@@ -716,7 +715,7 @@ msgid "Mutter"
|
||||
msgstr "Mutter"
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:6886
|
||||
#: ../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 +731,11 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:7549
|
||||
#: ../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 penceresi bir yandan yeniden boyutlandırılamaz olduğunu gösteren bir MWM "
|
||||
"ipucu verirken anlamsız bir biçimde en küçük (%d x %d) ve en büyük (%d x %d) "
|
||||
@@ -752,11 +751,17 @@ msgstr "Uygulama geçersiz _NET_WM_PID %lu atadı\n"
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (%s üzerinde)"
|
||||
|
||||
#: ../src/core/window-props.c:1484
|
||||
#: ../src/core/window-props.c:1481
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "Geçersiz WM_TRANSIENT_FOR pencere 0x%lx belirtilen %s.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1492
|
||||
#, 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 penceresi 0x%lx (%s için) döngü oluşturacak.\n"
|
||||
|
||||
#: ../src/core/xprops.c:155
|
||||
#, c-format
|
||||
msgid ""
|
||||
@@ -806,14 +811,27 @@ msgstr ""
|
||||
"sadece birincil monitördekilerde mi gerçekleşeceğini belirler."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:4
|
||||
msgid "Draggable border width"
|
||||
msgstr "Sürüklenebilir kenarlık genişliği"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
msgid "Live Hidden Windows"
|
||||
msgstr "Çalışır Durumdaki Gizli Pencereler"
|
||||
|
||||
#: ../src/mutter.schemas.in.h:5
|
||||
#: ../src/mutter.schemas.in.h:6
|
||||
msgid "Modifier to use for extended window management operations"
|
||||
msgstr "Genişletilmiş pencere yönetimi işlemleri için kullanılacak değiştirici"
|
||||
|
||||
#: ../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 ""
|
||||
"Sürüklenebilir kenarlıkların toplam miktarı. Eğer temanın görünür "
|
||||
"kenarlıkları "
|
||||
"yetersiz gelirse, bu değere ulaşmak için görünmez kenarlıklar eklenir."
|
||||
|
||||
#: ../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 "
|
||||
@@ -825,7 +843,7 @@ msgstr ""
|
||||
"donanımındaki \"windows tuşu\" olması tasarlanmıştır. Bağlayıcı varsayılan "
|
||||
"olarak veya boş dize olarak ayarlanması beklenir."
|
||||
|
||||
#: ../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 "
|
||||
@@ -835,7 +853,7 @@ msgstr ""
|
||||
"diyalogları üst pencerenin başlık çubuğunda ekli gözükür ve üst pencere ile "
|
||||
"birlikte hareket eder."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Sadece birincil monitördeki çalışma alanları"
|
||||
|
||||
@@ -844,47 +862,47 @@ msgstr "Sadece birincil monitördeki çalışma alanları"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Kullanım: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1280
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "Pencereyi Kapat"
|
||||
|
||||
#: ../src/ui/frames.c:1283
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "Pencere Menüsü"
|
||||
|
||||
#: ../src/ui/frames.c:1286
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "Pencereyi Küçült"
|
||||
|
||||
#: ../src/ui/frames.c:1289
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "Pencereyi Büyült"
|
||||
|
||||
#: ../src/ui/frames.c:1292
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "Pencere Geri Getir"
|
||||
|
||||
#: ../src/ui/frames.c:1295
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Pencereyi Yukarı Sar"
|
||||
|
||||
#: ../src/ui/frames.c:1298
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "Pencereyi Geri Sar"
|
||||
|
||||
#: ../src/ui/frames.c:1301
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Pencereyi Üstte Tut"
|
||||
|
||||
#: ../src/ui/frames.c:1304
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Pencereyi Üstten Kaldır"
|
||||
|
||||
#: ../src/ui/frames.c:1307
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Her Zaman Görünen Çalışma Alanında"
|
||||
|
||||
#: ../src/ui/frames.c:1310
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Pencereyi Sadece Bir Çalışma Alanına Yerleştir"
|
||||
|
||||
@@ -1087,49 +1105,84 @@ msgstr "Mod5"
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../src/ui/theme.c:255
|
||||
#: ../src/ui/theme.c:253
|
||||
msgid "top"
|
||||
msgstr "üst"
|
||||
|
||||
#: ../src/ui/theme.c:257
|
||||
#: ../src/ui/theme.c:255
|
||||
msgid "bottom"
|
||||
msgstr "alt"
|
||||
|
||||
#: ../src/ui/theme.c:259
|
||||
#: ../src/ui/theme.c:257
|
||||
msgid "left"
|
||||
msgstr "sol"
|
||||
|
||||
#: ../src/ui/theme.c:261
|
||||
#: ../src/ui/theme.c:259
|
||||
msgid "right"
|
||||
msgstr "sağ"
|
||||
|
||||
#: ../src/ui/theme.c:288
|
||||
#: ../src/ui/theme.c:286
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify \"%s\" dimension"
|
||||
msgstr "çerçeve geometrisi \"%s\" boyutunu tanımlamıyor"
|
||||
|
||||
#: ../src/ui/theme.c:307
|
||||
#: ../src/ui/theme.c:305
|
||||
#, c-format
|
||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||
msgstr ""
|
||||
"çerçeve geometrisi \"%s\" boyutunu \"%s\" pencere kenarı için tanımlamıyor"
|
||||
|
||||
#: ../src/ui/theme.c:344
|
||||
#: ../src/ui/theme.c:342
|
||||
#, c-format
|
||||
msgid "Button aspect ratio %g is not reasonable"
|
||||
msgstr "%g kabul edilebilir bir düğme en-boy oranı değil"
|
||||
|
||||
#: ../src/ui/theme.c:356
|
||||
#: ../src/ui/theme.c:354
|
||||
#, c-format
|
||||
msgid "Frame geometry does not specify size of buttons"
|
||||
msgstr "Çerçeve geometrisi düğmelerin boyutunu tanımlamıyor"
|
||||
|
||||
#: ../src/ui/theme.c:1064
|
||||
#: ../src/ui/theme.c:1060
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "Renk geçişlerinde en az iki renk olmalı"
|
||||
|
||||
#: ../src/ui/theme.c:1202
|
||||
#: ../src/ui/theme.c:1212
|
||||
#, 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 özel renk belirtiminde parantez içinde renk adı ve fallback kelimesi yer "
|
||||
"almalıdır; "
|
||||
"örneğin, gtk:custom[foo,bar]; \"%s\" ayrıştırılamadı"
|
||||
|
||||
#: ../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 parametresinin adında geçersiz karakter '%c'; sadece "
|
||||
"A-Za-z0-9-"
|
||||
"_ karakterleri geçerlidir"
|
||||
|
||||
#: ../src/ui/theme.c:1242
|
||||
#, 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 biçimi \"gtk:custom(color_name,fallback)\" şeklindedir; \"%s\" "
|
||||
"biçime uymuyor"
|
||||
|
||||
#: ../src/ui/theme.c:1287
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||
@@ -1139,7 +1192,7 @@ msgstr ""
|
||||
"örneğin, gtk:fg[NORMAL] belirtiminde NORMAL, durumu gösterir; \"%s\" "
|
||||
"ayrıştırılamadı"
|
||||
|
||||
#: ../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:"
|
||||
@@ -1149,17 +1202,17 @@ msgstr ""
|
||||
"örneğin, gtk:fg[NORMAL] belirtiminde NORMAL, durumu gösterir; \"%s\" "
|
||||
"ayrıştırılamadı"
|
||||
|
||||
#: ../src/ui/theme.c:1227
|
||||
#: ../src/ui/theme.c:1312
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" in color specification"
|
||||
msgstr "Renk belirtimindeki \"%s\" durumu anlaşılamadı"
|
||||
|
||||
#: ../src/ui/theme.c:1240
|
||||
#: ../src/ui/theme.c:1325
|
||||
#, c-format
|
||||
msgid "Did not understand color component \"%s\" in color specification"
|
||||
msgstr "Renk belirtimindeki \"%s\" renk bileşeni anlaşılamadı"
|
||||
|
||||
#: ../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 "
|
||||
@@ -1168,17 +1221,17 @@ msgstr ""
|
||||
"Renk karışımının doğru biçimi \"blend/bg_color/fg_color/alpha\"dır; \"%s\" "
|
||||
"bu biçime uymuyor"
|
||||
|
||||
#: ../src/ui/theme.c:1281
|
||||
#: ../src/ui/theme.c:1366
|
||||
#, c-format
|
||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||
msgstr "Renk karışımındaki \"%s\" alfa değeri ayrıştırılamadı"
|
||||
|
||||
#: ../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 "Renk karışımının alfa değeri \"%s\", 0.0 ile 1.0 arasında değil"
|
||||
|
||||
#: ../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"
|
||||
@@ -1186,32 +1239,27 @@ msgstr ""
|
||||
"Gölgelendirmenin doğru biçimi \"shade/bas_color/factor\"dır; \"%s\" bu "
|
||||
"biçime uymuyor"
|
||||
|
||||
#: ../src/ui/theme.c:1349
|
||||
#: ../src/ui/theme.c:1434
|
||||
#, c-format
|
||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||
msgstr "Gölgeli rengin gölge katsayısı olan \"%s\" ayrıştırılamadı"
|
||||
|
||||
#: ../src/ui/theme.c:1359
|
||||
#: ../src/ui/theme.c:1444
|
||||
#, c-format
|
||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||
msgstr "Gölgeli rengin gölge katsayısı olan \"%s\", negatif"
|
||||
|
||||
#: ../src/ui/theme.c:1388
|
||||
#: ../src/ui/theme.c:1473
|
||||
#, c-format
|
||||
msgid "Could not parse color \"%s\""
|
||||
msgstr "\"%s\" rengi ayrıştırılamadı"
|
||||
|
||||
#: ../src/ui/theme.c:1481
|
||||
#, c-format
|
||||
msgid "Failed to retrieve color %s[%s] from GTK+ theme.\n"
|
||||
msgstr "GTK+ temasından %s[%s] renginin alınması başarısız oldu.\n"
|
||||
|
||||
#: ../src/ui/theme.c:1713
|
||||
#: ../src/ui/theme.c:1784
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||
msgstr "Kordinat ifadesi izin verilmeyen '%s' karakterini içeriyor"
|
||||
|
||||
#: ../src/ui/theme.c:1740
|
||||
#: ../src/ui/theme.c:1811
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contains floating point number '%s' which could not be "
|
||||
@@ -1219,12 +1267,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Kordinat ifadesi '%s' gerçel sayısını içeriyor ve bu sayı ayrıştırılamıyor"
|
||||
|
||||
#: ../src/ui/theme.c:1754
|
||||
#: ../src/ui/theme.c:1825
|
||||
#, c-format
|
||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||
msgstr "Kordinat ifadesi ayrıştırılamayan '%s' tamsayısını içeriyor"
|
||||
|
||||
#: ../src/ui/theme.c:1876
|
||||
#: ../src/ui/theme.c:1947
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression contained unknown operator at the start of this text: "
|
||||
@@ -1232,17 +1280,17 @@ msgid ""
|
||||
msgstr ""
|
||||
"Kordinat ifadesi bu metnin başında bilinmeyen bir işleç içeriyor: \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1933
|
||||
#: ../src/ui/theme.c:2004
|
||||
#, c-format
|
||||
msgid "Coordinate expression was empty or not understood"
|
||||
msgstr "Kordinat ifadesi boş ya da anlaşılamadı"
|
||||
|
||||
#: ../src/ui/theme.c:2044 ../src/ui/theme.c:2054 ../src/ui/theme.c:2088
|
||||
#: ../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 "Kordinat ifadesi sıfıra bölümle sonuçlanıyor"
|
||||
|
||||
#: ../src/ui/theme.c:2096
|
||||
#: ../src/ui/theme.c:2167
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||
@@ -1250,23 +1298,23 @@ msgstr ""
|
||||
"Kordinat ifadesi bir gerçel sayı üzerinde mod (kalan bulma) işlecini "
|
||||
"kullanmaya çalıştı"
|
||||
|
||||
#: ../src/ui/theme.c:2152
|
||||
#: ../src/ui/theme.c:2223
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||
msgstr "Kordinat ifadesi işleneni beklenen \"%s\", işlecini içeriyor"
|
||||
|
||||
#: ../src/ui/theme.c:2161
|
||||
#: ../src/ui/theme.c:2232
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an operand where an operator was expected"
|
||||
msgstr "Kordinat ifadesi işleci beklenen bir işlenen içeriyor"
|
||||
|
||||
#: ../src/ui/theme.c:2169
|
||||
#: ../src/ui/theme.c:2240
|
||||
#, c-format
|
||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||
msgstr "Kordinat ifadesi bir işlenen yerine işleçle bitiyor"
|
||||
|
||||
#: ../src/ui/theme.c:2179
|
||||
#: ../src/ui/theme.c:2250
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||
@@ -1275,38 +1323,38 @@ msgstr ""
|
||||
"Kordinat ifadesi birbirlerinin izleyen ve aralarında işlenen olmayan \"%2$c"
|
||||
"\" ve \"%1$c\" işleçlerini içeriyor"
|
||||
|
||||
#: ../src/ui/theme.c:2330 ../src/ui/theme.c:2375
|
||||
#: ../src/ui/theme.c:2401 ../src/ui/theme.c:2446
|
||||
#, c-format
|
||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||
msgstr ""
|
||||
"Kordinat ifadesi bilinmeyen bir değişken ya da sabit olan \"%s\" içeriyor"
|
||||
|
||||
#: ../src/ui/theme.c:2429
|
||||
#: ../src/ui/theme.c:2500
|
||||
#, c-format
|
||||
msgid "Coordinate expression parser overflowed its buffer."
|
||||
msgstr "Kordinat belirtim ayrıştırıcısı tamponundan taştı."
|
||||
|
||||
#: ../src/ui/theme.c:2458
|
||||
#: ../src/ui/theme.c:2529
|
||||
#, c-format
|
||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||
msgstr "Kordinat ifadesi sol parantezi olmayan bir sağ parantez içeriyor"
|
||||
|
||||
#: ../src/ui/theme.c:2522
|
||||
#: ../src/ui/theme.c:2593
|
||||
#, c-format
|
||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||
msgstr "Kordinat ifadesi sağ parantezi olmayan bir sol parantez içeriyor"
|
||||
|
||||
#: ../src/ui/theme.c:2533
|
||||
#: ../src/ui/theme.c:2604
|
||||
#, c-format
|
||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||
msgstr "Kordinat ifadesi göründüğü kadarıyla ne işleç ne de işlenen içeriyor"
|
||||
|
||||
#: ../src/ui/theme.c:2745 ../src/ui/theme.c:2765 ../src/ui/theme.c:2785
|
||||
#: ../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 bir hata ile sonuçlanan ifadeye sahip: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:4482
|
||||
#: ../src/ui/theme.c:4527
|
||||
#, c-format
|
||||
msgid ""
|
||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||
@@ -1315,25 +1363,25 @@ msgstr ""
|
||||
"Bu çerçeve biçeminde <button function=\"%s\" state=\"%s\" draw_ops=\"her "
|
||||
"neyse\"/> belirtilmek zorunda"
|
||||
|
||||
#: ../src/ui/theme.c:5012 ../src/ui/theme.c:5037
|
||||
#: ../src/ui/theme.c:5060 ../src/ui/theme.c:5085
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||
msgstr ""
|
||||
"Eksik <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"her neyse\"/>"
|
||||
|
||||
#: ../src/ui/theme.c:5085
|
||||
#: ../src/ui/theme.c:5133
|
||||
#, c-format
|
||||
msgid "Failed to load theme \"%s\": %s\n"
|
||||
msgstr "\"%s\" teması yüklenemedi: %s\n"
|
||||
|
||||
#: ../src/ui/theme.c:5221 ../src/ui/theme.c:5228 ../src/ui/theme.c:5235
|
||||
#: ../src/ui/theme.c:5242 ../src/ui/theme.c:5249
|
||||
#: ../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 "\"%2$s\" temasında hiç <%1$s> atanmamış"
|
||||
|
||||
#: ../src/ui/theme.c:5257
|
||||
#: ../src/ui/theme.c:5305
|
||||
#, c-format
|
||||
msgid ""
|
||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||
@@ -1342,14 +1390,14 @@ msgstr ""
|
||||
"\"%2$s\" temasında \"%1$s\" pencere türüne çerçeve biçemi atanmamış, bir "
|
||||
"<window type=\"%3$s\" style_set=\"her neyse\"/> öğesi ekleyin"
|
||||
|
||||
#: ../src/ui/theme.c:5707 ../src/ui/theme.c:5769 ../src/ui/theme.c:5832
|
||||
#: ../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 ""
|
||||
"Kullanıcı tanımlı sabitler büyük harfle başlamalıdır; \"%s\" buna uymuyor"
|
||||
|
||||
#: ../src/ui/theme.c:5715 ../src/ui/theme.c:5777 ../src/ui/theme.c:5840
|
||||
#: ../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\" sabit değeri zaten tanımlanmış"
|
||||
@@ -1802,88 +1850,88 @@ msgstr "Bu örnek iletişim penceresi için örnek bir iletidir"
|
||||
msgid "Fake menu item %d\n"
|
||||
msgstr "Sahte menü öğesi %d\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:370
|
||||
#: ../src/ui/theme-viewer.c:371
|
||||
msgid "Border-only window"
|
||||
msgstr "Sadece kenarı olan pencere"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:372
|
||||
#: ../src/ui/theme-viewer.c:373
|
||||
msgid "Bar"
|
||||
msgstr "Çubuk"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:389
|
||||
#: ../src/ui/theme-viewer.c:390
|
||||
msgid "Normal Application Window"
|
||||
msgstr "Normal Uygulama Penceresi"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:393
|
||||
#: ../src/ui/theme-viewer.c:394
|
||||
msgid "Dialog Box"
|
||||
msgstr "İletişim Kutusu"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:397
|
||||
#: ../src/ui/theme-viewer.c:398
|
||||
msgid "Modal Dialog Box"
|
||||
msgstr "Yardımcı İletişim Kutusu"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:401
|
||||
#: ../src/ui/theme-viewer.c:402
|
||||
msgid "Utility Palette"
|
||||
msgstr "Araç Paleti"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:405
|
||||
#: ../src/ui/theme-viewer.c:406
|
||||
msgid "Torn-off Menu"
|
||||
msgstr "Kesilebilir Menü"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:409
|
||||
#: ../src/ui/theme-viewer.c:410
|
||||
msgid "Border"
|
||||
msgstr "Kenarlık"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:413
|
||||
#: ../src/ui/theme-viewer.c:414
|
||||
msgid "Attached Modal Dialog"
|
||||
msgstr "İlişik Yardımcı İletişim Penceresi"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:744
|
||||
#: ../src/ui/theme-viewer.c:747
|
||||
#, c-format
|
||||
msgid "Button layout test %d"
|
||||
msgstr "Düğme düzeni testi %d"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:773
|
||||
#: ../src/ui/theme-viewer.c:776
|
||||
#, c-format
|
||||
msgid "%g milliseconds to draw one window frame"
|
||||
msgstr "bir pencere çerçevesi çizmek için %g milisaniye"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:818
|
||||
#: ../src/ui/theme-viewer.c:821
|
||||
#, c-format
|
||||
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
|
||||
msgstr "Kullanım: metacity-theme-viewer [TEMAİSMİ]\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:825
|
||||
#: ../src/ui/theme-viewer.c:828
|
||||
#, c-format
|
||||
msgid "Error loading theme: %s\n"
|
||||
msgstr "Tema yüklenirken hata: %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\" teması %g saniye içerisinde yüklendi\n"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:875
|
||||
#: ../src/ui/theme-viewer.c:878
|
||||
msgid "Normal Title Font"
|
||||
msgstr "Normal Başlık Yazıtipi"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:881
|
||||
#: ../src/ui/theme-viewer.c:884
|
||||
msgid "Small Title Font"
|
||||
msgstr "Küçük Başlık Yazıtipi"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:887
|
||||
#: ../src/ui/theme-viewer.c:890
|
||||
msgid "Large Title Font"
|
||||
msgstr "Büyük Başlık Yazıtipi"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:892
|
||||
#: ../src/ui/theme-viewer.c:895
|
||||
msgid "Button Layouts"
|
||||
msgstr "Düğme Düzenleri"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:897
|
||||
#: ../src/ui/theme-viewer.c:900
|
||||
msgid "Benchmark"
|
||||
msgstr "Karşılaştırma"
|
||||
|
||||
#: ../src/ui/theme-viewer.c:949
|
||||
#: ../src/ui/theme-viewer.c:952
|
||||
msgid "Window Title Goes Here"
|
||||
msgstr "Pencere Başlığı Buraya Gelir"
|
||||
|
||||
@@ -1936,6 +1984,9 @@ msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
||||
msgstr ""
|
||||
"%d kordinat ifadesi %g saniye içinde ayrıştırıldı (%g saniye ortalama ile)\n"
|
||||
|
||||
#~ msgid "Failed to retrieve color %s[%s] from GTK+ theme.\n"
|
||||
#~ msgstr "GTK+ temasından %s[%s] renginin alınması başarısız oldu.\n"
|
||||
|
||||
#~ msgid "Window Management"
|
||||
#~ msgstr "Pencere Yönetimi"
|
||||
|
||||
|
||||
289
po/uk.po
289
po/uk.po
@@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: metacity\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-05-03 22:43+0300\n"
|
||||
"PO-Revision-Date: 2011-05-03 22:46+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"
|
||||
@@ -381,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"
|
||||
@@ -392,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"
|
||||
@@ -473,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"
|
||||
@@ -508,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 "
|
||||
@@ -522,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 "
|
||||
@@ -541,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:624
|
||||
#: ../src/core/screen.c:741
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "Екран %d на дисплеї «%s» не правильний\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 --"
|
||||
@@ -570,7 +579,7 @@ msgstr ""
|
||||
"Екран %d на дисплеї «%s» вже має менеджера вікон; спробуйте вказати параметр "
|
||||
"--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"
|
||||
@@ -578,12 +587,12 @@ msgstr ""
|
||||
"Не вдалось одержати функцію виділення менеджеру вікон на екрані %d дисплею "
|
||||
"«%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 "Екран %d на дисплеї «%s» вже має менеджера вікон\n"
|
||||
|
||||
#: ../src/core/screen.c:907
|
||||
#: ../src/core/screen.c:1024
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "Не вдалось відпустити екран %d на дисплеї «%s»\n"
|
||||
@@ -663,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: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:6860
|
||||
#: ../src/core/window.c:7066
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@@ -702,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:7523
|
||||
#: ../src/core/window.c:7729
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
@@ -722,11 +725,16 @@ msgstr "Програма встановила неправильне значе
|
||||
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 ""
|
||||
@@ -754,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 "Долучити модальні вікна"
|
||||
@@ -775,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 "
|
||||
@@ -794,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 "
|
||||
@@ -804,7 +828,7 @@ msgstr ""
|
||||
"долучено до батьківського вікна заголовка і пересунуто разом з батьківських "
|
||||
"вікном."
|
||||
|
||||
#: ../src/mutter.schemas.in.h:8
|
||||
#: ../src/mutter.schemas.in.h:10
|
||||
msgid "Workspaces only on primary"
|
||||
msgstr "Робочий простір лише на первинному"
|
||||
|
||||
@@ -813,47 +837,47 @@ msgstr "Робочий простір лише на первинному"
|
||||
msgid "Usage: %s\n"
|
||||
msgstr "Використання: %s\n"
|
||||
|
||||
#: ../src/ui/frames.c:1177
|
||||
#: ../src/ui/frames.c:1157
|
||||
msgid "Close Window"
|
||||
msgstr "Закрити вікно"
|
||||
|
||||
#: ../src/ui/frames.c:1180
|
||||
#: ../src/ui/frames.c:1160
|
||||
msgid "Window Menu"
|
||||
msgstr "Меню вікна"
|
||||
|
||||
#: ../src/ui/frames.c:1183
|
||||
#: ../src/ui/frames.c:1163
|
||||
msgid "Minimize Window"
|
||||
msgstr "Згорнути вікно"
|
||||
|
||||
#: ../src/ui/frames.c:1186
|
||||
#: ../src/ui/frames.c:1166
|
||||
msgid "Maximize Window"
|
||||
msgstr "Розгорнути вікно"
|
||||
|
||||
#: ../src/ui/frames.c:1189
|
||||
#: ../src/ui/frames.c:1169
|
||||
msgid "Restore Window"
|
||||
msgstr "Відновити вікно"
|
||||
|
||||
#: ../src/ui/frames.c:1192
|
||||
#: ../src/ui/frames.c:1172
|
||||
msgid "Roll Up Window"
|
||||
msgstr "Скотити вікно"
|
||||
|
||||
#: ../src/ui/frames.c:1195
|
||||
#: ../src/ui/frames.c:1175
|
||||
msgid "Unroll Window"
|
||||
msgstr "Розкотити вікно"
|
||||
|
||||
#: ../src/ui/frames.c:1198
|
||||
#: ../src/ui/frames.c:1178
|
||||
msgid "Keep Window On Top"
|
||||
msgstr "Тримати вікно нагорі"
|
||||
|
||||
#: ../src/ui/frames.c:1201
|
||||
#: ../src/ui/frames.c:1181
|
||||
msgid "Remove Window From Top"
|
||||
msgstr "Прибрати вікно з гори"
|
||||
|
||||
#: ../src/ui/frames.c:1204
|
||||
#: ../src/ui/frames.c:1184
|
||||
msgid "Always On Visible Workspace"
|
||||
msgstr "Завжди на видимому робочому просторі"
|
||||
|
||||
#: ../src/ui/frames.c:1207
|
||||
#: ../src/ui/frames.c:1187
|
||||
msgid "Put Window On Only One Workspace"
|
||||
msgstr "Розміщувати вікно лише на одному робочому просторі"
|
||||
|
||||
@@ -1056,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] "
|
||||
@@ -1106,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:"
|
||||
@@ -1116,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 "
|
||||
@@ -1135,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 "
|
||||
@@ -1180,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"
|
||||
@@ -1210,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 "
|
||||
@@ -1235,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 "
|
||||
@@ -1274,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 "
|
||||
@@ -1301,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"
|
||||
@@ -1309,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» вже визначено"
|
||||
@@ -1766,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 "Тут буде заголовок вікна"
|
||||
|
||||
|
||||
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 "這裡是視窗標題"
|
||||
|
||||
|
||||
@@ -78,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 \
|
||||
@@ -100,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 \
|
||||
@@ -157,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)
|
||||
|
||||
@@ -167,6 +191,8 @@ 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 \
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
#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>
|
||||
|
||||
@@ -155,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);
|
||||
@@ -169,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;
|
||||
}
|
||||
@@ -279,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);
|
||||
}
|
||||
|
||||
@@ -341,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;
|
||||
@@ -368,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;
|
||||
|
||||
@@ -391,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;
|
||||
}
|
||||
@@ -404,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;
|
||||
}
|
||||
|
||||
@@ -450,7 +461,6 @@ 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;
|
||||
@@ -525,12 +535,7 @@ 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_for_screen (screen);
|
||||
@@ -600,22 +605,30 @@ meta_compositor_unmanage_screen (MetaCompositor *compositor,
|
||||
|
||||
/*
|
||||
* Shapes the cow so that the given window is exposed,
|
||||
* when xwin is None it clears the shape again
|
||||
* when metaWindow is NULL it clears the shape again
|
||||
*/
|
||||
static void
|
||||
meta_shape_cow_for_window (MetaScreen *screen,
|
||||
Window xwin)
|
||||
MetaWindow *metaWindow)
|
||||
{
|
||||
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
||||
Display *xdisplay = meta_display_get_xdisplay (meta_screen_get_display (screen));
|
||||
|
||||
if (xwin == None)
|
||||
XFixesSetWindowShapeRegion (xdisplay, info->output, ShapeBounding, 0, 0, None);
|
||||
if (metaWindow == NULL)
|
||||
XFixesSetWindowShapeRegion (xdisplay, info->output, ShapeBounding, 0, 0, None);
|
||||
else
|
||||
{
|
||||
XserverRegion output_region;
|
||||
XRectangle screen_rect;
|
||||
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;
|
||||
@@ -623,7 +636,8 @@ meta_shape_cow_for_window (MetaScreen *screen,
|
||||
screen_rect.width = width;
|
||||
screen_rect.height = height;
|
||||
|
||||
output_region = XFixesCreateRegionFromWindow (xdisplay, xwin, WindowRegionBounding);
|
||||
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);
|
||||
@@ -665,7 +679,7 @@ meta_compositor_remove_window (MetaCompositor *compositor,
|
||||
{
|
||||
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)),
|
||||
None);
|
||||
NULL);
|
||||
info->unredirected_window = NULL;
|
||||
}
|
||||
|
||||
@@ -680,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:
|
||||
@@ -715,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);
|
||||
|
||||
@@ -1145,6 +1166,9 @@ pre_paint_windows (MetaCompScreen *info)
|
||||
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) &&
|
||||
@@ -1157,13 +1181,13 @@ pre_paint_windows (MetaCompScreen *info)
|
||||
{
|
||||
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)),
|
||||
None);
|
||||
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_x_window (top_window));
|
||||
meta_window_actor_get_meta_window (top_window));
|
||||
meta_window_actor_set_redirected (top_window, FALSE);
|
||||
}
|
||||
|
||||
|
||||
@@ -360,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,
|
||||
|
||||
@@ -175,7 +175,7 @@ meta_shaped_texture_dirty_mask (MetaShapedTexture *stex)
|
||||
cairo_region_destroy (priv->visible_pixels_region);
|
||||
priv->visible_pixels_region = NULL;
|
||||
|
||||
if (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;
|
||||
@@ -772,7 +772,7 @@ meta_shaped_texture_set_overlay_path (MetaShapedTexture *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.)
|
||||
|
||||
@@ -111,8 +111,8 @@ texture_is_rectangle (CoglHandle texture)
|
||||
#endif /* GL_TEXTURE_RECTANGLE_ARB */
|
||||
|
||||
/**
|
||||
* 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
|
||||
@@ -175,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
|
||||
@@ -579,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
|
||||
|
||||
@@ -828,9 +828,9 @@ meta_window_actor_get_x_window (MetaWindowActor *self)
|
||||
/**
|
||||
* meta_window_actor_get_meta_window:
|
||||
*
|
||||
* Gets the MetaWindow object that the the MetaWindowActor is displaying
|
||||
* Gets the #MetaWindow object that the the #MetaWindowActor is displaying
|
||||
*
|
||||
* Return value: (transfer none): the displayed MetaWindow
|
||||
* Return value: (transfer none): the displayed #MetaWindow
|
||||
*/
|
||||
MetaWindow *
|
||||
meta_window_actor_get_meta_window (MetaWindowActor *self)
|
||||
@@ -843,7 +843,7 @@ meta_window_actor_get_meta_window (MetaWindowActor *self)
|
||||
*
|
||||
* Gets the ClutterActor that is used to display the contents of the window
|
||||
*
|
||||
* Return value: (transfer none): the ClutterActor for the contents
|
||||
* Return value: (transfer none): the #ClutterActor for the contents
|
||||
*/
|
||||
ClutterActor *
|
||||
meta_window_actor_get_texture (MetaWindowActor *self)
|
||||
@@ -1217,8 +1217,9 @@ meta_window_actor_should_unredirect (MetaWindowActor *self)
|
||||
{
|
||||
MetaWindow *metaWindow = meta_window_actor_get_meta_window (self);
|
||||
MetaScreen *screen = meta_window_get_screen (metaWindow);
|
||||
MetaWindowActorPrivate *priv = self->priv;
|
||||
|
||||
if (meta_window_is_override_redirect (metaWindow))
|
||||
if (meta_window_is_override_redirect (metaWindow) && priv->opacity == 0xff && !priv->argb32)
|
||||
{
|
||||
int screen_width, screen_height;
|
||||
MetaRectangle window_rect;
|
||||
@@ -1804,7 +1805,7 @@ meta_window_actor_set_visible_region_beneath (MetaWindowActor *self,
|
||||
* @self: a #MetaWindowActor
|
||||
*
|
||||
* Unsets the regions set by meta_window_actor_reset_visible_region() and
|
||||
*meta_window_actor_reset_visible_region_beneath()
|
||||
* meta_window_actor_reset_visible_region_beneath()
|
||||
*/
|
||||
void
|
||||
meta_window_actor_reset_visible_regions (MetaWindowActor *self)
|
||||
@@ -1884,7 +1885,7 @@ check_needs_pixmap (MetaWindowActor *self)
|
||||
{
|
||||
meta_verbose ("Unable to get named pixmap for %p\n", self);
|
||||
meta_window_actor_update_bounding_region_and_borders (self, 0, 0);
|
||||
return;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (compositor->no_mipmaps)
|
||||
@@ -1910,9 +1911,10 @@ check_needs_pixmap (MetaWindowActor *self)
|
||||
meta_window_actor_update_bounding_region_and_borders (self, pxm_width, pxm_height);
|
||||
}
|
||||
|
||||
meta_error_trap_pop (display);
|
||||
|
||||
priv->needs_pixmap = FALSE;
|
||||
|
||||
out:
|
||||
meta_error_trap_pop (display);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -2077,7 +2079,11 @@ update_corners (MetaWindowActor *self,
|
||||
cairo_surface_t *surface;
|
||||
|
||||
if (!priv->window->frame)
|
||||
return;
|
||||
{
|
||||
meta_shaped_texture_set_overlay_path (META_SHAPED_TEXTURE (priv->actor),
|
||||
NULL, NULL);
|
||||
return;
|
||||
}
|
||||
|
||||
meta_window_get_outer_rect (priv->window, &outer);
|
||||
|
||||
@@ -2122,24 +2128,11 @@ update_corners (MetaWindowActor *self,
|
||||
top_right,
|
||||
0, M_PI*2);
|
||||
|
||||
/* bottom left */
|
||||
x = borders->invisible.left;
|
||||
y = borders->invisible.top + outer.height - bottom_left;
|
||||
|
||||
set_integral_bounding_rect (&corner_rects[2],
|
||||
x, y, bottom_left, bottom_left);
|
||||
|
||||
cairo_arc (cr,
|
||||
x + bottom_left,
|
||||
y,
|
||||
bottom_left,
|
||||
0, M_PI*2);
|
||||
|
||||
/* bottom right */
|
||||
x = borders->invisible.left + outer.width - bottom_right;
|
||||
y = borders->invisible.top + outer.height - bottom_right;
|
||||
|
||||
set_integral_bounding_rect (&corner_rects[3],
|
||||
set_integral_bounding_rect (&corner_rects[2],
|
||||
x, y, bottom_right, bottom_right);
|
||||
|
||||
cairo_arc (cr,
|
||||
@@ -2148,6 +2141,19 @@ update_corners (MetaWindowActor *self,
|
||||
bottom_right,
|
||||
0, M_PI*2);
|
||||
|
||||
/* bottom left */
|
||||
x = borders->invisible.left;
|
||||
y = borders->invisible.top + outer.height - bottom_left;
|
||||
|
||||
set_integral_bounding_rect (&corner_rects[3],
|
||||
x, y, bottom_left, bottom_left);
|
||||
|
||||
cairo_arc (cr,
|
||||
x + bottom_left,
|
||||
y,
|
||||
bottom_left,
|
||||
0, M_PI*2);
|
||||
|
||||
corner_path = cairo_copy_path (cr);
|
||||
|
||||
cairo_surface_destroy (surface);
|
||||
@@ -2288,11 +2294,38 @@ meta_window_actor_pre_paint (MetaWindowActor *self)
|
||||
return;
|
||||
}
|
||||
|
||||
if (priv->received_damage && !self->priv->unredirected)
|
||||
if (priv->unredirected)
|
||||
{
|
||||
/* Nothing to do here until/if the window gets redirected again */
|
||||
return;
|
||||
}
|
||||
|
||||
if (priv->received_damage)
|
||||
{
|
||||
meta_error_trap_push (display);
|
||||
XDamageSubtract (xdisplay, priv->damage, None, None);
|
||||
meta_error_trap_pop (display);
|
||||
|
||||
/* We need to make sure that any X drawing that happens before the
|
||||
* XDamageSubtract() above is visible to subsequent GL rendering;
|
||||
* the only standardized way to do this is EXT_x11_sync_object,
|
||||
* which isn't yet widely available. For now, we count on details
|
||||
* of Xorg and the open source drivers, and hope for the best
|
||||
* otherwise.
|
||||
*
|
||||
* Xorg and open source driver specifics:
|
||||
*
|
||||
* The X server makes sure to flush drawing to the kernel before
|
||||
* sending out damage events, but since we use DamageReportBoundingBox
|
||||
* there may be drawing between the last damage event and the
|
||||
* XDamageSubtract() that needs to be flushed as well.
|
||||
*
|
||||
* Xorg always makes sure that drawing is flushed to the kernel
|
||||
* before writing events or responses to the client, so any round trip
|
||||
* request at this point is sufficient to flush the GLX buffers.
|
||||
*/
|
||||
XSync (xdisplay, False);
|
||||
|
||||
priv->received_damage = FALSE;
|
||||
}
|
||||
|
||||
|
||||
@@ -101,6 +101,25 @@ 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)
|
||||
{
|
||||
@@ -145,6 +164,25 @@ meta_window_group_paint (ClutterActor *actor)
|
||||
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;
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -805,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
|
||||
@@ -1357,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
|
||||
|
||||
202
src/core/core.c
202
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.
|
||||
*
|
||||
@@ -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,6 +272,7 @@ 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);
|
||||
}
|
||||
@@ -263,16 +280,21 @@ meta_core_user_lower_and_unfocus (Display *xdisplay,
|
||||
void
|
||||
meta_core_lower_beneath_grab_window (Display *xdisplay,
|
||||
Window xwindow,
|
||||
int device_id,
|
||||
guint32 timestamp)
|
||||
{
|
||||
XWindowChanges changes;
|
||||
MetaDisplay *display;
|
||||
MetaScreen *screen;
|
||||
MetaWindow *grab_window;
|
||||
MetaDevice *pointer;
|
||||
MetaGrabInfo *grab_info;
|
||||
|
||||
display = meta_display_for_x_display (xdisplay);
|
||||
screen = meta_display_screen_for_xwindow (display, xwindow);
|
||||
grab_window = display->grab_window;
|
||||
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 (grab_window == NULL)
|
||||
return;
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -110,6 +110,7 @@ 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,
|
||||
@@ -118,6 +119,7 @@ void meta_core_user_focus (Display *xdisplay,
|
||||
|
||||
void meta_core_lower_beneath_grab_window (Display *xdisplay,
|
||||
Window xwindow,
|
||||
int device_id,
|
||||
guint32 timestamp);
|
||||
|
||||
void meta_core_minimize (Display *xdisplay,
|
||||
@@ -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
|
||||
|
||||
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
|
||||
|
||||
3036
src/core/display.c
3036
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 */
|
||||
|
||||
|
||||
@@ -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,7 +65,7 @@ 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->is_flashing = FALSE;
|
||||
@@ -173,6 +174,7 @@ void
|
||||
meta_window_destroy_frame (MetaWindow *window)
|
||||
{
|
||||
MetaFrame *frame;
|
||||
MetaFrameBorders borders;
|
||||
|
||||
if (window->frame == NULL)
|
||||
return;
|
||||
@@ -180,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);
|
||||
|
||||
@@ -207,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);
|
||||
@@ -217,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);
|
||||
@@ -236,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
|
||||
@@ -369,8 +385,7 @@ 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);
|
||||
}
|
||||
@@ -395,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
|
||||
|
||||
@@ -34,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
|
||||
@@ -76,7 +76,8 @@ gboolean meta_frame_sync_to_window (MetaFrame *frame,
|
||||
|
||||
cairo_region_t *meta_frame_get_frame_bounds (MetaFrame *frame);
|
||||
|
||||
void meta_frame_set_screen_cursor (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
@@ -311,9 +311,12 @@ static GSourceFuncs event_funcs = {
|
||||
static void
|
||||
meta_clutter_init (void)
|
||||
{
|
||||
if (!meta_get_use_core_devices ())
|
||||
clutter_x11_enable_xinput ();
|
||||
|
||||
clutter_x11_set_display (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
|
||||
clutter_x11_disable_event_retrieval ();
|
||||
|
||||
|
||||
if (CLUTTER_INIT_SUCCESS == clutter_init (NULL, NULL))
|
||||
{
|
||||
GSource *source = g_source_new (&event_funcs, sizeof (GSource));
|
||||
@@ -424,6 +427,8 @@ meta_init (void)
|
||||
meta_set_verbose (TRUE);
|
||||
if (g_getenv ("MUTTER_DEBUG"))
|
||||
meta_set_debugging (TRUE);
|
||||
if (g_getenv ("MUTTER_USE_CORE_DEVICES"))
|
||||
meta_set_use_core_devices (TRUE);
|
||||
|
||||
if (g_get_home_dir ())
|
||||
if (chdir (g_get_home_dir ()) < 0)
|
||||
|
||||
@@ -90,6 +90,7 @@ northwestcmp (gconstpointer a, gconstpointer b)
|
||||
|
||||
static void
|
||||
find_next_cascade (MetaWindow *window,
|
||||
MetaDevice *pointer,
|
||||
MetaFrameBorders *borders,
|
||||
/* visible windows on relevant workspaces */
|
||||
GList *windows,
|
||||
@@ -136,7 +137,7 @@ find_next_cascade (MetaWindow *window,
|
||||
* of NW corner of window frame.
|
||||
*/
|
||||
|
||||
current = meta_screen_get_current_monitor (window->screen);
|
||||
current = meta_screen_get_current_monitor (window->screen, pointer);
|
||||
meta_window_get_work_area_for_monitor (window, current->number, &work_area);
|
||||
|
||||
cascade_x = MAX (0, work_area.x);
|
||||
@@ -354,10 +355,17 @@ avoid_being_obscured_as_second_modal_dialog (MetaWindow *window,
|
||||
* know about the modal-to-the-main-window part.
|
||||
*/
|
||||
|
||||
MetaWindow *focus_window;
|
||||
MetaWindow *focus_window = NULL;
|
||||
MetaFocusInfo *focus_info;
|
||||
MetaRectangle overlap;
|
||||
MetaDevice *pointer, *keyboard;
|
||||
|
||||
focus_window = window->display->focus_window;
|
||||
pointer = meta_window_guess_grab_pointer (window);
|
||||
keyboard = meta_device_get_paired_device (pointer);
|
||||
focus_info = meta_display_get_focus_info (window->display, keyboard);
|
||||
|
||||
if (focus_window)
|
||||
focus_window = focus_info->focus_window;
|
||||
|
||||
if (window->denied_focus_and_not_transient &&
|
||||
window->wm_state_modal && /* FIXME: Maybe do this for all transients? */
|
||||
@@ -660,6 +668,7 @@ meta_window_place (MetaWindow *window,
|
||||
{
|
||||
GList *windows;
|
||||
const MetaMonitorInfo *xi;
|
||||
MetaDevice *pointer, *keyboard;
|
||||
|
||||
/* frame member variables should NEVER be used in here, only
|
||||
* MetaFrameBorders. But remember borders == NULL
|
||||
@@ -671,7 +680,9 @@ meta_window_place (MetaWindow *window,
|
||||
meta_topic (META_DEBUG_PLACEMENT, "Placing window %s\n", window->desc);
|
||||
|
||||
windows = NULL;
|
||||
|
||||
pointer = meta_window_guess_grab_pointer (window);
|
||||
keyboard = meta_device_get_paired_device (pointer);
|
||||
|
||||
switch (window->type)
|
||||
{
|
||||
/* Run placement algorithm on these. */
|
||||
@@ -815,7 +826,7 @@ meta_window_place (MetaWindow *window,
|
||||
int w, h;
|
||||
|
||||
/* Warning, this function is a round trip! */
|
||||
xi = meta_screen_get_current_monitor (window->screen);
|
||||
xi = meta_screen_get_current_monitor (window->screen, pointer);
|
||||
|
||||
w = xi->rect.width;
|
||||
h = xi->rect.height;
|
||||
@@ -860,8 +871,8 @@ meta_window_place (MetaWindow *window,
|
||||
}
|
||||
|
||||
/* Warning, this is a round trip! */
|
||||
xi = meta_screen_get_current_monitor (window->screen);
|
||||
|
||||
xi = meta_screen_get_current_monitor (window->screen, pointer);
|
||||
|
||||
/* "Origin" placement algorithm */
|
||||
x = xi->rect.x;
|
||||
y = xi->rect.y;
|
||||
@@ -899,8 +910,8 @@ meta_window_place (MetaWindow *window,
|
||||
/* If no placement has been done, revert to cascade to avoid
|
||||
* fully overlapping window (e.g. starting multiple terminals)
|
||||
* */
|
||||
if (x == xi->rect.x && y == xi->rect.y)
|
||||
find_next_cascade (window, borders, windows, x, y, &x, &y);
|
||||
if (x == xi->rect.x && y == xi->rect.y)
|
||||
find_next_cascade (window, pointer, borders, windows, x, y, &x, &y);
|
||||
|
||||
done_check_denied_focus:
|
||||
/* If the window is being denied focus and isn't a transient of the
|
||||
@@ -913,8 +924,12 @@ meta_window_place (MetaWindow *window,
|
||||
gboolean found_fit;
|
||||
MetaWindow *focus_window;
|
||||
MetaRectangle overlap;
|
||||
MetaFocusInfo *focus_info;
|
||||
|
||||
focus_window = window->display->focus_window;
|
||||
focus_info = meta_display_get_focus_info (window->display, keyboard);
|
||||
g_assert (focus_info != NULL);
|
||||
|
||||
focus_window = focus_info->focus_window;
|
||||
g_assert (focus_window != NULL);
|
||||
|
||||
/* No need to do anything if the window doesn't overlap at all */
|
||||
|
||||
@@ -45,6 +45,8 @@ struct _MetaMonitorInfo
|
||||
{
|
||||
int number;
|
||||
MetaRectangle rect;
|
||||
gboolean is_primary;
|
||||
XID output; /* The primary or first output for this crtc, None if no xrandr */
|
||||
};
|
||||
|
||||
typedef void (* MetaScreenWindowFunc) (MetaScreen *screen, MetaWindow *window,
|
||||
@@ -90,7 +92,8 @@ struct _MetaScreen
|
||||
MetaStack *stack;
|
||||
MetaStackTracker *stack_tracker;
|
||||
|
||||
MetaCursor current_cursor;
|
||||
/* per-pointer cursors */
|
||||
GHashTable *cursors;
|
||||
|
||||
Window flash_window;
|
||||
|
||||
@@ -158,8 +161,10 @@ void meta_screen_queue_frame_redraws (MetaScreen *scree
|
||||
void meta_screen_queue_window_resizes (MetaScreen *screen);
|
||||
|
||||
void meta_screen_set_cursor (MetaScreen *screen,
|
||||
MetaDevice *pointer,
|
||||
MetaCursor cursor);
|
||||
void meta_screen_update_cursor (MetaScreen *screen);
|
||||
void meta_screen_update_cursor (MetaScreen *screen,
|
||||
MetaDevice *pointer);
|
||||
|
||||
void meta_screen_tab_popup_create (MetaScreen *screen,
|
||||
MetaTabList list_type,
|
||||
@@ -182,9 +187,11 @@ void meta_screen_tile_preview_update (MetaScreen *screen,
|
||||
void meta_screen_tile_preview_hide (MetaScreen *screen);
|
||||
|
||||
MetaWindow* meta_screen_get_mouse_window (MetaScreen *screen,
|
||||
MetaDevice *pointer,
|
||||
MetaWindow *not_this_one);
|
||||
|
||||
const MetaMonitorInfo* meta_screen_get_current_monitor (MetaScreen *screen);
|
||||
const MetaMonitorInfo* meta_screen_get_current_monitor (MetaScreen *screen,
|
||||
MetaDevice *pointer);
|
||||
const MetaMonitorInfo* meta_screen_get_monitor_for_rect (MetaScreen *screen,
|
||||
MetaRectangle *rect);
|
||||
const MetaMonitorInfo* meta_screen_get_monitor_for_window (MetaScreen *screen,
|
||||
|
||||
@@ -37,10 +37,12 @@
|
||||
#include "workspace-private.h"
|
||||
#include "keybindings-private.h"
|
||||
#include "stack.h"
|
||||
#include "core.h"
|
||||
#include "xprops.h"
|
||||
#include <meta/compositor.h>
|
||||
#include "mutter-marshal.h"
|
||||
#include "mutter-enum-types.h"
|
||||
#include "device-pointer.h"
|
||||
|
||||
#ifdef HAVE_SOLARIS_XINERAMA
|
||||
#include <X11/extensions/xinerama.h>
|
||||
@@ -48,6 +50,9 @@
|
||||
#ifdef HAVE_XFREE_XINERAMA
|
||||
#include <X11/extensions/Xinerama.h>
|
||||
#endif
|
||||
#ifdef HAVE_RANDR
|
||||
#include <X11/extensions/Xrandr.h>
|
||||
#endif
|
||||
|
||||
#include <X11/Xatom.h>
|
||||
#include <locale.h>
|
||||
@@ -386,6 +391,56 @@ filter_mirrored_monitors (MetaScreen *screen)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef HAVE_RANDR
|
||||
static MetaMonitorInfo *
|
||||
find_monitor_with_rect (MetaScreen *screen, int x, int y, int w, int h)
|
||||
{
|
||||
MetaMonitorInfo *info;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < screen->n_monitor_infos; i++)
|
||||
{
|
||||
info = &screen->monitor_infos[i];
|
||||
if (x == info->rect.x &&
|
||||
y == info->rect.y &&
|
||||
w == info->rect.width &&
|
||||
h == info->rect.height)
|
||||
return info;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* In the case of multiple outputs of a single crtc (mirroring), we consider one of the
|
||||
* outputs the "main". This is the one we consider "owning" the windows, so if
|
||||
* the mirroring is changed to a dual monitor setup then the windows are moved to the
|
||||
* crtc that now has that main output. If one of the outputs is the primary that is
|
||||
* always the main, otherwise we just use the first.
|
||||
*/
|
||||
static XID
|
||||
find_main_output_for_crtc (MetaScreen *screen, XRRScreenResources *resources, XRRCrtcInfo *crtc)
|
||||
{
|
||||
XRROutputInfo *output;
|
||||
RROutput primary_output;
|
||||
int i;
|
||||
XID res;
|
||||
|
||||
primary_output = XRRGetOutputPrimary (screen->display->xdisplay, screen->xroot);
|
||||
|
||||
res = None;
|
||||
for (i = 0; i < crtc->noutput; i++)
|
||||
{
|
||||
output = XRRGetOutputInfo (screen->display->xdisplay, resources, crtc->outputs[i]);
|
||||
if (output->connection != RR_Disconnected &&
|
||||
(res == None || crtc->outputs[i] == primary_output))
|
||||
res = crtc->outputs[i];
|
||||
XRRFreeOutputInfo (output);
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static void
|
||||
reload_monitor_infos (MetaScreen *screen)
|
||||
{
|
||||
@@ -406,10 +461,9 @@ reload_monitor_infos (MetaScreen *screen)
|
||||
}
|
||||
|
||||
display = screen->display;
|
||||
|
||||
if (screen->monitor_infos)
|
||||
g_free (screen->monitor_infos);
|
||||
|
||||
|
||||
/* Any previous screen->monitor_infos is freed by the caller */
|
||||
|
||||
screen->monitor_infos = NULL;
|
||||
screen->n_monitor_infos = 0;
|
||||
screen->last_monitor_index = 0;
|
||||
@@ -433,7 +487,7 @@ reload_monitor_infos (MetaScreen *screen)
|
||||
meta_topic (META_DEBUG_XINERAMA,
|
||||
"Pretending a single monitor has two Xinerama screens\n");
|
||||
|
||||
screen->monitor_infos = g_new (MetaMonitorInfo, 2);
|
||||
screen->monitor_infos = g_new0 (MetaMonitorInfo, 2);
|
||||
screen->n_monitor_infos = 2;
|
||||
|
||||
screen->monitor_infos[0].number = 0;
|
||||
@@ -445,7 +499,7 @@ reload_monitor_infos (MetaScreen *screen)
|
||||
screen->monitor_infos[1].rect.x = screen->rect.width / 2;
|
||||
screen->monitor_infos[1].rect.width = screen->rect.width / 2;
|
||||
}
|
||||
|
||||
|
||||
#ifdef HAVE_XFREE_XINERAMA
|
||||
if (screen->n_monitor_infos == 0 &&
|
||||
XineramaIsActive (display->xdisplay))
|
||||
@@ -463,7 +517,7 @@ reload_monitor_infos (MetaScreen *screen)
|
||||
|
||||
if (n_infos > 0)
|
||||
{
|
||||
screen->monitor_infos = g_new (MetaMonitorInfo, n_infos);
|
||||
screen->monitor_infos = g_new0 (MetaMonitorInfo, n_infos);
|
||||
screen->n_monitor_infos = n_infos;
|
||||
|
||||
i = 0;
|
||||
@@ -488,6 +542,30 @@ reload_monitor_infos (MetaScreen *screen)
|
||||
}
|
||||
|
||||
meta_XFree (infos);
|
||||
|
||||
#ifdef HAVE_RANDR
|
||||
{
|
||||
XRRScreenResources *resources;
|
||||
|
||||
resources = XRRGetScreenResourcesCurrent (display->xdisplay, screen->xroot);
|
||||
if (resources)
|
||||
{
|
||||
for (i = 0; i < resources->ncrtc; i++)
|
||||
{
|
||||
XRRCrtcInfo *crtc;
|
||||
MetaMonitorInfo *info;
|
||||
|
||||
crtc = XRRGetCrtcInfo (display->xdisplay, resources, resources->crtcs[i]);
|
||||
info = find_monitor_with_rect (screen, crtc->x, crtc->y, (int)crtc->width, (int)crtc->height);
|
||||
if (info)
|
||||
info->output = find_main_output_for_crtc (screen, resources, crtc);
|
||||
|
||||
XRRFreeCrtcInfo (crtc);
|
||||
}
|
||||
XRRFreeScreenResources (resources);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else if (screen->n_monitor_infos > 0)
|
||||
{
|
||||
@@ -524,7 +602,7 @@ reload_monitor_infos (MetaScreen *screen)
|
||||
{
|
||||
g_assert (n_monitors > 0);
|
||||
|
||||
screen->monitor_infos = g_new (MetaMonitorInfo, n_monitors);
|
||||
screen->monitor_infos = g_new0 (MetaMonitorInfo, n_monitors);
|
||||
screen->n_monitor_infos = n_monitors;
|
||||
|
||||
i = 0;
|
||||
@@ -568,7 +646,7 @@ reload_monitor_infos (MetaScreen *screen)
|
||||
meta_topic (META_DEBUG_XINERAMA,
|
||||
"No Xinerama screens, using default screen info\n");
|
||||
|
||||
screen->monitor_infos = g_new (MetaMonitorInfo, 1);
|
||||
screen->monitor_infos = g_new0 (MetaMonitorInfo, 1);
|
||||
screen->n_monitor_infos = 1;
|
||||
|
||||
screen->monitor_infos[0].number = 0;
|
||||
@@ -577,6 +655,8 @@ reload_monitor_infos (MetaScreen *screen)
|
||||
|
||||
filter_mirrored_monitors (screen);
|
||||
|
||||
screen->monitor_infos[screen->primary_monitor_index].is_primary = TRUE;
|
||||
|
||||
g_assert (screen->n_monitor_infos > 0);
|
||||
g_assert (screen->monitor_infos != NULL);
|
||||
}
|
||||
@@ -632,7 +712,6 @@ meta_screen_new (MetaDisplay *display,
|
||||
MetaScreen *screen;
|
||||
Window xroot;
|
||||
Display *xdisplay;
|
||||
XWindowAttributes attr;
|
||||
Window new_wm_sn_owner;
|
||||
Window current_wm_sn_owner;
|
||||
gboolean replace_current_wm;
|
||||
@@ -747,15 +826,15 @@ meta_screen_new (MetaDisplay *display,
|
||||
/* We need to or with the existing event mask since
|
||||
* gtk+ may be interested in other events.
|
||||
*/
|
||||
XGetWindowAttributes (xdisplay, xroot, &attr);
|
||||
XSelectInput (xdisplay,
|
||||
xroot,
|
||||
SubstructureRedirectMask | SubstructureNotifyMask |
|
||||
ColormapChangeMask | PropertyChangeMask |
|
||||
LeaveWindowMask | EnterWindowMask |
|
||||
KeyPressMask | KeyReleaseMask |
|
||||
FocusChangeMask | StructureNotifyMask |
|
||||
ExposureMask | attr.your_event_mask);
|
||||
meta_core_select_events (xdisplay, xroot,
|
||||
(SubstructureRedirectMask | SubstructureNotifyMask |
|
||||
ColormapChangeMask | PropertyChangeMask |
|
||||
LeaveWindowMask | EnterWindowMask |
|
||||
KeyPressMask | KeyReleaseMask |
|
||||
FocusChangeMask | StructureNotifyMask |
|
||||
ExposureMask),
|
||||
TRUE);
|
||||
|
||||
if (meta_error_trap_pop_with_return (display) != Success)
|
||||
{
|
||||
meta_warning (_("Screen %d on display \"%s\" already has a window manager\n"),
|
||||
@@ -777,10 +856,10 @@ meta_screen_new (MetaDisplay *display,
|
||||
screen->rect.x = screen->rect.y = 0;
|
||||
screen->rect.width = WidthOfScreen (screen->xscreen);
|
||||
screen->rect.height = HeightOfScreen (screen->xscreen);
|
||||
screen->current_cursor = -1; /* invalid/unset */
|
||||
screen->default_xvisual = DefaultVisualOfScreen (screen->xscreen);
|
||||
screen->default_depth = DefaultDepthOfScreen (screen->xscreen);
|
||||
screen->flash_window = None;
|
||||
screen->cursors = g_hash_table_new (NULL, NULL);
|
||||
|
||||
screen->wm_sn_selection_window = new_wm_sn_owner;
|
||||
screen->wm_sn_atom = wm_sn_atom;
|
||||
@@ -805,8 +884,6 @@ meta_screen_new (MetaDisplay *display,
|
||||
screen->last_monitor_index = 0;
|
||||
|
||||
reload_monitor_infos (screen);
|
||||
|
||||
meta_screen_set_cursor (screen, META_CURSOR_DEFAULT);
|
||||
|
||||
/* Handle creating a no_focus_window for this screen */
|
||||
screen->no_focus_window =
|
||||
@@ -941,7 +1018,10 @@ meta_screen_free (MetaScreen *screen,
|
||||
meta_stack_tracker_free (screen->stack_tracker);
|
||||
|
||||
meta_error_trap_push_with_return (screen->display);
|
||||
XSelectInput (screen->display->xdisplay, screen->xroot, 0);
|
||||
meta_core_select_events (screen->display->xdisplay,
|
||||
screen->xroot, NoEventMask,
|
||||
FALSE);
|
||||
|
||||
if (meta_error_trap_pop_with_return (screen->display) != Success)
|
||||
meta_warning (_("Could not release screen %d on display \"%s\"\n"),
|
||||
screen->number, screen->display->name);
|
||||
@@ -965,6 +1045,8 @@ meta_screen_free (MetaScreen *screen,
|
||||
|
||||
g_free (screen->screen_name);
|
||||
|
||||
g_hash_table_destroy (screen->cursors);
|
||||
|
||||
g_object_unref (screen);
|
||||
|
||||
XFlush (display->xdisplay);
|
||||
@@ -1578,31 +1660,33 @@ update_focus_mode (MetaScreen *screen)
|
||||
|
||||
void
|
||||
meta_screen_set_cursor (MetaScreen *screen,
|
||||
MetaDevice *pointer,
|
||||
MetaCursor cursor)
|
||||
{
|
||||
Cursor xcursor;
|
||||
MetaCursor old_cursor;
|
||||
|
||||
if (cursor == screen->current_cursor)
|
||||
old_cursor = GPOINTER_TO_UINT (g_hash_table_lookup (screen->cursors, pointer));
|
||||
|
||||
if (cursor == old_cursor)
|
||||
return;
|
||||
|
||||
screen->current_cursor = cursor;
|
||||
|
||||
xcursor = meta_display_create_x_cursor (screen->display, cursor);
|
||||
XDefineCursor (screen->display->xdisplay, screen->xroot, xcursor);
|
||||
XFlush (screen->display->xdisplay);
|
||||
XFreeCursor (screen->display->xdisplay, xcursor);
|
||||
g_hash_table_insert (screen->cursors, pointer,
|
||||
GUINT_TO_POINTER (cursor));
|
||||
|
||||
meta_screen_update_cursor (screen, pointer);
|
||||
}
|
||||
|
||||
void
|
||||
meta_screen_update_cursor (MetaScreen *screen)
|
||||
meta_screen_update_cursor (MetaScreen *screen,
|
||||
MetaDevice *pointer)
|
||||
{
|
||||
Cursor xcursor;
|
||||
MetaCursor cursor;
|
||||
|
||||
xcursor = meta_display_create_x_cursor (screen->display,
|
||||
screen->current_cursor);
|
||||
XDefineCursor (screen->display->xdisplay, screen->xroot, xcursor);
|
||||
cursor = GPOINTER_TO_UINT (g_hash_table_lookup (screen->cursors, pointer));
|
||||
meta_device_pointer_set_window_cursor (META_DEVICE_POINTER (pointer),
|
||||
screen->xroot,
|
||||
cursor);
|
||||
XFlush (screen->display->xdisplay);
|
||||
XFreeCursor (screen->display->xdisplay, xcursor);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -1856,9 +1940,21 @@ static gboolean
|
||||
meta_screen_tile_preview_update_timeout (gpointer data)
|
||||
{
|
||||
MetaScreen *screen = data;
|
||||
MetaWindow *window = screen->display->grab_window;
|
||||
MetaWindow *window = NULL;
|
||||
gboolean composited = screen->display->compositor != NULL;
|
||||
gboolean needs_preview = FALSE;
|
||||
MetaGrabInfo *grab_info;
|
||||
MetaDevice *pointer = NULL;
|
||||
GHashTableIter iter;
|
||||
|
||||
/* FIXME: we're just handling the first grab we find */
|
||||
g_hash_table_iter_init (&iter, screen->display->current_grabs);
|
||||
|
||||
if (g_hash_table_iter_next (&iter, NULL, (gpointer *) &grab_info))
|
||||
{
|
||||
window = grab_info->grab_window;
|
||||
pointer = grab_info->grab_pointer;
|
||||
}
|
||||
|
||||
screen->tile_preview_timeout_id = 0;
|
||||
|
||||
@@ -1902,7 +1998,7 @@ meta_screen_tile_preview_update_timeout (gpointer data)
|
||||
MetaRectangle tile_rect;
|
||||
|
||||
meta_window_get_current_tile_area (window, &tile_rect);
|
||||
meta_tile_preview_show (screen->tile_preview, &tile_rect);
|
||||
meta_tile_preview_show (screen->tile_preview, pointer, &tile_rect);
|
||||
}
|
||||
else
|
||||
meta_tile_preview_hide (screen->tile_preview);
|
||||
@@ -1947,28 +2043,23 @@ meta_screen_tile_preview_hide (MetaScreen *screen)
|
||||
|
||||
MetaWindow*
|
||||
meta_screen_get_mouse_window (MetaScreen *screen,
|
||||
MetaDevice *pointer,
|
||||
MetaWindow *not_this_one)
|
||||
{
|
||||
MetaWindow *window;
|
||||
Window root_return, child_return;
|
||||
int root_x_return, root_y_return;
|
||||
int win_x_return, win_y_return;
|
||||
unsigned int mask_return;
|
||||
|
||||
|
||||
if (not_this_one)
|
||||
meta_topic (META_DEBUG_FOCUS,
|
||||
"Focusing mouse window excluding %s\n", not_this_one->desc);
|
||||
|
||||
meta_error_trap_push (screen->display);
|
||||
XQueryPointer (screen->display->xdisplay,
|
||||
screen->xroot,
|
||||
&root_return,
|
||||
&child_return,
|
||||
&root_x_return,
|
||||
&root_y_return,
|
||||
&win_x_return,
|
||||
&win_y_return,
|
||||
&mask_return);
|
||||
meta_device_pointer_query_position (META_DEVICE_POINTER (pointer),
|
||||
screen->xroot,
|
||||
NULL, NULL,
|
||||
&root_x_return,
|
||||
&root_y_return,
|
||||
NULL, NULL, NULL);
|
||||
meta_error_trap_pop (screen->display);
|
||||
|
||||
window = meta_stack_get_default_focus_window_at_point (screen->stack,
|
||||
@@ -2064,6 +2155,7 @@ meta_screen_get_natural_monitor_list (MetaScreen *screen,
|
||||
const MetaMonitorInfo* current;
|
||||
const MetaMonitorInfo* tmp;
|
||||
GQueue* monitor_queue;
|
||||
MetaDevice *pointer;
|
||||
int* visited;
|
||||
int cur = 0;
|
||||
int i;
|
||||
@@ -2071,6 +2163,9 @@ meta_screen_get_natural_monitor_list (MetaScreen *screen,
|
||||
*n_monitors = screen->n_monitor_infos;
|
||||
*monitors_list = g_new (int, screen->n_monitor_infos);
|
||||
|
||||
pointer = meta_device_map_lookup (screen->display->device_map,
|
||||
META_CORE_POINTER_ID);
|
||||
|
||||
/* we calculate a natural ordering by which to choose monitors for
|
||||
* window placement. We start at the current monitor, and perform
|
||||
* a breadth-first search of the monitors starting from that
|
||||
@@ -2085,7 +2180,7 @@ meta_screen_get_natural_monitor_list (MetaScreen *screen,
|
||||
visited[i] = FALSE;
|
||||
}
|
||||
|
||||
current = meta_screen_get_current_monitor (screen);
|
||||
current = meta_screen_get_current_monitor (screen, pointer);
|
||||
monitor_queue = g_queue_new ();
|
||||
g_queue_push_tail (monitor_queue, (gpointer) current);
|
||||
visited[current->number] = TRUE;
|
||||
@@ -2152,7 +2247,8 @@ meta_screen_get_natural_monitor_list (MetaScreen *screen,
|
||||
}
|
||||
|
||||
const MetaMonitorInfo*
|
||||
meta_screen_get_current_monitor (MetaScreen *screen)
|
||||
meta_screen_get_current_monitor (MetaScreen *screen,
|
||||
MetaDevice *pointer)
|
||||
{
|
||||
if (screen->n_monitor_infos == 1)
|
||||
return &screen->monitor_infos[0];
|
||||
@@ -2162,24 +2258,18 @@ meta_screen_get_current_monitor (MetaScreen *screen)
|
||||
|
||||
if (screen->display->monitor_cache_invalidated)
|
||||
{
|
||||
Window root_return, child_return;
|
||||
int win_x_return, win_y_return;
|
||||
unsigned int mask_return;
|
||||
int i;
|
||||
MetaRectangle pointer_position;
|
||||
|
||||
screen->display->monitor_cache_invalidated = FALSE;
|
||||
|
||||
pointer_position.width = pointer_position.height = 1;
|
||||
XQueryPointer (screen->display->xdisplay,
|
||||
screen->xroot,
|
||||
&root_return,
|
||||
&child_return,
|
||||
&pointer_position.x,
|
||||
&pointer_position.y,
|
||||
&win_x_return,
|
||||
&win_y_return,
|
||||
&mask_return);
|
||||
meta_device_pointer_query_position (META_DEVICE_POINTER (pointer),
|
||||
screen->xroot,
|
||||
NULL, NULL,
|
||||
&pointer_position.x,
|
||||
&pointer_position.y,
|
||||
NULL, NULL, NULL);
|
||||
|
||||
screen->last_monitor_index = 0;
|
||||
for (i = 0; i < screen->n_monitor_infos; i++)
|
||||
@@ -2882,28 +2972,17 @@ meta_screen_resize (MetaScreen *screen,
|
||||
int height)
|
||||
{
|
||||
GSList *windows, *tmp;
|
||||
MetaMonitorInfo *old_monitor_infos;
|
||||
|
||||
screen->rect.width = width;
|
||||
screen->rect.height = height;
|
||||
|
||||
/* Clear monitor for all windows on this screen, as it will become
|
||||
* invalid. */
|
||||
windows = meta_display_list_windows (screen->display,
|
||||
META_LIST_INCLUDE_OVERRIDE_REDIRECT);
|
||||
for (tmp = windows; tmp != NULL; tmp = tmp->next)
|
||||
{
|
||||
MetaWindow *window = tmp->data;
|
||||
|
||||
if (window->screen == screen)
|
||||
{
|
||||
g_signal_emit_by_name (screen, "window-left-monitor", window->monitor->number, window);
|
||||
window->monitor = NULL;
|
||||
}
|
||||
}
|
||||
/* Save the old monitor infos, so they stay valid during the update */
|
||||
old_monitor_infos = screen->monitor_infos;
|
||||
|
||||
reload_monitor_infos (screen);
|
||||
set_desktop_geometry_hint (screen);
|
||||
|
||||
|
||||
if (screen->display->compositor)
|
||||
meta_compositor_sync_screen_size (screen->display->compositor,
|
||||
screen, width, height);
|
||||
@@ -2919,9 +2998,10 @@ meta_screen_resize (MetaScreen *screen,
|
||||
MetaWindow *window = tmp->data;
|
||||
|
||||
if (window->screen == screen)
|
||||
meta_window_update_monitor (window);
|
||||
meta_window_update_for_monitors_changed (window);
|
||||
}
|
||||
|
||||
g_free (old_monitor_infos);
|
||||
g_slist_free (windows);
|
||||
|
||||
g_signal_emit (screen, screen_signals[MONITORS_CHANGED], 0, index);
|
||||
@@ -3046,17 +3126,22 @@ static gboolean startup_sequence_timeout (void *data);
|
||||
static void
|
||||
update_startup_feedback (MetaScreen *screen)
|
||||
{
|
||||
MetaDevice *pointer;
|
||||
|
||||
pointer = meta_device_map_lookup (screen->display->device_map,
|
||||
META_CORE_POINTER_ID);
|
||||
|
||||
if (screen->startup_sequences != NULL)
|
||||
{
|
||||
meta_topic (META_DEBUG_STARTUP,
|
||||
"Setting busy cursor\n");
|
||||
meta_screen_set_cursor (screen, META_CURSOR_BUSY);
|
||||
meta_screen_set_cursor (screen, pointer, META_CURSOR_BUSY);
|
||||
}
|
||||
else
|
||||
{
|
||||
meta_topic (META_DEBUG_STARTUP,
|
||||
"Setting default cursor\n");
|
||||
meta_screen_set_cursor (screen, META_CURSOR_DEFAULT);
|
||||
meta_screen_set_cursor (screen, pointer, META_CURSOR_DEFAULT);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3241,7 +3326,7 @@ meta_screen_sn_event (SnMonitorEvent *event,
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_screen_get_startup_sequences:
|
||||
* meta_screen_get_startup_sequences: (skip)
|
||||
* @screen:
|
||||
*
|
||||
* Return value: (transfer none): Currently active #SnStartupSequence items
|
||||
@@ -3422,6 +3507,14 @@ meta_screen_get_xroot (MetaScreen *screen)
|
||||
return screen->xroot;
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_screen_get_size:
|
||||
* @screen: A #MetaScreen
|
||||
* @width: (out): The width of the screen
|
||||
* @height: (out): The height of the screen
|
||||
*
|
||||
* Retrieve the size of the screen.
|
||||
*/
|
||||
void
|
||||
meta_screen_get_size (MetaScreen *screen,
|
||||
int *width,
|
||||
|
||||
@@ -211,13 +211,23 @@ meta_stack_thaw (MetaStack *stack)
|
||||
stack_sync_to_server (stack);
|
||||
}
|
||||
|
||||
typedef struct _FocusedForeachData FocusedForeachData;
|
||||
|
||||
struct _FocusedForeachData
|
||||
{
|
||||
MetaWindow *window;
|
||||
gboolean focused_transient;
|
||||
};
|
||||
|
||||
static gboolean
|
||||
is_focused_foreach (MetaWindow *window,
|
||||
void *data)
|
||||
{
|
||||
if (window == window->display->expected_focus_window)
|
||||
FocusedForeachData *focused_data = data;
|
||||
|
||||
if (window == focused_data->window)
|
||||
{
|
||||
*((gboolean*) data) = TRUE;
|
||||
focused_data->focused_transient = TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
@@ -239,7 +249,9 @@ static MetaStackLayer
|
||||
get_standalone_layer (MetaWindow *window)
|
||||
{
|
||||
MetaStackLayer layer;
|
||||
gboolean focused_transient = FALSE;
|
||||
MetaFocusInfo *focus_info;
|
||||
MetaDevice *keyboard;
|
||||
FocusedForeachData focused_data = { NULL, FALSE };
|
||||
|
||||
switch (window->type)
|
||||
{
|
||||
@@ -263,20 +275,33 @@ get_standalone_layer (MetaWindow *window)
|
||||
case META_WINDOW_OVERRIDE_OTHER:
|
||||
layer = META_LAYER_OVERRIDE_REDIRECT;
|
||||
break;
|
||||
default:
|
||||
meta_window_foreach_transient (window,
|
||||
is_focused_foreach,
|
||||
&focused_transient);
|
||||
default:
|
||||
/* FIXME: How about other keyboards? should
|
||||
* we allow fullscreen for non-VCP/K anyway?
|
||||
*/
|
||||
keyboard = meta_device_map_lookup (window->display->device_map,
|
||||
META_CORE_KEYBOARD_ID);
|
||||
|
||||
focus_info = meta_display_get_focus_info (window->display, keyboard);
|
||||
|
||||
if (focus_info)
|
||||
{
|
||||
focused_data.window = focus_info->expected_focus_window;
|
||||
meta_window_foreach_transient (window,
|
||||
is_focused_foreach,
|
||||
&focused_data);
|
||||
}
|
||||
|
||||
if (window->wm_state_below)
|
||||
layer = META_LAYER_BOTTOM;
|
||||
else if (window->fullscreen &&
|
||||
(focused_transient ||
|
||||
window == window->display->expected_focus_window ||
|
||||
window->display->expected_focus_window == NULL ||
|
||||
(window->display->expected_focus_window != NULL &&
|
||||
(focused_data.focused_transient ||
|
||||
!focus_info ||
|
||||
window == focus_info->expected_focus_window ||
|
||||
focus_info->expected_focus_window == NULL ||
|
||||
(focus_info->expected_focus_window != NULL &&
|
||||
windows_on_different_monitor (window,
|
||||
window->display->expected_focus_window))))
|
||||
focus_info->expected_focus_window))))
|
||||
layer = META_LAYER_FULLSCREEN;
|
||||
else if (window->wm_state_above)
|
||||
layer = META_LAYER_TOP;
|
||||
|
||||
@@ -81,6 +81,7 @@ meta_print_backtrace (void)
|
||||
static gint verbose_topics = 0;
|
||||
static gboolean is_debugging = FALSE;
|
||||
static gboolean replace_current = FALSE;
|
||||
static gboolean use_core_devices = FALSE;
|
||||
static int no_prefix = 0;
|
||||
|
||||
#ifdef WITH_VERBOSE_MODE
|
||||
@@ -209,6 +210,18 @@ meta_set_debugging (gboolean setting)
|
||||
is_debugging = setting;
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_get_use_core_devices (void)
|
||||
{
|
||||
return use_core_devices;
|
||||
}
|
||||
|
||||
void
|
||||
meta_set_use_core_devices (gboolean setting)
|
||||
{
|
||||
use_core_devices = setting;
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_get_replace_current_wm (void)
|
||||
{
|
||||
@@ -254,6 +267,10 @@ utf8_fputs (const char *str,
|
||||
return retval;
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_free_gslist_and_elements: (skip)
|
||||
*
|
||||
*/
|
||||
void
|
||||
meta_free_gslist_and_elements (GSList *list_to_deep_free)
|
||||
{
|
||||
@@ -603,6 +620,10 @@ append_argument (GPtrArray *args,
|
||||
g_ptr_array_add (args, locale_arg);
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_show_dialog: (skip)
|
||||
*
|
||||
*/
|
||||
GPid
|
||||
meta_show_dialog (const char *type,
|
||||
const char *message,
|
||||
@@ -628,8 +649,7 @@ meta_show_dialog (const char *type,
|
||||
append_argument (args, "--class");
|
||||
append_argument (args, "mutter-dialog");
|
||||
append_argument (args, "--title");
|
||||
/* Translators: This is the title used on dialog boxes */
|
||||
append_argument (args, _("Mutter"));
|
||||
append_argument (args, "");
|
||||
append_argument (args, "--text");
|
||||
append_argument (args, message);
|
||||
|
||||
@@ -909,7 +929,7 @@ meta_later_remove (guint later_id)
|
||||
MetaLater *later = l->data;
|
||||
if (later->id == later_id)
|
||||
{
|
||||
laters = g_slist_remove_link (laters, l);
|
||||
laters = g_slist_delete_link (laters, l);
|
||||
/* If this was a "repaint func" later, we just let the
|
||||
* repaint func run and get removed
|
||||
*/
|
||||
|
||||
@@ -107,6 +107,10 @@ struct _MetaWindow
|
||||
Window xgroup_leader;
|
||||
Window xclient_leader;
|
||||
|
||||
/* window menu if any, and the pointer that popped it up */
|
||||
MetaWindowMenu *menu;
|
||||
MetaDevice *menu_device;
|
||||
|
||||
/* Initial workspace property */
|
||||
int initial_workspace;
|
||||
|
||||
@@ -129,6 +133,7 @@ struct _MetaWindow
|
||||
* this is the current mode. If not, it is the mode which will be
|
||||
* requested after the window grab is released */
|
||||
guint tile_mode : 2;
|
||||
int tile_monitor_number;
|
||||
|
||||
/* Whether we're shaded */
|
||||
guint shaded : 1;
|
||||
@@ -321,6 +326,15 @@ struct _MetaWindow
|
||||
/* if TRUE, window is attached to its parent */
|
||||
guint attached : 1;
|
||||
|
||||
/* if TRUE, window didn't yet get the FocusIn for window->focus_keyboard */
|
||||
guint expecting_focus_in : 1;
|
||||
|
||||
/* if TRUE, tiling mode is held regardless of newer touch updates */
|
||||
guint touch_hold_tiling_mode : 1;
|
||||
|
||||
/* Keyboard currently owning the window focus, or NULL */
|
||||
MetaDevice *focus_keyboard;
|
||||
|
||||
/* if non-NULL, the bounds of the window frame */
|
||||
cairo_region_t *frame_bounds;
|
||||
|
||||
@@ -398,6 +412,18 @@ struct _MetaWindow
|
||||
|
||||
/* Focused window that is (directly or indirectly) attached to this one */
|
||||
MetaWindow *attached_focus_window;
|
||||
|
||||
/* Current grab op for this window, or NULL */
|
||||
MetaGrabInfo *cur_grab;
|
||||
|
||||
/* Focus info if the window is focused, or NULL */
|
||||
MetaFocusInfo *cur_focus;
|
||||
|
||||
GHashTable *cur_touches;
|
||||
gdouble initial_touch_area_width;
|
||||
gdouble initial_touch_area_height;
|
||||
gdouble cur_touch_area_width;
|
||||
gdouble cur_touch_area_height;
|
||||
};
|
||||
|
||||
struct _MetaWindowClass
|
||||
@@ -425,6 +451,8 @@ struct _MetaWindowClass
|
||||
(w)->tile_mode == META_TILE_LEFT)
|
||||
#define META_WINDOW_TILED_RIGHT(w) (META_WINDOW_TILED_SIDE_BY_SIDE(w) && \
|
||||
(w)->tile_mode == META_TILE_RIGHT)
|
||||
#define META_WINDOW_TILED_MAXIMIZED(w)(META_WINDOW_MAXIMIZED(w) && \
|
||||
(w)->tile_mode == META_TILE_MAXIMIZED)
|
||||
#define META_WINDOW_ALLOWS_MOVE(w) ((w)->has_move_func && !(w)->fullscreen)
|
||||
#define META_WINDOW_ALLOWS_RESIZE_EXCEPT_HINTS(w) ((w)->has_resize_func && !META_WINDOW_MAXIMIZED (w) && !META_WINDOW_TILED_SIDE_BY_SIDE(w) && !(w)->fullscreen && !(w)->shaded)
|
||||
#define META_WINDOW_ALLOWS_RESIZE(w) (META_WINDOW_ALLOWS_RESIZE_EXCEPT_HINTS (w) && \
|
||||
@@ -567,6 +595,7 @@ void meta_window_set_current_workspace_hint (MetaWindow *window);
|
||||
unsigned long meta_window_get_net_wm_desktop (MetaWindow *window);
|
||||
|
||||
void meta_window_show_menu (MetaWindow *window,
|
||||
MetaDevice *device,
|
||||
int root_x,
|
||||
int root_y,
|
||||
int button,
|
||||
@@ -616,13 +645,16 @@ void meta_window_free_delete_dialog (MetaWindow *window);
|
||||
|
||||
|
||||
void meta_window_begin_grab_op (MetaWindow *window,
|
||||
MetaDevice *device,
|
||||
MetaGrabOp op,
|
||||
gboolean frame_action,
|
||||
guint32 timestamp);
|
||||
|
||||
void meta_window_update_keyboard_resize (MetaWindow *window,
|
||||
MetaDevice *device,
|
||||
gboolean update_cursor);
|
||||
void meta_window_update_keyboard_move (MetaWindow *window);
|
||||
void meta_window_update_keyboard_move (MetaWindow *window,
|
||||
MetaDevice *device);
|
||||
|
||||
void meta_window_update_layer (MetaWindow *window);
|
||||
|
||||
@@ -640,12 +672,24 @@ void meta_window_update_icon_now (MetaWindow *window);
|
||||
|
||||
void meta_window_update_role (MetaWindow *window);
|
||||
void meta_window_update_net_wm_type (MetaWindow *window);
|
||||
void meta_window_update_monitor (MetaWindow *window);
|
||||
void meta_window_update_for_monitors_changed (MetaWindow *window);
|
||||
void meta_window_update_on_all_workspaces (MetaWindow *window);
|
||||
|
||||
void meta_window_propagate_focus_appearance (MetaWindow *window,
|
||||
MetaDevice *keyboard,
|
||||
gboolean focused);
|
||||
|
||||
gboolean meta_window_should_attach_to_parent (MetaWindow *window);
|
||||
|
||||
void meta_window_set_client_pointer (MetaWindow *window,
|
||||
MetaDevice *pointer);
|
||||
MetaDevice * meta_window_get_client_pointer (MetaWindow *window);
|
||||
|
||||
MetaDevice * meta_window_guess_grab_pointer (MetaWindow *window);
|
||||
|
||||
gboolean meta_window_update_touch (MetaWindow *window,
|
||||
XEvent *event);
|
||||
void meta_window_end_touch (MetaWindow *window,
|
||||
XEvent *event);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1507,7 +1507,9 @@ reload_transient_for (MetaWindow *window,
|
||||
return;
|
||||
|
||||
if (meta_window_appears_focused (window) && window->xtransient_for != None)
|
||||
meta_window_propagate_focus_appearance (window, FALSE);
|
||||
meta_window_propagate_focus_appearance (window,
|
||||
window->focus_keyboard,
|
||||
FALSE);
|
||||
|
||||
old_transient_for = window->xtransient_for;
|
||||
window->xtransient_for = transient_for;
|
||||
@@ -1560,7 +1562,9 @@ reload_transient_for (MetaWindow *window,
|
||||
meta_window_queue (window, META_QUEUE_MOVE_RESIZE);
|
||||
|
||||
if (meta_window_appears_focused (window) && window->xtransient_for != None)
|
||||
meta_window_propagate_focus_appearance (window, TRUE);
|
||||
meta_window_propagate_focus_appearance (window,
|
||||
window->focus_keyboard,
|
||||
TRUE);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
1438
src/core/window.c
1438
src/core/window.c
File diff suppressed because it is too large
Load Diff
@@ -85,6 +85,7 @@ GList* meta_workspace_get_onmonitor_region (MetaWorkspace *workspace,
|
||||
int which_monitor);
|
||||
|
||||
void meta_workspace_focus_default_window (MetaWorkspace *workspace,
|
||||
MetaDevice *pointer,
|
||||
MetaWindow *not_this_one,
|
||||
guint32 timestamp);
|
||||
|
||||
|
||||
@@ -538,7 +538,9 @@ meta_workspace_activate_with_focus (MetaWorkspace *workspace,
|
||||
MetaWorkspaceLayout layout1, layout2;
|
||||
gint num_workspaces, current_space, new_space;
|
||||
MetaMotionDirection direction;
|
||||
|
||||
MetaGrabInfo *grab_info;
|
||||
GHashTableIter iter;
|
||||
|
||||
meta_verbose ("Activating workspace %d\n",
|
||||
meta_workspace_index (workspace));
|
||||
|
||||
@@ -547,7 +549,7 @@ meta_workspace_activate_with_focus (MetaWorkspace *workspace,
|
||||
|
||||
/* Free any cached pointers to the workspaces's edges from
|
||||
* a current resize or move operation */
|
||||
meta_display_cleanup_edges (workspace->screen->display);
|
||||
meta_display_cleanup_edges (workspace->screen->display, workspace->screen);
|
||||
|
||||
if (workspace->screen->active_workspace)
|
||||
workspace_switch_sound (workspace->screen->active_workspace, workspace);
|
||||
@@ -570,10 +572,22 @@ meta_workspace_activate_with_focus (MetaWorkspace *workspace,
|
||||
return;
|
||||
|
||||
move_window = NULL;
|
||||
if (workspace->screen->display->grab_op == META_GRAB_OP_MOVING ||
|
||||
workspace->screen->display->grab_op == META_GRAB_OP_KEYBOARD_MOVING)
|
||||
move_window = workspace->screen->display->grab_window;
|
||||
|
||||
|
||||
/* FIXME: not quite multidevice friendly, but the whole
|
||||
* "move window to another workspace" isn't.
|
||||
*/
|
||||
g_hash_table_iter_init (&iter, workspace->screen->display->current_grabs);
|
||||
|
||||
while (g_hash_table_iter_next (&iter, NULL, (gpointer *) &grab_info))
|
||||
{
|
||||
if (grab_info->grab_op == META_GRAB_OP_MOVING ||
|
||||
grab_info->grab_op == META_GRAB_OP_KEYBOARD_MOVING)
|
||||
{
|
||||
move_window = grab_info->grab_window;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (move_window != NULL)
|
||||
{
|
||||
if (move_window->on_all_workspaces)
|
||||
@@ -673,8 +687,13 @@ meta_workspace_activate_with_focus (MetaWorkspace *workspace,
|
||||
}
|
||||
else
|
||||
{
|
||||
MetaDevice *pointer;
|
||||
|
||||
pointer = meta_device_map_lookup (screen->display->device_map,
|
||||
META_CORE_POINTER_ID);
|
||||
meta_topic (META_DEBUG_FOCUS, "Focusing default window on new workspace\n");
|
||||
meta_workspace_focus_default_window (workspace, NULL, timestamp);
|
||||
meta_workspace_focus_default_window (workspace, pointer,
|
||||
NULL, timestamp);
|
||||
}
|
||||
|
||||
/* Emit switched signal from screen.c */
|
||||
@@ -774,7 +793,7 @@ meta_workspace_invalidate_work_area (MetaWorkspace *workspace)
|
||||
/* If we are in the middle of a resize or move operation, we
|
||||
* might have cached pointers to the workspace's edges */
|
||||
if (workspace == workspace->screen->active_workspace)
|
||||
meta_display_cleanup_edges (workspace->screen->display);
|
||||
meta_display_cleanup_edges (workspace->screen->display, workspace->screen);
|
||||
|
||||
g_free (workspace->work_area_monitor);
|
||||
workspace->work_area_monitor = NULL;
|
||||
@@ -1191,6 +1210,7 @@ meta_workspace_get_name (MetaWorkspace *workspace)
|
||||
|
||||
void
|
||||
meta_workspace_focus_default_window (MetaWorkspace *workspace,
|
||||
MetaDevice *pointer,
|
||||
MetaWindow *not_this_one,
|
||||
guint32 timestamp)
|
||||
{
|
||||
@@ -1207,7 +1227,8 @@ meta_workspace_focus_default_window (MetaWorkspace *workspace,
|
||||
else
|
||||
{
|
||||
MetaWindow * window;
|
||||
window = meta_screen_get_mouse_window (workspace->screen, not_this_one);
|
||||
window = meta_screen_get_mouse_window (workspace->screen,
|
||||
pointer, not_this_one);
|
||||
if (window &&
|
||||
window->type != META_WINDOW_DOCK &&
|
||||
window->type != META_WINDOW_DESKTOP)
|
||||
|
||||
46
src/meta/device-map.h
Normal file
46
src/meta/device-map.h
Normal file
@@ -0,0 +1,46 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/*
|
||||
* 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_H
|
||||
#define META_DEVICE_MAP_H
|
||||
|
||||
#include <glib-object.h>
|
||||
#include <meta/types.h>
|
||||
#include <meta/device.h>
|
||||
|
||||
#define META_TYPE_DEVICE_MAP (meta_device_map_get_type ())
|
||||
#define META_DEVICE_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_DEVICE_MAP, MetaDeviceMap))
|
||||
#define META_DEVICE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_DEVICE_MAP, MetaDeviceMapClass))
|
||||
#define META_IS_DEVICE_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_DEVICE_MAP))
|
||||
#define META_IS_DEVICE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_DEVICE_MAP))
|
||||
#define META_DEVICE_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_DEVICE_MAP, MetaDeviceMapClass))
|
||||
|
||||
typedef struct _MetaDeviceMapClass MetaDeviceMapClass;
|
||||
|
||||
GType meta_device_map_get_type (void) G_GNUC_CONST;
|
||||
|
||||
MetaDevice * meta_device_map_lookup (MetaDeviceMap *device_map,
|
||||
gint device_id);
|
||||
|
||||
MetaDisplay * meta_device_map_get_display (MetaDeviceMap *device_map);
|
||||
GList * meta_device_map_list_devices (MetaDeviceMap *device_map);
|
||||
|
||||
#endif
|
||||
44
src/meta/device.h
Normal file
44
src/meta/device.h
Normal file
@@ -0,0 +1,44 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/*
|
||||
* 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_H
|
||||
#define META_DEVICE_H
|
||||
|
||||
#include <glib-object.h>
|
||||
#include <meta/types.h>
|
||||
|
||||
#define META_TYPE_DEVICE (meta_device_get_type ())
|
||||
#define META_DEVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_DEVICE, MetaDevice))
|
||||
#define META_DEVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_DEVICE, MetaDeviceClass))
|
||||
#define META_IS_DEVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_DEVICE))
|
||||
#define META_IS_DEVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_DEVICE))
|
||||
#define META_DEVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_DEVICE, MetaDeviceClass))
|
||||
|
||||
typedef struct _MetaDeviceClass MetaDeviceClass;
|
||||
|
||||
GType meta_device_get_type (void) G_GNUC_CONST;
|
||||
|
||||
int meta_device_get_id (MetaDevice *device);
|
||||
MetaDisplay *meta_device_get_display (MetaDevice *device);
|
||||
|
||||
MetaDevice * meta_device_get_paired_device (MetaDevice *device);
|
||||
|
||||
#endif
|
||||
@@ -28,6 +28,7 @@
|
||||
#include <meta/types.h>
|
||||
#include <meta/prefs.h>
|
||||
#include <meta/common.h>
|
||||
#include <meta/device-map.h>
|
||||
|
||||
typedef enum
|
||||
{
|
||||
@@ -74,6 +75,9 @@ gboolean meta_display_has_shape (MetaDisplay *display);
|
||||
|
||||
MetaScreen *meta_display_screen_for_root (MetaDisplay *display,
|
||||
Window xroot);
|
||||
|
||||
MetaWindow *meta_display_get_keyboard_focus_window (MetaDisplay *display,
|
||||
MetaDevice *keyboard);
|
||||
MetaWindow *meta_display_get_focus_window (MetaDisplay *display);
|
||||
|
||||
gboolean meta_display_xwindow_is_a_no_focus_window (MetaDisplay *display,
|
||||
@@ -108,9 +112,30 @@ MetaWindow* meta_display_get_tab_current (MetaDisplay *display,
|
||||
MetaScreen *screen,
|
||||
MetaWorkspace *workspace);
|
||||
|
||||
GList* meta_display_get_device_tab_list (MetaDisplay *display,
|
||||
MetaTabList type,
|
||||
MetaScreen *screen,
|
||||
MetaWorkspace *workspace,
|
||||
MetaDevice *device);
|
||||
|
||||
MetaWindow* meta_display_get_device_tab_next (MetaDisplay *display,
|
||||
MetaTabList type,
|
||||
MetaScreen *screen,
|
||||
MetaWorkspace *workspace,
|
||||
MetaWindow *window,
|
||||
MetaDevice *device,
|
||||
gboolean backward);
|
||||
|
||||
MetaWindow* meta_display_get_device_tab_current (MetaDisplay *display,
|
||||
MetaTabList type,
|
||||
MetaScreen *screen,
|
||||
MetaWorkspace *workspace,
|
||||
MetaDevice *device);
|
||||
|
||||
gboolean meta_display_begin_grab_op (MetaDisplay *display,
|
||||
MetaScreen *screen,
|
||||
MetaWindow *window,
|
||||
MetaDevice *device,
|
||||
MetaGrabOp op,
|
||||
gboolean pointer_already_grabbed,
|
||||
gboolean frame_action,
|
||||
@@ -120,14 +145,28 @@ gboolean meta_display_begin_grab_op (MetaDisplay *display,
|
||||
int root_x,
|
||||
int root_y);
|
||||
void meta_display_end_grab_op (MetaDisplay *display,
|
||||
MetaDevice *device,
|
||||
guint32 timestamp);
|
||||
|
||||
MetaGrabOp meta_display_get_grab_op (MetaDisplay *display);
|
||||
|
||||
MetaGrabOp meta_display_get_device_grab_op (MetaDisplay *display,
|
||||
MetaDevice *device);
|
||||
|
||||
MetaKeyBindingAction meta_display_get_keybinding_action (MetaDisplay *display,
|
||||
unsigned int keycode,
|
||||
unsigned long mask);
|
||||
|
||||
void meta_display_set_keyboard_focus (MetaDisplay *display,
|
||||
MetaWindow *window,
|
||||
MetaDevice *keyboard,
|
||||
gboolean focus_frame,
|
||||
guint32 timestamp);
|
||||
void meta_display_unset_keyboard_focus (MetaDisplay *display,
|
||||
MetaScreen *screen,
|
||||
MetaDevice *keyboard,
|
||||
guint32 timestamp);
|
||||
|
||||
/* meta_display_set_input_focus_window is like XSetInputFocus, except
|
||||
* that (a) it can't detect timestamps later than the current time,
|
||||
* since Mutter isn't part of the XServer, and thus gives erroneous
|
||||
@@ -155,4 +194,13 @@ GSList *meta_display_sort_windows_by_stacking (MetaDisplay *display,
|
||||
|
||||
Window meta_display_get_leader_window (MetaDisplay *display);
|
||||
|
||||
void meta_display_add_ignored_crossing_serial (MetaDisplay *display,
|
||||
unsigned long serial);
|
||||
|
||||
void meta_display_unmanage_screen (MetaDisplay *display,
|
||||
MetaScreen *screen,
|
||||
guint32 timestamp);
|
||||
|
||||
MetaDeviceMap * meta_display_get_device_map (MetaDisplay *display);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -67,6 +67,10 @@ void meta_keybindings_switch_window (MetaDisplay *display,
|
||||
MetaKeyBinding *binding);
|
||||
|
||||
|
||||
void meta_screen_ungrab_all_keys (MetaScreen *screen, guint32 timestamp);
|
||||
gboolean meta_screen_grab_all_keys (MetaScreen *screen, guint32 timestamp);
|
||||
void meta_screen_ungrab_all_keys (MetaScreen *screen,
|
||||
MetaDevice *device,
|
||||
guint32 timestamp);
|
||||
gboolean meta_screen_grab_all_keys (MetaScreen *screen,
|
||||
MetaDevice *device,
|
||||
guint32 timestamp);
|
||||
#endif
|
||||
|
||||
@@ -32,6 +32,8 @@ typedef struct _MetaFrame MetaFrame;
|
||||
typedef struct _MetaScreen MetaScreen;
|
||||
typedef struct _MetaWindow MetaWindow;
|
||||
typedef struct _MetaWorkspace MetaWorkspace;
|
||||
typedef struct _MetaDevice MetaDevice;
|
||||
typedef struct _MetaDeviceMap MetaDeviceMap;
|
||||
/**
|
||||
* MetaGroup: (skip)
|
||||
*
|
||||
|
||||
@@ -38,6 +38,9 @@ gboolean meta_is_syncing (void);
|
||||
void meta_set_syncing (gboolean setting);
|
||||
void meta_set_replace_current_wm (gboolean setting);
|
||||
|
||||
gboolean meta_get_use_core_devices (void);
|
||||
void meta_set_use_core_devices (gboolean setting);
|
||||
|
||||
void meta_debug_spew_real (const char *format,
|
||||
...) G_GNUC_PRINTF (1, 2);
|
||||
void meta_verbose_real (const char *format,
|
||||
|
||||
@@ -148,8 +148,15 @@ grab_area_at_mouse (GtkWidget *invisible,
|
||||
static void
|
||||
shutdown_grab (void)
|
||||
{
|
||||
gdk_keyboard_ungrab (gtk_get_current_event_time ());
|
||||
gdk_pointer_ungrab (gtk_get_current_event_time ());
|
||||
GdkDeviceManager *manager;
|
||||
GdkDevice *device;
|
||||
|
||||
manager = gdk_display_get_device_manager (gdk_display_get_default ());
|
||||
device = gdk_device_manager_get_client_pointer (manager);
|
||||
|
||||
gdk_device_ungrab (device, gtk_get_current_event_time ());
|
||||
gdk_device_ungrab (gdk_device_get_associated_device (device),
|
||||
gtk_get_current_event_time ());
|
||||
gtk_grab_remove (grab_widget);
|
||||
}
|
||||
|
||||
@@ -197,6 +204,8 @@ key_press (GtkWidget *invisible,
|
||||
g_signal_handlers_disconnect_by_func (invisible, mouse_press, NULL);
|
||||
g_signal_handlers_disconnect_by_func (invisible, key_press, NULL);
|
||||
|
||||
gtk_main_quit ();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -227,6 +236,8 @@ static void
|
||||
begin_area_grab (void)
|
||||
{
|
||||
GdkWindow *window;
|
||||
GdkDeviceManager *manager;
|
||||
GdkDevice *device;
|
||||
|
||||
if (grab_widget == NULL)
|
||||
{
|
||||
@@ -239,24 +250,31 @@ begin_area_grab (void)
|
||||
}
|
||||
|
||||
window = gtk_widget_get_window (grab_widget);
|
||||
manager = gdk_display_get_device_manager (gdk_display_get_default ());
|
||||
device = gdk_device_manager_get_client_pointer (manager);
|
||||
|
||||
if (gdk_keyboard_grab (window,
|
||||
FALSE,
|
||||
gtk_get_current_event_time ()) != GDK_GRAB_SUCCESS)
|
||||
if (gdk_device_grab (device,
|
||||
window,
|
||||
GDK_OWNERSHIP_NONE,
|
||||
FALSE,
|
||||
GDK_BUTTON_RELEASE_MASK | GDK_BUTTON_PRESS_MASK | GDK_POINTER_MOTION_MASK,
|
||||
NULL,
|
||||
gtk_get_current_event_time ()) != GDK_GRAB_SUCCESS)
|
||||
{
|
||||
g_warning ("Failed to grab keyboard to do eyedropper");
|
||||
g_warning ("Failed to grab pointer to do eyedropper");
|
||||
return;
|
||||
}
|
||||
|
||||
if (gdk_pointer_grab (window,
|
||||
FALSE,
|
||||
GDK_BUTTON_RELEASE_MASK | GDK_BUTTON_PRESS_MASK | GDK_POINTER_MOTION_MASK,
|
||||
NULL,
|
||||
NULL,
|
||||
gtk_get_current_event_time ()) != GDK_GRAB_SUCCESS)
|
||||
|
||||
if (gdk_device_grab (gdk_device_get_associated_device (device),
|
||||
window,
|
||||
GDK_OWNERSHIP_NONE,
|
||||
FALSE,
|
||||
GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK,
|
||||
NULL,
|
||||
gtk_get_current_event_time ()) != GDK_GRAB_SUCCESS)
|
||||
{
|
||||
gdk_keyboard_ungrab (GDK_CURRENT_TIME);
|
||||
g_warning ("Failed to grab pointer to do eyedropper");
|
||||
gdk_device_ungrab (device, gtk_get_current_event_time ());
|
||||
g_warning ("Failed to grab keyboard to do eyedropper");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -353,7 +353,7 @@ utility_cb (GtkAction *action,
|
||||
|
||||
gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (callback_data));
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 0);
|
||||
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (window), vbox);
|
||||
|
||||
@@ -386,7 +386,7 @@ toolbar_cb (GtkAction *action,
|
||||
|
||||
gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (callback_data));
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 0);
|
||||
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (window), vbox);
|
||||
|
||||
@@ -410,7 +410,7 @@ menu_cb (GtkAction *action,
|
||||
|
||||
gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (callback_data));
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 0);
|
||||
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (window), vbox);
|
||||
|
||||
@@ -431,7 +431,7 @@ override_redirect_cb (GtkAction *action,
|
||||
window = gtk_window_new (GTK_WINDOW_POPUP);
|
||||
gtk_window_set_title (GTK_WINDOW (window), "Override Redirect");
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 0);
|
||||
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (window), vbox);
|
||||
|
||||
@@ -455,7 +455,7 @@ border_only_cb (GtkAction *action,
|
||||
|
||||
gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (callback_data));
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 0);
|
||||
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (window), vbox);
|
||||
|
||||
@@ -477,7 +477,7 @@ changing_icon_cb (GtkAction *action,
|
||||
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||
gtk_window_set_title (GTK_WINDOW (window), "Changing Icon");
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 0);
|
||||
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (window), vbox);
|
||||
|
||||
@@ -545,7 +545,7 @@ splashscreen_cb (GtkAction *action,
|
||||
set_gtk_window_type (GTK_WINDOW (window), "_NET_WM_WINDOW_TYPE_SPLASHSCREEN");
|
||||
gtk_window_set_title (GTK_WINDOW (window), "Splashscreen");
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 0);
|
||||
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
|
||||
|
||||
image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), image, FALSE, FALSE, 0);
|
||||
@@ -581,11 +581,11 @@ make_dock (int type)
|
||||
{
|
||||
case DOCK_LEFT:
|
||||
case DOCK_RIGHT:
|
||||
box = gtk_vbox_new (FALSE, 0);
|
||||
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
|
||||
break;
|
||||
case DOCK_TOP:
|
||||
case DOCK_BOTTOM:
|
||||
box = gtk_hbox_new (FALSE, 0);
|
||||
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
|
||||
break;
|
||||
case DOCK_ALL:
|
||||
break;
|
||||
@@ -909,8 +909,7 @@ static GtkWidget *
|
||||
do_appwindow (void)
|
||||
{
|
||||
GtkWidget *window;
|
||||
GtkWidget *table;
|
||||
GtkWidget *handlebox;
|
||||
GtkWidget *grid;
|
||||
GtkWidget *statusbar;
|
||||
GtkWidget *contents;
|
||||
GtkWidget *sw;
|
||||
@@ -931,9 +930,12 @@ do_appwindow (void)
|
||||
g_signal_connect (G_OBJECT (window), "destroy",
|
||||
G_CALLBACK (destroy_cb), NULL);
|
||||
|
||||
table = gtk_table_new (1, 4, FALSE);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (window), table);
|
||||
grid = gtk_grid_new ();
|
||||
|
||||
gtk_widget_set_vexpand (grid, TRUE);
|
||||
gtk_widget_set_hexpand (grid, TRUE);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (window), grid);
|
||||
|
||||
/* Create the menubar
|
||||
*/
|
||||
@@ -958,12 +960,12 @@ do_appwindow (void)
|
||||
|
||||
gtk_ui_manager_add_ui_from_string (ui_manager, menu_item_string, -1, NULL);
|
||||
|
||||
gtk_table_attach (GTK_TABLE (table),
|
||||
gtk_ui_manager_get_widget (ui_manager, "/ui/menubar"),
|
||||
/* X direction */ /* Y direction */
|
||||
0, 1, 0, 1,
|
||||
GTK_EXPAND | GTK_FILL, 0,
|
||||
0, 0);
|
||||
gtk_grid_attach (GTK_GRID (grid),
|
||||
gtk_ui_manager_get_widget (ui_manager, "/ui/menubar"),
|
||||
0, 0, 1, 1);
|
||||
|
||||
gtk_widget_set_hexpand (gtk_ui_manager_get_widget (ui_manager, "/ui/menubar"),
|
||||
TRUE);
|
||||
|
||||
/* Create document
|
||||
*/
|
||||
@@ -976,13 +978,13 @@ do_appwindow (void)
|
||||
|
||||
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),
|
||||
GTK_SHADOW_IN);
|
||||
|
||||
gtk_table_attach (GTK_TABLE (table),
|
||||
sw,
|
||||
/* X direction */ /* Y direction */
|
||||
0, 1, 2, 3,
|
||||
GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL,
|
||||
0, 0);
|
||||
|
||||
gtk_grid_attach (GTK_GRID (grid),
|
||||
sw,
|
||||
0, 2, 1, 1);
|
||||
|
||||
gtk_widget_set_hexpand (sw, TRUE);
|
||||
gtk_widget_set_vexpand (sw, TRUE);
|
||||
|
||||
gtk_window_set_default_size (GTK_WINDOW (window),
|
||||
200, 200);
|
||||
@@ -996,27 +998,22 @@ do_appwindow (void)
|
||||
/* Create the toolbar
|
||||
*/
|
||||
|
||||
handlebox = gtk_handle_box_new ();
|
||||
gtk_grid_attach (GTK_GRID (grid),
|
||||
gtk_ui_manager_get_widget (ui_manager, "/ui/toolbar"),
|
||||
0, 1, 1, 1);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (handlebox),
|
||||
gtk_ui_manager_get_widget (ui_manager, "/ui/toolbar"));
|
||||
|
||||
gtk_table_attach (GTK_TABLE (table),
|
||||
handlebox,
|
||||
/* X direction */ /* Y direction */
|
||||
0, 1, 1, 2,
|
||||
GTK_EXPAND | GTK_FILL, 0,
|
||||
0, 0);
|
||||
gtk_widget_set_hexpand (gtk_ui_manager_get_widget (ui_manager, "/ui/toolbar"),
|
||||
TRUE);
|
||||
|
||||
/* Create statusbar */
|
||||
|
||||
statusbar = gtk_statusbar_new ();
|
||||
gtk_table_attach (GTK_TABLE (table),
|
||||
statusbar,
|
||||
/* X direction */ /* Y direction */
|
||||
0, 1, 3, 4,
|
||||
GTK_EXPAND | GTK_FILL, 0,
|
||||
0, 0);
|
||||
gtk_grid_attach (GTK_GRID (grid),
|
||||
statusbar,
|
||||
0, 3, 1, 1);
|
||||
|
||||
gtk_widget_set_hexpand (statusbar,
|
||||
TRUE);
|
||||
|
||||
/* Show text widget info in the statusbar */
|
||||
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (contents));
|
||||
|
||||
201
src/ui/frames.c
201
src/ui/frames.c
@@ -52,6 +52,7 @@ static void meta_frames_unmap (GtkWidget *widget);
|
||||
|
||||
static void meta_frames_update_prelit_control (MetaFrames *frames,
|
||||
MetaUIFrame *frame,
|
||||
GdkDevice *device,
|
||||
MetaFrameControl control);
|
||||
static gboolean meta_frames_button_press_event (GtkWidget *widget,
|
||||
GdkEventButton *event);
|
||||
@@ -734,10 +735,18 @@ meta_frames_unmanage_window (MetaFrames *frames,
|
||||
*/
|
||||
invalidate_all_caches (frames);
|
||||
|
||||
#if 0
|
||||
/* This function is only called when destroying the frame
|
||||
* in core/frame.c, ideally this should be done for every
|
||||
* device with a cursor on the frame, but in practical
|
||||
* effects it doesn't matter.
|
||||
*/
|
||||
|
||||
/* restore the cursor */
|
||||
meta_core_set_screen_cursor (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
|
||||
frame->xwindow,
|
||||
META_CURSOR_DEFAULT);
|
||||
#endif
|
||||
|
||||
gdk_window_set_user_data (frame->window, NULL);
|
||||
|
||||
@@ -1003,7 +1012,7 @@ get_visible_region (MetaFrames *frames,
|
||||
for (i=0; i<corner; i++)
|
||||
{
|
||||
const int width = floor(0.5 + radius - sqrt(radius*radius - (radius-(i+0.5))*(radius-(i+0.5))));
|
||||
rect.x = frame_rect.x + frame_rect.width + width;
|
||||
rect.x = frame_rect.x + frame_rect.width - width;
|
||||
rect.y = frame_rect.y + frame_rect.height - i - 1;
|
||||
rect.width = width;
|
||||
rect.height = 1;
|
||||
@@ -1293,10 +1302,12 @@ meta_frame_titlebar_event (MetaUIFrame *frame,
|
||||
int action)
|
||||
{
|
||||
MetaFrameFlags flags;
|
||||
GdkDevice *pointer;
|
||||
Display *display;
|
||||
|
||||
display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
|
||||
|
||||
pointer = gdk_event_get_device ((GdkEvent *) event);
|
||||
|
||||
switch (action)
|
||||
{
|
||||
case META_ACTION_TITLEBAR_TOGGLE_SHADE:
|
||||
@@ -1378,12 +1389,14 @@ meta_frame_titlebar_event (MetaUIFrame *frame,
|
||||
case META_ACTION_TITLEBAR_LOWER:
|
||||
meta_core_user_lower_and_unfocus (display,
|
||||
frame->xwindow,
|
||||
gdk_x11_device_get_id (pointer),
|
||||
event->time);
|
||||
break;
|
||||
|
||||
case META_ACTION_TITLEBAR_MENU:
|
||||
meta_core_show_window_menu (display,
|
||||
frame->xwindow,
|
||||
gdk_x11_device_get_id (pointer),
|
||||
event->x_root,
|
||||
event->y_root,
|
||||
event->button,
|
||||
@@ -1432,7 +1445,9 @@ meta_frames_button_press_event (GtkWidget *widget,
|
||||
MetaFrames *frames;
|
||||
MetaFrameControl control;
|
||||
Display *display;
|
||||
|
||||
GdkDevice *device;
|
||||
int device_id;
|
||||
|
||||
frames = META_FRAMES (widget);
|
||||
display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
|
||||
|
||||
@@ -1465,7 +1480,10 @@ meta_frames_button_press_event (GtkWidget *widget,
|
||||
/* don't do the rest of this if on client area */
|
||||
if (control == META_FRAME_CONTROL_CLIENT_AREA)
|
||||
return FALSE; /* not on the frame, just passed through from client */
|
||||
|
||||
|
||||
device = gdk_event_get_device ((GdkEvent *) event);
|
||||
device_id = gdk_x11_device_get_id (device);
|
||||
|
||||
/* We want to shade even if we have a GrabOp, since we'll have a move grab
|
||||
* if we double click the titlebar.
|
||||
*/
|
||||
@@ -1473,13 +1491,13 @@ meta_frames_button_press_event (GtkWidget *widget,
|
||||
event->button == 1 &&
|
||||
event->type == GDK_2BUTTON_PRESS)
|
||||
{
|
||||
meta_core_end_grab_op (display, event->time);
|
||||
meta_core_end_grab_op (display, device_id, event->time);
|
||||
return meta_frame_double_click_event (frame, event);
|
||||
}
|
||||
|
||||
if (meta_core_get_grab_op (display) !=
|
||||
if (meta_core_frame_has_grab (display, frame->xwindow, NULL, NULL) !=
|
||||
META_GRAB_OP_NONE)
|
||||
return FALSE; /* already up to something */
|
||||
return FALSE; /* already up to something */
|
||||
|
||||
if (event->button == 1 &&
|
||||
(control == META_FRAME_CONTROL_MAXIMIZE ||
|
||||
@@ -1538,6 +1556,7 @@ meta_frames_button_press_event (GtkWidget *widget,
|
||||
|
||||
meta_core_begin_grab_op (display,
|
||||
frame->xwindow,
|
||||
device_id,
|
||||
op,
|
||||
TRUE,
|
||||
TRUE,
|
||||
@@ -1570,6 +1589,7 @@ meta_frames_button_press_event (GtkWidget *widget,
|
||||
|
||||
meta_core_show_window_menu (display,
|
||||
frame->xwindow,
|
||||
device_id,
|
||||
rect->x + dx,
|
||||
rect->y + rect->height + dy,
|
||||
event->button,
|
||||
@@ -1623,6 +1643,7 @@ meta_frames_button_press_event (GtkWidget *widget,
|
||||
|
||||
meta_core_begin_grab_op (display,
|
||||
frame->xwindow,
|
||||
device_id,
|
||||
op,
|
||||
TRUE,
|
||||
TRUE,
|
||||
@@ -1645,6 +1666,7 @@ meta_frames_button_press_event (GtkWidget *widget,
|
||||
{
|
||||
meta_core_begin_grab_op (display,
|
||||
frame->xwindow,
|
||||
device_id,
|
||||
META_GRAB_OP_MOVING,
|
||||
TRUE,
|
||||
TRUE,
|
||||
@@ -1668,28 +1690,28 @@ meta_frames_button_press_event (GtkWidget *widget,
|
||||
}
|
||||
|
||||
void
|
||||
meta_frames_notify_menu_hide (MetaFrames *frames)
|
||||
meta_frames_notify_menu_hide (MetaFrames *frames,
|
||||
Window client_xwindow)
|
||||
{
|
||||
Display *display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
|
||||
if (meta_core_get_grab_op (display) ==
|
||||
Window frame_xwindow;
|
||||
int device_id;
|
||||
|
||||
frame_xwindow = meta_core_get_frame (display, client_xwindow);
|
||||
|
||||
if (frame_xwindow != None &&
|
||||
meta_core_frame_has_grab (display, frame_xwindow, &device_id, NULL) ==
|
||||
META_GRAB_OP_CLICKING_MENU)
|
||||
{
|
||||
Window grab_frame;
|
||||
MetaUIFrame *frame;
|
||||
|
||||
grab_frame = meta_core_get_grab_frame (display);
|
||||
frame = meta_frames_lookup_window (frames, frame_xwindow);
|
||||
|
||||
if (grab_frame != None)
|
||||
if (frame)
|
||||
{
|
||||
MetaUIFrame *frame;
|
||||
|
||||
frame = meta_frames_lookup_window (frames, grab_frame);
|
||||
|
||||
if (frame)
|
||||
{
|
||||
redraw_control (frames, frame,
|
||||
META_FRAME_CONTROL_MENU);
|
||||
meta_core_end_grab_op (display, CurrentTime);
|
||||
}
|
||||
redraw_control (frames, frame,
|
||||
META_FRAME_CONTROL_MENU);
|
||||
meta_core_end_grab_op (display, device_id, CurrentTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1702,7 +1724,10 @@ meta_frames_button_release_event (GtkWidget *widget,
|
||||
MetaFrames *frames;
|
||||
MetaGrabOp op;
|
||||
Display *display;
|
||||
|
||||
int grab_button;
|
||||
GdkDevice *device;
|
||||
int device_id, grab_device_id;
|
||||
|
||||
frames = META_FRAMES (widget);
|
||||
display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
|
||||
|
||||
@@ -1712,17 +1737,21 @@ meta_frames_button_release_event (GtkWidget *widget,
|
||||
|
||||
clear_tip (frames);
|
||||
|
||||
op = meta_core_get_grab_op (display);
|
||||
op = meta_core_frame_has_grab (display, frame->xwindow,
|
||||
&grab_device_id, &grab_button);
|
||||
|
||||
if (op == META_GRAB_OP_NONE)
|
||||
device = gdk_event_get_device ((GdkEvent *) event);
|
||||
device_id = gdk_x11_device_get_id (device);
|
||||
|
||||
if (op == META_GRAB_OP_NONE ||
|
||||
grab_device_id != device_id)
|
||||
return FALSE;
|
||||
|
||||
/* We only handle the releases we handled the presses for (things
|
||||
* involving frame controls). Window ops that don't require a
|
||||
* frame are handled in the Xlib part of the code, display.c/window.c
|
||||
*/
|
||||
if (frame->xwindow == meta_core_get_grab_frame (display) &&
|
||||
((int) event->button) == meta_core_get_grab_button (display))
|
||||
if (((int) event->button) == grab_button)
|
||||
{
|
||||
MetaFrameControl control;
|
||||
|
||||
@@ -1733,8 +1762,8 @@ meta_frames_button_release_event (GtkWidget *widget,
|
||||
case META_GRAB_OP_CLICKING_MINIMIZE:
|
||||
if (control == META_FRAME_CONTROL_MINIMIZE)
|
||||
meta_core_minimize (display, frame->xwindow);
|
||||
|
||||
meta_core_end_grab_op (display, event->time);
|
||||
|
||||
meta_core_end_grab_op (display, device_id, event->time);
|
||||
break;
|
||||
|
||||
case META_GRAB_OP_CLICKING_MAXIMIZE:
|
||||
@@ -1746,67 +1775,67 @@ meta_frames_button_release_event (GtkWidget *widget,
|
||||
event->time);
|
||||
meta_core_maximize (display, frame->xwindow);
|
||||
}
|
||||
meta_core_end_grab_op (display, event->time);
|
||||
meta_core_end_grab_op (display, device_id, event->time);
|
||||
break;
|
||||
|
||||
case META_GRAB_OP_CLICKING_UNMAXIMIZE:
|
||||
if (control == META_FRAME_CONTROL_UNMAXIMIZE)
|
||||
meta_core_unmaximize (display, frame->xwindow);
|
||||
|
||||
meta_core_end_grab_op (display, event->time);
|
||||
|
||||
meta_core_end_grab_op (display, device_id, event->time);
|
||||
break;
|
||||
|
||||
case META_GRAB_OP_CLICKING_DELETE:
|
||||
if (control == META_FRAME_CONTROL_DELETE)
|
||||
meta_core_delete (display, frame->xwindow, event->time);
|
||||
|
||||
meta_core_end_grab_op (display, event->time);
|
||||
|
||||
meta_core_end_grab_op (display, device_id, event->time);
|
||||
break;
|
||||
|
||||
case META_GRAB_OP_CLICKING_MENU:
|
||||
meta_core_end_grab_op (display, event->time);
|
||||
meta_core_end_grab_op (display, device_id, event->time);
|
||||
break;
|
||||
|
||||
case META_GRAB_OP_CLICKING_SHADE:
|
||||
if (control == META_FRAME_CONTROL_SHADE)
|
||||
meta_core_shade (display, frame->xwindow, event->time);
|
||||
|
||||
meta_core_end_grab_op (display, event->time);
|
||||
|
||||
meta_core_end_grab_op (display, device_id, event->time);
|
||||
break;
|
||||
|
||||
case META_GRAB_OP_CLICKING_UNSHADE:
|
||||
if (control == META_FRAME_CONTROL_UNSHADE)
|
||||
meta_core_unshade (display, frame->xwindow, event->time);
|
||||
|
||||
meta_core_end_grab_op (display, event->time);
|
||||
meta_core_end_grab_op (display, device_id, event->time);
|
||||
break;
|
||||
|
||||
case META_GRAB_OP_CLICKING_ABOVE:
|
||||
if (control == META_FRAME_CONTROL_ABOVE)
|
||||
meta_core_make_above (display, frame->xwindow);
|
||||
|
||||
meta_core_end_grab_op (display, event->time);
|
||||
|
||||
meta_core_end_grab_op (display, device_id, event->time);
|
||||
break;
|
||||
|
||||
case META_GRAB_OP_CLICKING_UNABOVE:
|
||||
if (control == META_FRAME_CONTROL_UNABOVE)
|
||||
meta_core_unmake_above (display, frame->xwindow);
|
||||
|
||||
meta_core_end_grab_op (display, event->time);
|
||||
meta_core_end_grab_op (display, device_id, event->time);
|
||||
break;
|
||||
|
||||
case META_GRAB_OP_CLICKING_STICK:
|
||||
if (control == META_FRAME_CONTROL_STICK)
|
||||
meta_core_stick (display, frame->xwindow);
|
||||
|
||||
meta_core_end_grab_op (display, event->time);
|
||||
meta_core_end_grab_op (display, device_id, event->time);
|
||||
break;
|
||||
|
||||
case META_GRAB_OP_CLICKING_UNSTICK:
|
||||
if (control == META_FRAME_CONTROL_UNSTICK)
|
||||
meta_core_unstick (display, frame->xwindow);
|
||||
|
||||
meta_core_end_grab_op (display, event->time);
|
||||
meta_core_end_grab_op (display, device_id, event->time);
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -1818,7 +1847,9 @@ meta_frames_button_release_event (GtkWidget *widget,
|
||||
* prelit so to let the user know that it can now be pressed.
|
||||
* :)
|
||||
*/
|
||||
meta_frames_update_prelit_control (frames, frame, control);
|
||||
meta_frames_update_prelit_control (frames, frame,
|
||||
gdk_event_get_device ((GdkEvent *) event),
|
||||
control);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
@@ -1827,12 +1858,12 @@ meta_frames_button_release_event (GtkWidget *widget,
|
||||
static void
|
||||
meta_frames_update_prelit_control (MetaFrames *frames,
|
||||
MetaUIFrame *frame,
|
||||
GdkDevice *device,
|
||||
MetaFrameControl control)
|
||||
{
|
||||
MetaFrameControl old_control;
|
||||
MetaCursor cursor;
|
||||
|
||||
|
||||
meta_verbose ("Updating prelit control from %u to %u\n",
|
||||
frame->prelit_control, control);
|
||||
|
||||
@@ -1897,6 +1928,7 @@ meta_frames_update_prelit_control (MetaFrames *frames,
|
||||
/* set/unset the prelight cursor */
|
||||
meta_core_set_screen_cursor (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
|
||||
frame->xwindow,
|
||||
gdk_x11_device_get_id (device),
|
||||
cursor);
|
||||
|
||||
switch (control)
|
||||
@@ -1942,7 +1974,7 @@ meta_frames_motion_notify_event (GtkWidget *widget,
|
||||
Display *display;
|
||||
|
||||
frames = META_FRAMES (widget);
|
||||
display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
|
||||
display = GDK_DISPLAY_XDISPLAY (gdk_window_get_display (event->window));
|
||||
|
||||
frame = meta_frames_lookup_window (frames, GDK_WINDOW_XID (event->window));
|
||||
if (frame == NULL)
|
||||
@@ -1952,8 +1984,8 @@ meta_frames_motion_notify_event (GtkWidget *widget,
|
||||
|
||||
frames->last_motion_frame = frame;
|
||||
|
||||
grab_op = meta_core_get_grab_op (display);
|
||||
|
||||
grab_op = meta_core_frame_has_grab (display, frame->xwindow, NULL, NULL);
|
||||
|
||||
switch (grab_op)
|
||||
{
|
||||
case META_GRAB_OP_CLICKING_MENU:
|
||||
@@ -1969,9 +2001,9 @@ meta_frames_motion_notify_event (GtkWidget *widget,
|
||||
case META_GRAB_OP_CLICKING_UNSTICK:
|
||||
{
|
||||
MetaFrameControl control;
|
||||
int x, y;
|
||||
|
||||
gdk_window_get_pointer (frame->window, &x, &y, NULL);
|
||||
gdouble x, y;
|
||||
|
||||
gdk_event_get_coords ((GdkEvent *) event, &x, &y);
|
||||
|
||||
/* Control is set to none unless it matches
|
||||
* the current grab
|
||||
@@ -2002,7 +2034,9 @@ meta_frames_motion_notify_event (GtkWidget *widget,
|
||||
control = META_FRAME_CONTROL_NONE;
|
||||
|
||||
/* Update prelit control and cursor */
|
||||
meta_frames_update_prelit_control (frames, frame, control);
|
||||
meta_frames_update_prelit_control (frames, frame,
|
||||
gdk_event_get_device ((GdkEvent *) event),
|
||||
control);
|
||||
|
||||
/* No tooltip while in the process of clicking */
|
||||
}
|
||||
@@ -2010,14 +2044,15 @@ meta_frames_motion_notify_event (GtkWidget *widget,
|
||||
case META_GRAB_OP_NONE:
|
||||
{
|
||||
MetaFrameControl control;
|
||||
int x, y;
|
||||
|
||||
gdk_window_get_pointer (frame->window, &x, &y, NULL);
|
||||
gdouble x, y;
|
||||
|
||||
gdk_event_get_coords ((GdkEvent *) event, &x, &y);
|
||||
control = get_control (frames, frame, x, y);
|
||||
|
||||
/* Update prelit control and cursor */
|
||||
meta_frames_update_prelit_control (frames, frame, control);
|
||||
meta_frames_update_prelit_control (frames, frame,
|
||||
gdk_event_get_device ((GdkEvent *) event),
|
||||
control);
|
||||
|
||||
queue_tip (frames);
|
||||
}
|
||||
@@ -2366,7 +2401,6 @@ meta_frames_paint (MetaFrames *frames,
|
||||
GdkPixbuf *icon;
|
||||
int w, h;
|
||||
MetaButtonState button_states[META_BUTTON_TYPE_LAST];
|
||||
Window grab_frame;
|
||||
int i;
|
||||
MetaButtonLayout button_layout;
|
||||
MetaGrabOp grab_op;
|
||||
@@ -2378,11 +2412,8 @@ meta_frames_paint (MetaFrames *frames,
|
||||
for (i = 0; i < META_BUTTON_TYPE_LAST; i++)
|
||||
button_states[i] = META_BUTTON_STATE_NORMAL;
|
||||
|
||||
grab_frame = meta_core_get_grab_frame (display);
|
||||
grab_op = meta_core_get_grab_op (display);
|
||||
if (grab_frame != frame->xwindow)
|
||||
grab_op = META_GRAB_OP_NONE;
|
||||
|
||||
grab_op = meta_core_frame_has_grab (display, frame->xwindow, NULL, NULL);
|
||||
|
||||
/* Set prelight state */
|
||||
switch (frame->prelit_control)
|
||||
{
|
||||
@@ -2544,7 +2575,9 @@ meta_frames_enter_notify_event (GtkWidget *widget,
|
||||
return FALSE;
|
||||
|
||||
control = get_control (frames, frame, event->x, event->y);
|
||||
meta_frames_update_prelit_control (frames, frame, control);
|
||||
meta_frames_update_prelit_control (frames, frame,
|
||||
gdk_event_get_device ((GdkEvent *) event),
|
||||
control);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -2562,7 +2595,9 @@ meta_frames_leave_notify_event (GtkWidget *widget,
|
||||
if (frame == NULL)
|
||||
return FALSE;
|
||||
|
||||
meta_frames_update_prelit_control (frames, frame, META_FRAME_CONTROL_NONE);
|
||||
meta_frames_update_prelit_control (frames, frame,
|
||||
gdk_event_get_device ((GdkEvent *) event),
|
||||
META_FRAME_CONTROL_NONE);
|
||||
|
||||
clear_tip (frames);
|
||||
|
||||
@@ -2637,7 +2672,6 @@ control_rect (MetaFrameControl control,
|
||||
return rect;
|
||||
}
|
||||
|
||||
#define RESIZE_EXTENDS 15
|
||||
#define TOP_RESIZE_HEIGHT 4
|
||||
static MetaFrameControl
|
||||
get_control (MetaFrames *frames,
|
||||
@@ -2648,6 +2682,7 @@ get_control (MetaFrames *frames,
|
||||
MetaFrameFlags flags;
|
||||
MetaFrameType type;
|
||||
gboolean has_vert, has_horiz;
|
||||
gboolean has_north_resize;
|
||||
cairo_rectangle_int_t client;
|
||||
|
||||
meta_frames_calc_geometry (frames, frame, &fgeom);
|
||||
@@ -2670,13 +2705,14 @@ get_control (MetaFrames *frames,
|
||||
META_CORE_GET_FRAME_FLAGS, &flags,
|
||||
META_CORE_GET_FRAME_TYPE, &type,
|
||||
META_CORE_GET_END);
|
||||
|
||||
|
||||
has_north_resize = (type != META_FRAME_TYPE_ATTACHED);
|
||||
has_vert = (flags & META_FRAME_ALLOWS_VERTICAL_RESIZE) != 0;
|
||||
has_horiz = (flags & META_FRAME_ALLOWS_HORIZONTAL_RESIZE) != 0;
|
||||
|
||||
|
||||
if (POINT_IN_RECT (x, y, fgeom.title_rect))
|
||||
{
|
||||
if (has_vert && y <= TOP_RESIZE_HEIGHT && (type != META_FRAME_TYPE_ATTACHED))
|
||||
if (has_vert && y <= TOP_RESIZE_HEIGHT && has_north_resize)
|
||||
return META_FRAME_CONTROL_RESIZE_N;
|
||||
else
|
||||
return META_FRAME_CONTROL_TITLE;
|
||||
@@ -2724,8 +2760,8 @@ get_control (MetaFrames *frames,
|
||||
* in case of overlap.
|
||||
*/
|
||||
|
||||
if (y >= (fgeom.height - fgeom.borders.total.bottom - RESIZE_EXTENDS) &&
|
||||
x >= (fgeom.width - fgeom.borders.total.right - RESIZE_EXTENDS))
|
||||
if (y >= (fgeom.height - fgeom.borders.total.bottom) &&
|
||||
x >= (fgeom.width - fgeom.borders.total.right))
|
||||
{
|
||||
if (has_vert && has_horiz)
|
||||
return META_FRAME_CONTROL_RESIZE_SE;
|
||||
@@ -2734,8 +2770,8 @@ get_control (MetaFrames *frames,
|
||||
else if (has_horiz)
|
||||
return META_FRAME_CONTROL_RESIZE_E;
|
||||
}
|
||||
else if (y >= (fgeom.height - fgeom.borders.total.bottom - RESIZE_EXTENDS) &&
|
||||
x <= (fgeom.borders.total.left + RESIZE_EXTENDS))
|
||||
else if (y >= (fgeom.height - fgeom.borders.total.bottom) &&
|
||||
x <= fgeom.borders.total.left)
|
||||
{
|
||||
if (has_vert && has_horiz)
|
||||
return META_FRAME_CONTROL_RESIZE_SW;
|
||||
@@ -2744,8 +2780,8 @@ get_control (MetaFrames *frames,
|
||||
else if (has_horiz)
|
||||
return META_FRAME_CONTROL_RESIZE_W;
|
||||
}
|
||||
else if (y < (fgeom.borders.invisible.top + RESIZE_EXTENDS) &&
|
||||
x <= (fgeom.borders.total.left + RESIZE_EXTENDS))
|
||||
else if (y < (fgeom.borders.invisible.top) &&
|
||||
x <= fgeom.borders.total.left && has_north_resize)
|
||||
{
|
||||
if (has_vert && has_horiz)
|
||||
return META_FRAME_CONTROL_RESIZE_NW;
|
||||
@@ -2754,8 +2790,8 @@ get_control (MetaFrames *frames,
|
||||
else if (has_horiz)
|
||||
return META_FRAME_CONTROL_RESIZE_W;
|
||||
}
|
||||
else if (y < (fgeom.borders.invisible.top + RESIZE_EXTENDS) &&
|
||||
x >= (fgeom.width - fgeom.borders.total.right - RESIZE_EXTENDS))
|
||||
else if (y < (fgeom.borders.invisible.top) &&
|
||||
x >= fgeom.width - fgeom.borders.total.right && has_north_resize)
|
||||
{
|
||||
if (has_vert && has_horiz)
|
||||
return META_FRAME_CONTROL_RESIZE_NE;
|
||||
@@ -2766,26 +2802,29 @@ get_control (MetaFrames *frames,
|
||||
}
|
||||
else if (y < (fgeom.borders.invisible.top + TOP_RESIZE_HEIGHT))
|
||||
{
|
||||
if (has_vert)
|
||||
if (has_vert && has_north_resize)
|
||||
return META_FRAME_CONTROL_RESIZE_N;
|
||||
}
|
||||
else if (y >= (fgeom.height - fgeom.borders.total.bottom - RESIZE_EXTENDS))
|
||||
else if (y >= (fgeom.height - fgeom.borders.total.bottom))
|
||||
{
|
||||
if (has_vert)
|
||||
return META_FRAME_CONTROL_RESIZE_S;
|
||||
}
|
||||
else if (x <= fgeom.borders.total.left + RESIZE_EXTENDS)
|
||||
else if (x <= fgeom.borders.total.left)
|
||||
{
|
||||
if (has_horiz)
|
||||
return META_FRAME_CONTROL_RESIZE_W;
|
||||
}
|
||||
else if (x >= (fgeom.width - fgeom.borders.total.right - RESIZE_EXTENDS))
|
||||
else if (x >= (fgeom.width - fgeom.borders.total.right))
|
||||
{
|
||||
if (has_horiz)
|
||||
return META_FRAME_CONTROL_RESIZE_E;
|
||||
}
|
||||
|
||||
return META_FRAME_CONTROL_NONE;
|
||||
if (y >= fgeom.borders.total.top)
|
||||
return META_FRAME_CONTROL_NONE;
|
||||
else
|
||||
return META_FRAME_CONTROL_TITLE;
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -165,7 +165,8 @@ void meta_frames_move_resize_frame (MetaFrames *frames,
|
||||
void meta_frames_queue_draw (MetaFrames *frames,
|
||||
Window xwindow);
|
||||
|
||||
void meta_frames_notify_menu_hide (MetaFrames *frames);
|
||||
void meta_frames_notify_menu_hide (MetaFrames *frames,
|
||||
Window client_xwindow);
|
||||
|
||||
Window meta_frames_get_moving_frame (MetaFrames *frames);
|
||||
|
||||
|
||||
@@ -137,7 +137,7 @@ menu_closed (GtkMenu *widget,
|
||||
|
||||
menu = data;
|
||||
|
||||
meta_frames_notify_menu_hide (menu->frames);
|
||||
meta_frames_notify_menu_hide (menu->frames, menu->client_xwindow);
|
||||
(* menu->func) (menu,
|
||||
GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
|
||||
menu->client_xwindow,
|
||||
@@ -157,7 +157,7 @@ activate_cb (GtkWidget *menuitem, gpointer data)
|
||||
|
||||
md = data;
|
||||
|
||||
meta_frames_notify_menu_hide (md->menu->frames);
|
||||
meta_frames_notify_menu_hide (md->menu->frames, md->menu->client_xwindow);
|
||||
(* md->menu->func) (md->menu,
|
||||
GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
|
||||
md->menu->client_xwindow,
|
||||
@@ -498,13 +498,17 @@ meta_window_menu_new (MetaFrames *frames,
|
||||
|
||||
void
|
||||
meta_window_menu_popup (MetaWindowMenu *menu,
|
||||
MetaDevice *device,
|
||||
int root_x,
|
||||
int root_y,
|
||||
int button,
|
||||
guint32 timestamp)
|
||||
{
|
||||
GdkDeviceManager *device_manager;
|
||||
GdkDevice *gdkdevice;
|
||||
GdkDisplay *display;
|
||||
GdkPoint *pt;
|
||||
|
||||
|
||||
pt = g_new (GdkPoint, 1);
|
||||
|
||||
g_object_set_data_full (G_OBJECT (menu->menu),
|
||||
@@ -514,12 +518,18 @@ meta_window_menu_popup (MetaWindowMenu *menu,
|
||||
|
||||
pt->x = root_x;
|
||||
pt->y = root_y;
|
||||
|
||||
gtk_menu_popup (GTK_MENU (menu->menu),
|
||||
NULL, NULL,
|
||||
popup_position_func, pt,
|
||||
button,
|
||||
timestamp);
|
||||
|
||||
display = gtk_widget_get_display (menu->menu);
|
||||
device_manager = gdk_display_get_device_manager (display);
|
||||
gdkdevice = gdk_x11_device_manager_lookup (device_manager,
|
||||
meta_device_get_id (device));
|
||||
|
||||
gtk_menu_popup_for_device (GTK_MENU (menu->menu),
|
||||
gdkdevice,
|
||||
NULL, NULL,
|
||||
popup_position_func, pt, NULL,
|
||||
button,
|
||||
timestamp);
|
||||
|
||||
if (!gtk_widget_get_visible (menu->menu))
|
||||
meta_warning ("GtkMenu failed to grab the pointer\n");
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#define META_MENU_H
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <meta/device.h>
|
||||
#include "frames.h"
|
||||
|
||||
/* Stock icons */
|
||||
@@ -52,6 +53,7 @@ MetaWindowMenu* meta_window_menu_new (MetaFrames *frames,
|
||||
MetaWindowMenuFunc func,
|
||||
gpointer data);
|
||||
void meta_window_menu_popup (MetaWindowMenu *menu,
|
||||
MetaDevice *device,
|
||||
int root_x,
|
||||
int root_y,
|
||||
int button,
|
||||
|
||||
@@ -217,9 +217,9 @@ meta_ui_tab_popup_new (const MetaTabEntry *entries,
|
||||
gboolean outline)
|
||||
{
|
||||
MetaTabPopup *popup;
|
||||
int i, left, right, top, bottom;
|
||||
int i, left, top;
|
||||
int height;
|
||||
GtkWidget *table;
|
||||
GtkWidget *grid;
|
||||
GtkWidget *vbox;
|
||||
GtkWidget *align;
|
||||
GList *tmp;
|
||||
@@ -273,12 +273,12 @@ meta_ui_tab_popup_new (const MetaTabEntry *entries,
|
||||
if (i % width)
|
||||
height += 1;
|
||||
|
||||
table = gtk_table_new (height, width, FALSE);
|
||||
vbox = gtk_vbox_new (FALSE, 0);
|
||||
grid = gtk_grid_new ();
|
||||
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
|
||||
|
||||
frame = gtk_frame_new (NULL);
|
||||
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (table), 1);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (grid), 1);
|
||||
gtk_container_add (GTK_CONTAINER (popup->window),
|
||||
frame);
|
||||
gtk_container_add (GTK_CONTAINER (frame),
|
||||
@@ -289,7 +289,7 @@ meta_ui_tab_popup_new (const MetaTabEntry *entries,
|
||||
gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (align),
|
||||
table);
|
||||
grid);
|
||||
|
||||
popup->label = gtk_label_new ("");
|
||||
|
||||
@@ -306,13 +306,11 @@ meta_ui_tab_popup_new (const MetaTabEntry *entries,
|
||||
|
||||
max_label_width = 0;
|
||||
top = 0;
|
||||
bottom = 1;
|
||||
tmp = popup->entries;
|
||||
|
||||
while (tmp && top < height)
|
||||
{
|
||||
left = 0;
|
||||
right = 1;
|
||||
|
||||
while (tmp && left < width)
|
||||
{
|
||||
@@ -351,11 +349,9 @@ meta_ui_tab_popup_new (const MetaTabEntry *entries,
|
||||
|
||||
te->widget = image;
|
||||
|
||||
gtk_table_attach (GTK_TABLE (table),
|
||||
te->widget,
|
||||
left, right, top, bottom,
|
||||
0, 0,
|
||||
0, 0);
|
||||
gtk_grid_attach (GTK_GRID (grid),
|
||||
te->widget,
|
||||
left, top, 1, 1);
|
||||
|
||||
/* Efficiency rules! */
|
||||
gtk_label_set_markup (GTK_LABEL (popup->label),
|
||||
@@ -366,11 +362,9 @@ meta_ui_tab_popup_new (const MetaTabEntry *entries,
|
||||
tmp = tmp->next;
|
||||
|
||||
++left;
|
||||
++right;
|
||||
}
|
||||
|
||||
++top;
|
||||
++bottom;
|
||||
}
|
||||
|
||||
/* remove all the temporary text */
|
||||
@@ -858,12 +852,21 @@ static WnckWindowDisplayInfo
|
||||
meta_convert_meta_to_wnck (MetaWindow *window, MetaScreen *screen)
|
||||
{
|
||||
WnckWindowDisplayInfo wnck_window;
|
||||
MetaFocusInfo *focus_info;
|
||||
GHashTableIter iter;
|
||||
|
||||
wnck_window.icon = window->icon;
|
||||
wnck_window.mini_icon = window->mini_icon;
|
||||
|
||||
wnck_window.is_active = FALSE;
|
||||
if (window == window->display->expected_focus_window)
|
||||
wnck_window.is_active = TRUE;
|
||||
|
||||
g_hash_table_iter_init (&iter, window->display->focus_info);
|
||||
|
||||
while (g_hash_table_iter_next (&iter, NULL, (gpointer *) &focus_info))
|
||||
{
|
||||
if (window == focus_info->expected_focus_window)
|
||||
wnck_window.is_active = TRUE;
|
||||
}
|
||||
|
||||
if (window->frame)
|
||||
{
|
||||
|
||||
@@ -723,8 +723,6 @@ typedef enum
|
||||
META_FRAME_PIECE_LAST
|
||||
} MetaFramePiece;
|
||||
|
||||
#define N_GTK_STATES 5
|
||||
|
||||
/**
|
||||
* How to draw a frame in a particular state (say, a focussed, non-maximised,
|
||||
* resizable frame). This corresponds closely to the <frame_style> tag
|
||||
@@ -925,6 +923,7 @@ void meta_frame_layout_unref (MetaFrameLayout *layout)
|
||||
void meta_frame_layout_get_borders (const MetaFrameLayout *layout,
|
||||
int text_height,
|
||||
MetaFrameFlags flags,
|
||||
MetaFrameType type,
|
||||
MetaFrameBorders *borders);
|
||||
void meta_frame_layout_calc_geometry (const MetaFrameLayout *layout,
|
||||
int text_height,
|
||||
@@ -932,6 +931,7 @@ void meta_frame_layout_calc_geometry (const MetaFrameLayout *layout
|
||||
int client_width,
|
||||
int client_height,
|
||||
const MetaButtonLayout *button_layout,
|
||||
MetaFrameType type,
|
||||
MetaFrameGeometry *fgeom,
|
||||
MetaTheme *theme);
|
||||
|
||||
@@ -1085,20 +1085,6 @@ void meta_theme_draw_frame (MetaTheme *theme,
|
||||
GdkPixbuf *mini_icon,
|
||||
GdkPixbuf *icon);
|
||||
|
||||
void meta_theme_draw_frame_by_name (MetaTheme *theme,
|
||||
GtkWidget *widget,
|
||||
cairo_t *cr,
|
||||
const gchar *style_name,
|
||||
MetaFrameFlags flags,
|
||||
int client_width,
|
||||
int client_height,
|
||||
PangoLayout *title_layout,
|
||||
int text_height,
|
||||
const MetaButtonLayout *button_layout,
|
||||
MetaButtonState button_states[META_BUTTON_TYPE_LAST],
|
||||
GdkPixbuf *mini_icon,
|
||||
GdkPixbuf *icon);
|
||||
|
||||
void meta_theme_draw_frame_with_style (MetaTheme *theme,
|
||||
GtkStyleContext *style_gtk,
|
||||
GtkWidget *widget,
|
||||
|
||||
@@ -122,19 +122,18 @@ static GtkActionEntry tool_items[] =
|
||||
static GtkWidget *
|
||||
normal_contents (void)
|
||||
{
|
||||
GtkWidget *table;
|
||||
GtkWidget *handlebox;
|
||||
GtkWidget *grid;
|
||||
GtkWidget *statusbar;
|
||||
GtkWidget *contents;
|
||||
GtkWidget *sw;
|
||||
GtkActionGroup *action_group;
|
||||
GtkUIManager *ui_manager;
|
||||
|
||||
table = gtk_table_new (1, 4, FALSE);
|
||||
|
||||
grid = gtk_grid_new ();
|
||||
|
||||
/* Create the menubar
|
||||
*/
|
||||
|
||||
|
||||
action_group = gtk_action_group_new ("mainmenu");
|
||||
gtk_action_group_add_actions (action_group,
|
||||
menu_items,
|
||||
@@ -152,24 +151,21 @@ normal_contents (void)
|
||||
/* create menu items */
|
||||
gtk_ui_manager_add_ui_from_string (ui_manager, menu_item_string, -1, NULL);
|
||||
|
||||
gtk_table_attach (GTK_TABLE (table),
|
||||
gtk_ui_manager_get_widget (ui_manager, "/ui/menubar"),
|
||||
/* X direction */ /* Y direction */
|
||||
0, 1, 0, 1,
|
||||
GTK_EXPAND | GTK_FILL, 0,
|
||||
0, 0);
|
||||
gtk_grid_attach (GTK_GRID (grid),
|
||||
gtk_ui_manager_get_widget (ui_manager, "/ui/menubar"),
|
||||
0, 0, 1, 1);
|
||||
|
||||
handlebox = gtk_handle_box_new ();
|
||||
gtk_widget_set_hexpand (gtk_ui_manager_get_widget (ui_manager, "/ui/menubar"),
|
||||
TRUE);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (handlebox),
|
||||
gtk_ui_manager_get_widget (ui_manager, "/ui/toolbar"));
|
||||
/* Create the toolbar
|
||||
*/
|
||||
gtk_grid_attach (GTK_GRID (grid),
|
||||
gtk_ui_manager_get_widget (ui_manager, "/ui/toolbar"),
|
||||
0, 1, 1, 1);
|
||||
|
||||
gtk_table_attach (GTK_TABLE (table),
|
||||
handlebox,
|
||||
/* X direction */ /* Y direction */
|
||||
0, 1, 1, 2,
|
||||
GTK_EXPAND | GTK_FILL, 0,
|
||||
0, 0);
|
||||
gtk_widget_set_hexpand (gtk_ui_manager_get_widget (ui_manager, "/ui/toolbar"),
|
||||
TRUE);
|
||||
|
||||
/* Create document
|
||||
*/
|
||||
@@ -183,12 +179,12 @@ normal_contents (void)
|
||||
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),
|
||||
GTK_SHADOW_IN);
|
||||
|
||||
gtk_table_attach (GTK_TABLE (table),
|
||||
sw,
|
||||
/* X direction */ /* Y direction */
|
||||
0, 1, 2, 3,
|
||||
GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL,
|
||||
0, 0);
|
||||
gtk_grid_attach (GTK_GRID (grid),
|
||||
sw,
|
||||
0, 2, 1, 1);
|
||||
|
||||
gtk_widget_set_hexpand (sw, TRUE);
|
||||
gtk_widget_set_vexpand (sw, TRUE);
|
||||
|
||||
contents = gtk_text_view_new ();
|
||||
gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (contents),
|
||||
@@ -200,18 +196,17 @@ normal_contents (void)
|
||||
/* Create statusbar */
|
||||
|
||||
statusbar = gtk_statusbar_new ();
|
||||
gtk_table_attach (GTK_TABLE (table),
|
||||
statusbar,
|
||||
/* X direction */ /* Y direction */
|
||||
0, 1, 3, 4,
|
||||
GTK_EXPAND | GTK_FILL, 0,
|
||||
0, 0);
|
||||
gtk_grid_attach (GTK_GRID (grid),
|
||||
statusbar,
|
||||
0, 3, 1, 1);
|
||||
|
||||
gtk_widget_show_all (table);
|
||||
gtk_widget_set_hexpand (statusbar, TRUE);
|
||||
|
||||
gtk_widget_show_all (grid);
|
||||
|
||||
g_object_unref (ui_manager);
|
||||
|
||||
return table;
|
||||
return grid;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -233,7 +228,7 @@ dialog_contents (void)
|
||||
GtkWidget *image;
|
||||
GtkWidget *button;
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 0);
|
||||
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
|
||||
|
||||
action_area = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
|
||||
|
||||
@@ -258,7 +253,7 @@ dialog_contents (void)
|
||||
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
|
||||
gtk_label_set_selectable (GTK_LABEL (label), TRUE);
|
||||
|
||||
hbox = gtk_hbox_new (FALSE, 6);
|
||||
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
|
||||
|
||||
gtk_box_pack_start (GTK_BOX (hbox), image,
|
||||
FALSE, FALSE, 0);
|
||||
@@ -278,11 +273,11 @@ dialog_contents (void)
|
||||
static GtkWidget*
|
||||
utility_contents (void)
|
||||
{
|
||||
GtkWidget *table;
|
||||
GtkWidget *grid;
|
||||
GtkWidget *button;
|
||||
int i, j;
|
||||
|
||||
table = gtk_table_new (3, 4, FALSE);
|
||||
grid = gtk_grid_new ();
|
||||
|
||||
i = 0;
|
||||
while (i < 3)
|
||||
@@ -298,12 +293,9 @@ utility_contents (void)
|
||||
|
||||
g_free (str);
|
||||
|
||||
gtk_table_attach (GTK_TABLE (table),
|
||||
button,
|
||||
/* X direction */ /* Y direction */
|
||||
i, i+1, j, j+1,
|
||||
GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL,
|
||||
0, 0);
|
||||
gtk_grid_attach (GTK_GRID (grid),
|
||||
button,
|
||||
i, j, 1, 1);
|
||||
|
||||
++j;
|
||||
}
|
||||
@@ -311,9 +303,9 @@ utility_contents (void)
|
||||
++i;
|
||||
}
|
||||
|
||||
gtk_widget_show_all (table);
|
||||
gtk_widget_show_all (grid);
|
||||
|
||||
return table;
|
||||
return grid;
|
||||
}
|
||||
|
||||
static GtkWidget*
|
||||
@@ -328,7 +320,7 @@ menu_contents (void)
|
||||
gtk_frame_set_shadow_type (GTK_FRAME (frame),
|
||||
GTK_SHADOW_OUT);
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 0);
|
||||
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
|
||||
|
||||
i = 0;
|
||||
while (i < 10)
|
||||
@@ -365,7 +357,7 @@ border_only_contents (void)
|
||||
color.alpha = 1.0;
|
||||
gtk_widget_override_background_color (event_box, 0, &color);
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 0);
|
||||
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 3);
|
||||
|
||||
w = gtk_label_new (_("Border-only window"));
|
||||
@@ -487,7 +479,7 @@ preview_collection (int font_size,
|
||||
GTK_POLICY_AUTOMATIC,
|
||||
GTK_POLICY_AUTOMATIC);
|
||||
|
||||
box = gtk_vbox_new (FALSE, 0);
|
||||
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
|
||||
gtk_box_set_spacing (GTK_BOX (box), 20);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (box), 20);
|
||||
|
||||
@@ -711,7 +703,7 @@ previews_of_button_layouts (void)
|
||||
GTK_POLICY_AUTOMATIC,
|
||||
GTK_POLICY_AUTOMATIC);
|
||||
|
||||
box = gtk_vbox_new (FALSE, 0);
|
||||
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
|
||||
gtk_box_set_spacing (GTK_BOX (box), 20);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (box), 20);
|
||||
|
||||
|
||||
@@ -401,10 +401,17 @@ void
|
||||
meta_frame_layout_get_borders (const MetaFrameLayout *layout,
|
||||
int text_height,
|
||||
MetaFrameFlags flags,
|
||||
MetaFrameType type,
|
||||
MetaFrameBorders *borders)
|
||||
{
|
||||
int buttons_height, title_height, draggable_borders;
|
||||
|
||||
meta_frame_borders_clear (borders);
|
||||
|
||||
/* For a full-screen window, we don't have any borders, visible or not. */
|
||||
if (flags & META_FRAME_FULLSCREEN)
|
||||
return;
|
||||
|
||||
g_return_if_fail (layout != NULL);
|
||||
|
||||
if (!layout->has_title)
|
||||
@@ -416,30 +423,29 @@ meta_frame_layout_get_borders (const MetaFrameLayout *layout,
|
||||
layout->title_vertical_pad +
|
||||
layout->title_border.top + layout->title_border.bottom;
|
||||
|
||||
borders->visible.top = MAX (buttons_height, title_height);
|
||||
borders->visible.left = layout->left_width;
|
||||
borders->visible.right = layout->right_width;
|
||||
if (flags & META_FRAME_SHADED)
|
||||
borders->visible.bottom = 0;
|
||||
else
|
||||
borders->visible.bottom = layout->bottom_height;
|
||||
|
||||
if (flags & META_FRAME_FULLSCREEN)
|
||||
{
|
||||
meta_frame_borders_clear (borders);
|
||||
return;
|
||||
}
|
||||
borders->visible.top = MAX (buttons_height, title_height);
|
||||
borders->visible.left = layout->left_width;
|
||||
borders->visible.right = layout->right_width;
|
||||
borders->visible.bottom = layout->bottom_height;
|
||||
|
||||
draggable_borders = meta_prefs_get_draggable_border_width ();
|
||||
|
||||
borders->invisible.left = MAX (0, draggable_borders - borders->visible.left);
|
||||
borders->invisible.right = MAX (0, draggable_borders - borders->visible.right);
|
||||
borders->invisible.bottom = MAX (0, draggable_borders - borders->visible.bottom);
|
||||
if (flags & META_FRAME_ALLOWS_HORIZONTAL_RESIZE)
|
||||
{
|
||||
borders->invisible.left = MAX (0, draggable_borders - borders->visible.left);
|
||||
borders->invisible.right = MAX (0, draggable_borders - borders->visible.right);
|
||||
}
|
||||
|
||||
/* borders.visible is the height of the *title bar*. We can't do the same
|
||||
* algorithm here, titlebars are expectedly much bigger. Just subtract a couple
|
||||
* pixels to get a proper feel. */
|
||||
borders->invisible.top = MAX (0, draggable_borders - 2);
|
||||
if (flags & META_FRAME_ALLOWS_VERTICAL_RESIZE)
|
||||
{
|
||||
borders->invisible.bottom = MAX (0, draggable_borders - borders->visible.bottom);
|
||||
|
||||
/* borders.visible.top is the height of the *title bar*. We can't do the same
|
||||
* algorithm here, titlebars are expectedly much bigger. Just subtract a couple
|
||||
* pixels to get a proper feel. */
|
||||
if (type != META_FRAME_TYPE_ATTACHED)
|
||||
borders->invisible.top = MAX (0, draggable_borders - 2);
|
||||
}
|
||||
|
||||
borders->total.left = borders->invisible.left + borders->visible.left;
|
||||
borders->total.right = borders->invisible.right + borders->visible.right;
|
||||
@@ -612,6 +618,7 @@ meta_frame_layout_calc_geometry (const MetaFrameLayout *layout,
|
||||
int client_width,
|
||||
int client_height,
|
||||
const MetaButtonLayout *button_layout,
|
||||
MetaFrameType type,
|
||||
MetaFrameGeometry *fgeom,
|
||||
MetaTheme *theme)
|
||||
{
|
||||
@@ -636,7 +643,7 @@ meta_frame_layout_calc_geometry (const MetaFrameLayout *layout,
|
||||
MetaFrameBorders borders;
|
||||
|
||||
meta_frame_layout_get_borders (layout, text_height,
|
||||
flags,
|
||||
flags, type,
|
||||
&borders);
|
||||
|
||||
fgeom->borders = borders;
|
||||
@@ -1332,7 +1339,6 @@ meta_color_spec_new_from_string (const char *str,
|
||||
spec = meta_color_spec_new (META_COLOR_SPEC_GTK);
|
||||
spec->data.gtk.state = state;
|
||||
spec->data.gtk.component = component;
|
||||
g_assert (spec->data.gtk.state < N_GTK_STATES);
|
||||
g_assert (spec->data.gtk.component < META_GTK_COLOR_LAST);
|
||||
}
|
||||
else if (str[0] == 'b' && str[1] == 'l' && str[2] == 'e' && str[3] == 'n' &&
|
||||
@@ -5521,6 +5527,7 @@ meta_theme_draw_frame_with_style (MetaTheme *theme,
|
||||
flags,
|
||||
client_width, client_height,
|
||||
button_layout,
|
||||
type,
|
||||
&fgeom,
|
||||
theme);
|
||||
|
||||
@@ -5559,49 +5566,6 @@ meta_theme_draw_frame (MetaTheme *theme,
|
||||
mini_icon, icon);
|
||||
}
|
||||
|
||||
void
|
||||
meta_theme_draw_frame_by_name (MetaTheme *theme,
|
||||
GtkWidget *widget,
|
||||
cairo_t *cr,
|
||||
const gchar *style_name,
|
||||
MetaFrameFlags flags,
|
||||
int client_width,
|
||||
int client_height,
|
||||
PangoLayout *title_layout,
|
||||
int text_height,
|
||||
const MetaButtonLayout *button_layout,
|
||||
MetaButtonState button_states[META_BUTTON_TYPE_LAST],
|
||||
GdkPixbuf *mini_icon,
|
||||
GdkPixbuf *icon)
|
||||
{
|
||||
MetaFrameGeometry fgeom;
|
||||
MetaFrameStyle *style;
|
||||
|
||||
style = meta_theme_lookup_style (theme, style_name);
|
||||
|
||||
/* Parser is not supposed to allow this currently */
|
||||
if (style == NULL)
|
||||
return;
|
||||
|
||||
meta_frame_layout_calc_geometry (style->layout,
|
||||
text_height,
|
||||
flags,
|
||||
client_width, client_height,
|
||||
button_layout,
|
||||
&fgeom,
|
||||
theme);
|
||||
|
||||
meta_frame_style_draw (style,
|
||||
widget,
|
||||
cr,
|
||||
&fgeom,
|
||||
client_width, client_height,
|
||||
title_layout,
|
||||
text_height,
|
||||
button_states,
|
||||
mini_icon, icon);
|
||||
}
|
||||
|
||||
void
|
||||
meta_theme_get_frame_borders (MetaTheme *theme,
|
||||
MetaFrameType type,
|
||||
@@ -5623,7 +5587,7 @@ meta_theme_get_frame_borders (MetaTheme *theme,
|
||||
|
||||
meta_frame_layout_get_borders (style->layout,
|
||||
text_height,
|
||||
flags,
|
||||
flags, type,
|
||||
borders);
|
||||
}
|
||||
|
||||
@@ -5652,6 +5616,7 @@ meta_theme_calc_geometry (MetaTheme *theme,
|
||||
flags,
|
||||
client_width, client_height,
|
||||
button_layout,
|
||||
type,
|
||||
fgeom,
|
||||
theme);
|
||||
}
|
||||
|
||||
@@ -171,6 +171,7 @@ meta_tile_preview_free (MetaTilePreview *preview)
|
||||
|
||||
void
|
||||
meta_tile_preview_show (MetaTilePreview *preview,
|
||||
MetaDevice *pointer,
|
||||
MetaRectangle *tile_rect)
|
||||
{
|
||||
GdkWindow *window;
|
||||
@@ -187,6 +188,7 @@ meta_tile_preview_show (MetaTilePreview *preview,
|
||||
window = gtk_widget_get_window (preview->preview_window);
|
||||
meta_core_lower_beneath_grab_window (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
|
||||
GDK_WINDOW_XID (window),
|
||||
meta_device_get_id (pointer),
|
||||
gtk_get_current_event_time ());
|
||||
|
||||
old_rect.x = old_rect.y = 0;
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#define META_TILE_PREVIEW_H
|
||||
|
||||
#include <meta/boxes.h>
|
||||
#include <meta/device.h>
|
||||
|
||||
typedef struct _MetaTilePreview MetaTilePreview;
|
||||
|
||||
@@ -31,6 +32,7 @@ MetaTilePreview *meta_tile_preview_new (int screen_number,
|
||||
gboolean composited);
|
||||
void meta_tile_preview_free (MetaTilePreview *preview);
|
||||
void meta_tile_preview_show (MetaTilePreview *preview,
|
||||
MetaDevice *pointer,
|
||||
MetaRectangle *rect);
|
||||
void meta_tile_preview_hide (MetaTilePreview *preview);
|
||||
Window meta_tile_preview_get_xwindow (MetaTilePreview *preview,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user