Compare commits
211 Commits
3.3.5
...
wip/messag
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2d02f6cc78 | ||
|
|
b5d5934e5a | ||
|
|
64b1c0f953 | ||
|
|
10d53fc7d2 | ||
|
|
eb1292ea99 | ||
|
|
e257580b94 | ||
|
|
42261156ec | ||
|
|
89e31f0d9d | ||
|
|
c805e397fd | ||
|
|
760a36aeee | ||
|
|
5d57a2594d | ||
|
|
1a5132d391 | ||
|
|
0fe0534c85 | ||
|
|
fe942049da | ||
|
|
e6ed29f0e2 | ||
|
|
15f11f879d | ||
|
|
f517eaf81e | ||
|
|
255347f876 | ||
|
|
e4ae7d7b1b | ||
|
|
2be943d1d9 | ||
|
|
0a50488bef | ||
|
|
78c966321a | ||
|
|
f65b7c59d3 | ||
|
|
e31f55e146 | ||
|
|
dc232b6cad | ||
|
|
a2f2e07e9b | ||
|
|
f5e48223c9 | ||
|
|
1478510392 | ||
|
|
18b38320a6 | ||
|
|
16be31b514 | ||
|
|
accc183474 | ||
|
|
81699619e8 | ||
|
|
75c87e5876 | ||
|
|
50bc4ad0e1 | ||
|
|
277e8bdad9 | ||
|
|
dc50ccf9b7 | ||
|
|
4595209346 | ||
|
|
50cf3dd1a5 | ||
|
|
66eac7824a | ||
|
|
4041f96ed3 | ||
|
|
3a15d637da | ||
|
|
5c3c7df948 | ||
|
|
f9454e29db | ||
|
|
574c0c3287 | ||
|
|
9fa5aa9889 | ||
|
|
80a70a4ad1 | ||
|
|
7c1b734053 | ||
|
|
33e1017403 | ||
|
|
f143fe3710 | ||
|
|
66406b3035 | ||
|
|
042ddc5637 | ||
|
|
5b04ab4473 | ||
|
|
16b86ae7f7 | ||
|
|
49400657ca | ||
|
|
30bc8bc6ce | ||
|
|
ac18f41ed1 | ||
|
|
60c05a0dac | ||
|
|
c47de98c88 | ||
|
|
f1aada0fae | ||
|
|
4de492eb20 | ||
|
|
9ca00d5cce | ||
|
|
b98e4e37ad | ||
|
|
8b64a951c9 | ||
|
|
c2a0719e44 | ||
|
|
8cb7a450ae | ||
|
|
6fb857cb23 | ||
|
|
fc87a635b2 | ||
|
|
81930ca76e | ||
|
|
da65738901 | ||
|
|
4528e1216a | ||
|
|
d56ecde39b | ||
|
|
4148a5cc6a | ||
|
|
8a6a568aca | ||
|
|
12cc0cee29 | ||
|
|
878b1012b4 | ||
|
|
a78fec7951 | ||
|
|
a24c512caa | ||
|
|
c669a3892e | ||
|
|
ba4f008d40 | ||
|
|
b0a099935b | ||
|
|
aba39ef953 | ||
|
|
ebf8c460e1 | ||
|
|
25d3432eee | ||
|
|
cd7a74fbcd | ||
|
|
c64188c67f | ||
|
|
4c2371f2e7 | ||
|
|
ff6c31dcc0 | ||
|
|
1b649c18ed | ||
|
|
93037e4c6b | ||
|
|
ed358c8f4b | ||
|
|
a22859a64a | ||
|
|
c44438b19f | ||
|
|
b58366d3ad | ||
|
|
6900128b2f | ||
|
|
c0b4d68390 | ||
|
|
0d794f28f0 | ||
|
|
e389eff79d | ||
|
|
41adbdda12 | ||
|
|
2d6555ca4d | ||
|
|
044d58951e | ||
|
|
9c97e8999e | ||
|
|
e97b38b38e | ||
|
|
8809673a74 | ||
|
|
68321d9bf4 | ||
|
|
65390e50a4 | ||
|
|
f8d32661b5 | ||
|
|
d84911fdf9 | ||
|
|
4147ea4660 | ||
|
|
2dd7c98641 | ||
|
|
3aad30143c | ||
|
|
93d06d4368 | ||
|
|
b19c061db5 | ||
|
|
497258f6e5 | ||
|
|
977e6388ad | ||
|
|
0879cf0d8d | ||
|
|
4aab7fb7b9 | ||
|
|
839fee19ef | ||
|
|
46a56bafbd | ||
|
|
c8b4939c7e | ||
|
|
fc3e82421a | ||
|
|
23046f6e28 | ||
|
|
823208120d | ||
|
|
d12c507b12 | ||
|
|
2157c238b6 | ||
|
|
423bda908e | ||
|
|
98d427ddba | ||
|
|
7a35579c3f | ||
|
|
adc89fbb2c | ||
|
|
a6ca3f768f | ||
|
|
9362fbdcde | ||
|
|
47099f4a87 | ||
|
|
2e6e5b068c | ||
|
|
ee840bc832 | ||
|
|
6333c174dc | ||
|
|
a3bf9b01aa | ||
|
|
402b477458 | ||
|
|
6b273ca713 | ||
|
|
c3ec6b34a3 | ||
|
|
78dc480e86 | ||
|
|
53364f986c | ||
|
|
5770b5b3c3 | ||
|
|
f16f47bd38 | ||
|
|
58a57185b7 | ||
|
|
8fb361cb26 | ||
|
|
335d211204 | ||
|
|
7f64d6b92e | ||
|
|
8c1b2d5eda | ||
|
|
578b1c06c7 | ||
|
|
6dfde43786 | ||
|
|
a8ead4d447 | ||
|
|
2926323a9a | ||
|
|
13bc8f7a76 | ||
|
|
ad516492d2 | ||
|
|
6677c61db3 | ||
|
|
f26f61ed7d | ||
|
|
8ca86fa8bf | ||
|
|
f2f500836e | ||
|
|
c39998efee | ||
|
|
3b811f33c7 | ||
|
|
beea2f7acd | ||
|
|
fb4c50478d | ||
|
|
ac0602a02e | ||
|
|
5361e0259f | ||
|
|
04bf73ff6d | ||
|
|
047b9de1c6 | ||
|
|
39b3244a3e | ||
|
|
63f982eb72 | ||
|
|
c689306dae | ||
|
|
0b7f2f8cd3 | ||
|
|
efc90173b1 | ||
|
|
9e439a22b5 | ||
|
|
848c1f52f3 | ||
|
|
1b84be7031 | ||
|
|
eb08a65b4c | ||
|
|
43ba596a0e | ||
|
|
2e1de1a037 | ||
|
|
81ede6abf8 | ||
|
|
1d98f1fee8 | ||
|
|
f0582d1a86 | ||
|
|
607dbf0f43 | ||
|
|
584cd3e684 | ||
|
|
90ec5b05f3 | ||
|
|
7253a75b18 | ||
|
|
cdbe3b274f | ||
|
|
3f3e3ce37e | ||
|
|
5e3d93da87 | ||
|
|
82b1d0d7e5 | ||
|
|
3583e57ec3 | ||
|
|
2ddde04678 | ||
|
|
feda493fbf | ||
|
|
fc72309b71 | ||
|
|
860c2a6282 | ||
|
|
e6b4a34daf | ||
|
|
3319cdfec0 | ||
|
|
fc5594faad | ||
|
|
7c9e0c2ebc | ||
|
|
9157cc2b70 | ||
|
|
69e7b32b54 | ||
|
|
04835eccb5 | ||
|
|
01c363bb6a | ||
|
|
7649772394 | ||
|
|
ca3dc2e876 | ||
|
|
70d85049b1 | ||
|
|
29f6f5e0ad | ||
|
|
d249cfd040 | ||
|
|
3cb912aee2 | ||
|
|
7df823132c | ||
|
|
41353d642b | ||
|
|
c47039db82 | ||
|
|
0dab6df25a | ||
|
|
c844bab232 |
149
NEWS
149
NEWS
@@ -1,3 +1,152 @@
|
|||||||
|
3.5.4
|
||||||
|
=====
|
||||||
|
* Make it possible to reimplement move-to-workspace keybindings from plugins
|
||||||
|
[Giovanni; #674104]
|
||||||
|
* Add a preference to ignore hide-titlebar-when-maximized hint [Rico; #678947]
|
||||||
|
* window: Also use hide-titlebar-when-maximized when tiled [Florian; #679290]
|
||||||
|
* Center modal dialogs on their parent instead [Florian; #674499]
|
||||||
|
* Reduce amount of markup in translated messages [Matthias; #679660]
|
||||||
|
* Fix focus problem after closing a window with focus-follows-mouse
|
||||||
|
[Jasper; #675982]
|
||||||
|
* Handle changes of the attach-modal-dialogs preference [Florian; #679904]
|
||||||
|
* Do not restore tiling on unmaximize [Florian; #677565]
|
||||||
|
* Misc. fixes and cleanups [Jasper Adriaanse, Jasper, Debarshi, Pavel;
|
||||||
|
#679153, 673824]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Jasper Lievisse Adriaanse, Giovanni Campagna, Matthias Clasen, Florian Müllner,
|
||||||
|
Debarshi Ray, Jasper St. Pierre, Rico Tzschichholz, Pavel Vasin
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Alexander Shopov [bg], Kjartan Maraas [nb], Yaron Shahrabani [he],
|
||||||
|
Nilamdyuti Goswami [as], Ihar Hrachyshka [be], Daniel Mustieles [es]
|
||||||
|
|
||||||
|
3.5.3
|
||||||
|
=====
|
||||||
|
* Simplify plugin system [Jasper; #676855]
|
||||||
|
* meta-window-actor: Don't unredirect shaped windows [Jasper; #677657]
|
||||||
|
* screen: Add new public meta_screen_get_current_monitor API [Tim; #642591]
|
||||||
|
* frames: Increase the size of resize corners [Jasper; #677669]
|
||||||
|
* window: Make some window methods public [Jasper; #678126]
|
||||||
|
* Fix crash when running mutter stand-alone [Jasper; #678238]
|
||||||
|
* meta-window-actor: Fix potential crash in shaping code [Jasper; #677977]
|
||||||
|
* Misc. fixes [Jasper, Marc-Antoine, Rico]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Tim L, Marc-Antoine Perennou, Jasper St. Pierre, Rico Tzschichholz
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
|
||||||
|
Daniel Mustieles [es], Matej Urbančič [sl], Khaled Hosny [ar],
|
||||||
|
Bruno Brouard [fr], Fran Diéguez [gl]
|
||||||
|
|
||||||
|
3.5.2
|
||||||
|
=====
|
||||||
|
* keybindings: Remove 'toggle-recording' binding [Florian; #674376]
|
||||||
|
* Switch to gtk-doc syntax [Jasper; #673752]
|
||||||
|
* shaped-texture: never slice shape mask texture [Robert; #674731]
|
||||||
|
* Make Mutter stop relying on Cogl including a GL header [Neil; #672711]
|
||||||
|
* Make support for "XFree86" Xinerama mandatory [Owen; #674727]
|
||||||
|
* meta_window_move_frame(): fix crash when frame is NULL [Owen; #675254]
|
||||||
|
* Fix memory leaks [Pavel; #672640]
|
||||||
|
* Code cleanups [Jasper; #671104 #674876 #676052]
|
||||||
|
* Look for themes in XDG user data dir [Jasper; #675316]
|
||||||
|
* Remove frame pixel caching [Jasper; #675111]
|
||||||
|
* stack: Ignore keep-on-top property on maximized windows [Florian; #673581]
|
||||||
|
* Misc. fixes [Javier, Jasper, Owen, Rico]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Robert Bragg, Javier Járdon, Florian Müllner, Neil Roberts, Jasper St. Pierre,
|
||||||
|
Owen Taylor, Rico Tzschichholz, Pavel Vasin
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Praveen Illa [te], Luca Ferretti [it], Daniel Mustieles [es]
|
||||||
|
|
||||||
|
3.4.1
|
||||||
|
=====
|
||||||
|
* API change: the meta_display_add_keybinding() function added in 3.4
|
||||||
|
wasn't usable from a GNOME Shell extension, so has been changed to take
|
||||||
|
a GSettings object rather than the name of a schema [Jasper; #673014]
|
||||||
|
* Don't try to auto-maximize not-maximizable windows; this fixes the problem
|
||||||
|
with the Nautilus desktop window being mis-positioned when enabled
|
||||||
|
[Owen; #673566]
|
||||||
|
* Fix a crash in the default plugin (not used in GNOME) [Giovanni; #673809]
|
||||||
|
* Make the <Super> key work when set as the mouse button modifier
|
||||||
|
[Florian; #662476]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Giovanni Campagna, Florian Muellner, Jasper St. Pierre, Owen Taylor
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Khaled Hosny [ar], Jordi Serratosa [ca], Carles Ferrando [ca@valencia],
|
||||||
|
Christian Kirbach [de], Kristjan Schmidt [eo], Arash Mousavi [fa],
|
||||||
|
Jiro Matsuzawa [ja], Shankar Prasad [kn], Aurimas Černius [lt],
|
||||||
|
Yinghua Wang [zh_CN]
|
||||||
|
|
||||||
|
3.4.0
|
||||||
|
=====
|
||||||
|
* Fix crash when a full-screen window is opened [Jasper; #672797]
|
||||||
|
* Fix memory leaks [Pavel; #672640]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Jasper St. Pierre, Pavel Vasin
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Marek Černocký, Petr Kovar [cz], Bruno Brouard [fr], Sweta Kothari [gu],
|
||||||
|
Yaron Shahrabani [he], Changwoo Ryu [kr], Enrico Nicoletto [pt_BR],
|
||||||
|
Yuri Myasoedov [ru], Muhammet Kara [tr], Nguyễn Thái Ngọc Duy [vi]
|
||||||
|
|
||||||
|
3.3.92
|
||||||
|
======
|
||||||
|
* Automaximize large windows on map [Adel; #671677]
|
||||||
|
* When unmaximizing windows, make sure the unminimized size
|
||||||
|
is signficantly less than the maximized size [Adel; #671677]
|
||||||
|
* Don't offer maximize option for windows larger than the screen
|
||||||
|
[Jasper; #643606]
|
||||||
|
* Always focus the window immediately underneath without restacking
|
||||||
|
when closing a window [Jasper; #620744]
|
||||||
|
* Avoid drawing shadows when two windows are tiled together [Rui; #643075]
|
||||||
|
* Remove tooltips for window decorations [Florian; #645101]
|
||||||
|
* Add org.gnome.mutter.dynamic-workspaces GSetting - when this is set
|
||||||
|
to true, workspace counts are never saved to GSettings, avoiding
|
||||||
|
pointless disk traffic for GNOME dynamic workspaces [Florian; #671568]
|
||||||
|
* Add ::grab-op-begin, ::grab-op-end signals to MetaDisplay [Jasper; #670658]
|
||||||
|
* Add meta_display_get_ignored_modifier_mask() [Florian; #665215]
|
||||||
|
* Remove pointless wrapper methods on MetaPlugin [Jasper; #671103]
|
||||||
|
* Fix frame drawing with 3.3.x GTK+ releases [Florian; #671796]
|
||||||
|
* Build fixes [Jasper, Rico, Rui]
|
||||||
|
* Misc bug fixes [Damien, Jasper, Lionel, Marius, Owen, Rui;
|
||||||
|
#661256, #667437, #671601, #671087, #672374]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Stefano Facchini, Adel Gadllah, Lionel Landwerlin, Mariusz Libera,
|
||||||
|
Rui Matos, Florian Müllner, Jasper St. Pierre, Damien Radtke, Owen Taylor,
|
||||||
|
Rico Tzschichholz
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Nilamdyuti Goswami [as], Ihar Hrachyshka [be], Alexander Shopov [bg],
|
||||||
|
David Planella [ca], Carles Ferrando [ca@valencia], Kenneth Nielsen [dk],
|
||||||
|
Bruce Cowan [en_GB], Daniel Mustieles [es], Mattias Põldaru [et],
|
||||||
|
Inaki Larranaga Murgoitio [eu], Timo Jyrinki [fi], Fran Diéguez [gl],
|
||||||
|
Gabor Kelemen [hu], Changwoo Ryu [ko], Anita Reitere [lv],
|
||||||
|
Kjartan Maraas [nb], Wouter Bolsterlee [nl], A S Alam [pa], Piotr Drąg [pl],
|
||||||
|
Duarte Loreto [pt], Yuri Myasoedov [ru], Daniel Nylander [se],
|
||||||
|
Matej Urbančič [sl], Miroslav Nikolić [sr], Tirumurti Vasudevan [ta],
|
||||||
|
Sasi Bhushan [te], Daniel Korostil [uk], Nguyễn Thái Ngọc Duy [vi],
|
||||||
|
YunQiang Su [zh_CN], Chao-Hsiung Liao [zh_HK, zh_TW]
|
||||||
|
|
||||||
|
3.3.90
|
||||||
|
======
|
||||||
|
* Update for Cogl API changes [Robert]
|
||||||
|
* Bug fixes [Adel, Jasper; #659643]
|
||||||
|
* Build fixes [Jasper, Owen]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Robert Bragg, Adel Gadllah, Jasper St. Pierre, Owen Taylor
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Ask H. Larsen [dk], Miroslav Nikolić [sr]
|
||||||
|
|
||||||
3.3.5
|
3.3.5
|
||||||
=====
|
=====
|
||||||
* MetaShapedTexture no longer is a ClutterTexture subclass [Jasper; #660941]
|
* MetaShapedTexture no longer is a ClutterTexture subclass [Jasper; #660941]
|
||||||
|
|||||||
118
configure.in
118
configure.in
@@ -1,8 +1,8 @@
|
|||||||
AC_PREREQ(2.50)
|
AC_PREREQ(2.50)
|
||||||
|
|
||||||
m4_define([mutter_major_version], [3])
|
m4_define([mutter_major_version], [3])
|
||||||
m4_define([mutter_minor_version], [3])
|
m4_define([mutter_minor_version], [5])
|
||||||
m4_define([mutter_micro_version], [5])
|
m4_define([mutter_micro_version], [4])
|
||||||
|
|
||||||
m4_define([mutter_version],
|
m4_define([mutter_version],
|
||||||
[mutter_major_version.mutter_minor_version.mutter_micro_version])
|
[mutter_major_version.mutter_minor_version.mutter_micro_version])
|
||||||
@@ -61,12 +61,21 @@ AC_CHECK_SIZEOF(__int64)
|
|||||||
## byte order
|
## byte order
|
||||||
AC_C_BIGENDIAN
|
AC_C_BIGENDIAN
|
||||||
|
|
||||||
GTK_MIN_VERSION=3.3.7
|
|
||||||
GIO_MIN_VERSION=2.25.10
|
|
||||||
CANBERRA_GTK=libcanberra-gtk3
|
CANBERRA_GTK=libcanberra-gtk3
|
||||||
CANBERRA_GTK_VERSION=0.26
|
CANBERRA_GTK_VERSION=0.26
|
||||||
|
|
||||||
MUTTER_PC_MODULES="gtk+-3.0 >= $GTK_MIN_VERSION gio-2.0 >= $GIO_MIN_VERSION pango >= 1.2.0 cairo >= 1.10.0 gsettings-desktop-schemas >= 3.3.0"
|
CLUTTER_PACKAGE=clutter-1.0
|
||||||
|
|
||||||
|
MUTTER_PC_MODULES="
|
||||||
|
gtk+-3.0 >= 3.3.7
|
||||||
|
gio-2.0 >= 2.25.10
|
||||||
|
pango >= 1.2.0
|
||||||
|
cairo >= 1.10.0
|
||||||
|
gsettings-desktop-schemas >= 3.3.0
|
||||||
|
xcomposite >= 0.2 xfixes xrender xdamage
|
||||||
|
$CLUTTER_PACKAGE >= 1.9.10
|
||||||
|
cogl-1.0 >= 1.9.6
|
||||||
|
"
|
||||||
|
|
||||||
GLIB_GSETTINGS
|
GLIB_GSETTINGS
|
||||||
|
|
||||||
@@ -104,17 +113,14 @@ AC_ARG_ENABLE(shape,
|
|||||||
[disable mutter's use of the shaped window extension]),,
|
[disable mutter's use of the shaped window extension]),,
|
||||||
enable_shape=auto)
|
enable_shape=auto)
|
||||||
|
|
||||||
## try definining HAVE_BACKTRACE
|
|
||||||
AC_CHECK_HEADERS(execinfo.h, [AC_CHECK_FUNCS(backtrace)])
|
|
||||||
|
|
||||||
AM_GLIB_GNU_GETTEXT
|
AM_GLIB_GNU_GETTEXT
|
||||||
|
|
||||||
## here we get the flags we'll actually use
|
## here we get the flags we'll actually use
|
||||||
# GRegex requires Glib-2.14.0
|
# GRegex requires Glib-2.14.0
|
||||||
PKG_CHECK_MODULES(ALL, glib-2.0 >= 2.14.0)
|
PKG_CHECK_MODULES(ALL, glib-2.0 >= 2.14.0)
|
||||||
# gtk_window_set_icon_name requires gtk2+-2.6.0
|
# gtk_window_set_icon_name requires gtk2+-2.6.0
|
||||||
PKG_CHECK_MODULES(MUTTER_MESSAGE, gtk+-3.0 >= $GTK_MIN_VERSION)
|
PKG_CHECK_MODULES(MUTTER_MESSAGE, gtk+-3.0)
|
||||||
PKG_CHECK_MODULES(MUTTER_WINDOW_DEMO, gtk+-3.0 >= $GTK_MIN_VERSION)
|
PKG_CHECK_MODULES(MUTTER_WINDOW_DEMO, gtk+-3.0)
|
||||||
|
|
||||||
# Unconditionally use this dir to avoid a circular dep with gnomecc
|
# Unconditionally use this dir to avoid a circular dep with gnomecc
|
||||||
GNOME_KEYBINDINGS_KEYSDIR="${datadir}/gnome-control-center/keybindings"
|
GNOME_KEYBINDINGS_KEYSDIR="${datadir}/gnome-control-center/keybindings"
|
||||||
@@ -164,31 +170,6 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
XCOMPOSITE_VERSION=0.2
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([Xcomposite >= $XCOMPOSITE_VERSION])
|
|
||||||
if $PKG_CONFIG --atleast-version $XCOMPOSITE_VERSION xcomposite; then
|
|
||||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES xcomposite >= $XCOMPOSITE_VERSION xfixes xrender xdamage"
|
|
||||||
AC_DEFINE(HAVE_COMPOSITE_EXTENSIONS, 1, [Building with compositing manager support])
|
|
||||||
echo "Building with compositing manager"
|
|
||||||
|
|
||||||
## force on render also
|
|
||||||
have_xrender=yes
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR([no. Mutter requires the Xcomposite extension to build.])
|
|
||||||
fi
|
|
||||||
|
|
||||||
CLUTTER_VERSION=1.7.5
|
|
||||||
CLUTTER_PACKAGE=clutter-1.0
|
|
||||||
AC_SUBST(CLUTTER_PACKAGE)
|
|
||||||
if $PKG_CONFIG --atleast-version $CLUTTER_VERSION $CLUTTER_PACKAGE ; then
|
|
||||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES $CLUTTER_PACKAGE "
|
|
||||||
PKG_CHECK_MODULES(CLUTTER, $CLUTTER_PACKAGE)
|
|
||||||
AC_DEFINE(WITH_CLUTTER, , [Building with Clutter compositor])
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR([no. Mutter requires Clutter version $CLUTTER_VERSION.])
|
|
||||||
fi
|
|
||||||
|
|
||||||
INTROSPECTION_VERSION=0.9.5
|
INTROSPECTION_VERSION=0.9.5
|
||||||
GOBJECT_INTROSPECTION_CHECK([$INTROSPECTION_VERSION])
|
GOBJECT_INTROSPECTION_CHECK([$INTROSPECTION_VERSION])
|
||||||
|
|
||||||
@@ -220,64 +201,39 @@ fi
|
|||||||
|
|
||||||
PKG_CHECK_MODULES(MUTTER, $MUTTER_PC_MODULES)
|
PKG_CHECK_MODULES(MUTTER, $MUTTER_PC_MODULES)
|
||||||
|
|
||||||
|
# This is used for plugins
|
||||||
|
AC_SUBST(CLUTTER_PACKAGE)
|
||||||
|
PKG_CHECK_MODULES(CLUTTER, $CLUTTER_PACKAGE)
|
||||||
|
|
||||||
AC_PATH_XTRA
|
AC_PATH_XTRA
|
||||||
|
|
||||||
ALL_X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
|
ALL_X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
|
||||||
|
|
||||||
# Check for Xinerama extension (Solaris impl or Xfree impl)
|
# Check for Xinerama extension - we only support the "XFree86" style,
|
||||||
|
# and not the older Solaris-only version; recent Solaris supports the
|
||||||
|
# XFree86 style.
|
||||||
mutter_save_cppflags="$CPPFLAGS"
|
mutter_save_cppflags="$CPPFLAGS"
|
||||||
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
||||||
|
|
||||||
AC_ARG_ENABLE(xinerama,
|
have_xinerama=yes
|
||||||
AC_HELP_STRING([--disable-xinerama],
|
|
||||||
[disable mutter's use of the Xinerama extension]),
|
|
||||||
try_xinerama=$enable_xinerama,try_xinerama=yes)
|
|
||||||
|
|
||||||
use_solaris_xinerama=no
|
|
||||||
use_xfree_xinerama=no
|
|
||||||
if test "${try_xinerama}" != no; then
|
|
||||||
case "$host" in
|
|
||||||
*-*-solaris*)
|
|
||||||
# Check for solaris
|
|
||||||
use_solaris_xinerama=yes
|
|
||||||
AC_CHECK_LIB(Xext, XineramaGetInfo,
|
|
||||||
use_solaris_xinerama=yes, use_solaris_xinerama=no,
|
|
||||||
$ALL_X_LIBS)
|
|
||||||
if test "x$use_solaris_xinerama" = "xyes"; then
|
|
||||||
AC_CHECK_HEADER(X11/extensions/xinerama.h,
|
|
||||||
if test -z "`echo $ALL_X_LIBS | grep "\-lXext" 2> /dev/null`"; then
|
|
||||||
X_EXTRA_LIBS="-lXext $X_EXTRA_LIBS"
|
|
||||||
fi
|
|
||||||
AC_DEFINE(HAVE_SOLARIS_XINERAMA, , [Have Solaris-style Xinerama])
|
|
||||||
AC_DEFINE(HAVE_XINERAMA, , [Have some version of Xinerama]),
|
|
||||||
use_solaris_xinerama=no,
|
|
||||||
[#include <X11/Xlib.h>])
|
|
||||||
fi
|
|
||||||
AC_MSG_CHECKING(for Xinerama support on Solaris)
|
|
||||||
AC_MSG_RESULT($use_solaris_xinerama);
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
# Check for XFree
|
|
||||||
use_xfree_xinerama=yes
|
|
||||||
AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
|
AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
|
||||||
[AC_CHECK_HEADER(X11/extensions/Xinerama.h,
|
[AC_CHECK_HEADER(X11/extensions/Xinerama.h,
|
||||||
X_EXTRA_LIBS="-lXinerama $X_EXTRA_LIBS"
|
[X_EXTRA_LIBS="-lXinerama $X_EXTRA_LIBS"
|
||||||
if test -z "`echo $ALL_X_LIBS | grep "\-lXext" 2> /dev/null`"; then
|
if test -z "`echo $ALL_X_LIBS | grep "\-lXext" 2> /dev/null`"; then
|
||||||
X_EXTRA_LIBS="-lXext $X_EXTRA_LIBS"
|
X_EXTRA_LIBS="-lXext $X_EXTRA_LIBS"
|
||||||
fi
|
fi],
|
||||||
AC_DEFINE(HAVE_XFREE_XINERAMA, , [Have XFree86-style Xinerama])
|
have_xinerama=no,
|
||||||
AC_DEFINE(HAVE_XINERAMA,, [Have some version of Xinerama]),
|
|
||||||
use_xfree_xinerama=no,
|
|
||||||
[#include <X11/Xlib.h>])],
|
[#include <X11/Xlib.h>])],
|
||||||
use_xfree_xinerama=no, -lXext $ALL_X_LIBS)
|
have_xinerama=no, -lXext $ALL_X_LIBS)
|
||||||
AC_MSG_CHECKING(for Xinerama support on XFree86)
|
AC_MSG_CHECKING(for Xinerama support)
|
||||||
AC_MSG_RESULT($use_xfree_xinerama);
|
AC_MSG_RESULT($have_xinerama)
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
CPPFLAGS="$mutter_save_cppflags"
|
CPPFLAGS="$mutter_save_cppflags"
|
||||||
|
|
||||||
|
if test x$have_xinerama = xno; then
|
||||||
|
AC_MSG_ERROR([Xinerama extension was not found])
|
||||||
|
fi
|
||||||
|
|
||||||
SHAPE_LIBS=
|
SHAPE_LIBS=
|
||||||
found_shape=no
|
found_shape=no
|
||||||
AC_CHECK_LIB(Xext, XShapeQueryExtension,
|
AC_CHECK_LIB(Xext, XShapeQueryExtension,
|
||||||
@@ -508,8 +464,6 @@ mutter-$VERSION
|
|||||||
source code location: ${srcdir}
|
source code location: ${srcdir}
|
||||||
compiler: ${CC}
|
compiler: ${CC}
|
||||||
|
|
||||||
XFree86 Xinerama: ${use_xfree_xinerama}
|
|
||||||
Solaris Xinerama: ${use_solaris_xinerama}
|
|
||||||
Startup notification: ${have_startup_notification}
|
Startup notification: ${have_startup_notification}
|
||||||
libcanberra: ${have_libcanberra}
|
libcanberra: ${have_libcanberra}
|
||||||
Introspection: ${found_introspection}
|
Introspection: ${found_introspection}
|
||||||
@@ -524,8 +478,8 @@ MUTTER_MINOR_VERSION=mutter_minor_version
|
|||||||
if expr $MUTTER_MINOR_VERSION % 2 > /dev/null ; then
|
if expr $MUTTER_MINOR_VERSION % 2 > /dev/null ; then
|
||||||
stable_version=`expr $MUTTER_MINOR_VERSION - 1`
|
stable_version=`expr $MUTTER_MINOR_VERSION - 1`
|
||||||
echo "This is the UNSTABLE branch of mutter"
|
echo "This is the UNSTABLE branch of mutter"
|
||||||
echo -n "Use 2.$stable_version.x for stable "
|
echo -n "Use 3.$stable_version.x for stable "
|
||||||
echo "(gnome-2-$stable_version branch in git)"
|
echo "(gnome-3-$stable_version branch in git)"
|
||||||
else
|
else
|
||||||
echo "This is the stable branch of mutter"
|
echo "This is the stable branch of mutter"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -31,8 +31,7 @@ workspaces. In these cases, there needs to be a rule consistent with
|
|||||||
the above about the new window to choose.
|
the above about the new window to choose.
|
||||||
|
|
||||||
Focus method Behavior
|
Focus method Behavior
|
||||||
click Focus the most recently used window (same as the window
|
click Focus the window on top
|
||||||
on top)
|
|
||||||
sloppy Focus the window containing the pointer if there is such
|
sloppy Focus the window containing the pointer if there is such
|
||||||
a window, otherwise focus the most recently used window.
|
a window, otherwise focus the most recently used window.
|
||||||
mouse Focus the non-DESKTOP window containing the pointer if
|
mouse Focus the non-DESKTOP window containing the pointer if
|
||||||
|
|||||||
1148
po/ca@valencia.po
1148
po/ca@valencia.po
File diff suppressed because it is too large
Load Diff
1050
po/en_GB.po
1050
po/en_GB.po
File diff suppressed because it is too large
Load Diff
478
po/es.po
478
po/es.po
@@ -7,35 +7,35 @@
|
|||||||
# Pablo Gonzalo del Campo <pablodc@bigfoot.com>,2002,2003.
|
# Pablo Gonzalo del Campo <pablodc@bigfoot.com>,2002,2003.
|
||||||
# Francisco Javier F. Serrador <serrador@cvs.gnome.org>, 2004, 2005, 2006.
|
# Francisco Javier F. Serrador <serrador@cvs.gnome.org>, 2004, 2005, 2006.
|
||||||
# Jorge González <jorgegonz@svn.gnome.org>, 2007, 2008, 2009, 2010, 2011.
|
# Jorge González <jorgegonz@svn.gnome.org>, 2007, 2008, 2009, 2010, 2011.
|
||||||
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011.
|
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011, 2012.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: mutter.master\n"
|
"Project-Id-Version: mutter.master\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
||||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||||
"POT-Creation-Date: 2011-12-13 13:41+0000\n"
|
"POT-Creation-Date: 2012-07-15 00:47+0000\n"
|
||||||
"PO-Revision-Date: 2011-12-16 14:14+0100\n"
|
"PO-Revision-Date: 2012-07-16 16:08+0200\n"
|
||||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||||
"Language-Team: Español <gnome-es-list@gnome.org>\n"
|
"Language-Team: Español <gnome-es-list@gnome.org>\n"
|
||||||
|
"Language: \n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
|
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:1
|
#: ../src/50-mutter-windows.xml.in.h:1
|
||||||
|
msgid "Windows"
|
||||||
|
msgstr "Ventanas"
|
||||||
|
|
||||||
|
#: ../src/50-mutter-windows.xml.in.h:2
|
||||||
msgid "View split on left"
|
msgid "View split on left"
|
||||||
msgstr "Ver división a la izquierda"
|
msgstr "Ver división a la izquierda"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:2
|
#: ../src/50-mutter-windows.xml.in.h:3
|
||||||
msgid "View split on right"
|
msgid "View split on right"
|
||||||
msgstr "Ver división a la derecha"
|
msgstr "Ver división a la derecha"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:3
|
|
||||||
#| msgid "_Windows"
|
|
||||||
msgid "Windows"
|
|
||||||
msgstr "Ventanas"
|
|
||||||
|
|
||||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||||
#. * we have no way to get it to exit
|
#. * we have no way to get it to exit
|
||||||
#: ../src/compositor/compositor.c:492
|
#: ../src/compositor/compositor.c:492
|
||||||
@@ -47,7 +47,7 @@ msgstr ""
|
|||||||
"Ya existe un gestor de composición ejecutándose en la monitor %i, pantalla «%"
|
"Ya existe un gestor de composición ejecutándose en la monitor %i, pantalla «%"
|
||||||
"s»."
|
"s»."
|
||||||
|
|
||||||
#: ../src/core/bell.c:307
|
#: ../src/core/bell.c:320
|
||||||
msgid "Bell event"
|
msgid "Bell event"
|
||||||
msgstr "Evento de campana"
|
msgstr "Evento de campana"
|
||||||
|
|
||||||
@@ -56,16 +56,17 @@ msgstr "Evento de campana"
|
|||||||
msgid "Unknown window information request: %d"
|
msgid "Unknown window information request: %d"
|
||||||
msgstr "Petición de información de ventana desconocida: %d"
|
msgstr "Petición de información de ventana desconocida: %d"
|
||||||
|
|
||||||
#: ../src/core/delete.c:111
|
|
||||||
#, c-format
|
|
||||||
msgid "<tt>%s</tt> is not responding."
|
|
||||||
msgstr "<tt>%s</tt> no está respondiendo."
|
|
||||||
|
|
||||||
#: ../src/core/delete.c:114
|
#: ../src/core/delete.c:114
|
||||||
|
#, c-format
|
||||||
|
#| msgid "<tt>%s</tt> is not responding."
|
||||||
|
msgid "%s is not responding."
|
||||||
|
msgstr "%s no está respondiendo."
|
||||||
|
|
||||||
|
#: ../src/core/delete.c:118
|
||||||
msgid "Application is not responding."
|
msgid "Application is not responding."
|
||||||
msgstr "La aplicación no está respondiendo."
|
msgstr "La aplicación no está respondiendo."
|
||||||
|
|
||||||
#: ../src/core/delete.c:119
|
#: ../src/core/delete.c:123
|
||||||
msgid ""
|
msgid ""
|
||||||
"You may choose to wait a short while for it to continue or force the "
|
"You may choose to wait a short while for it to continue or force the "
|
||||||
"application to quit entirely."
|
"application to quit entirely."
|
||||||
@@ -73,25 +74,25 @@ msgstr ""
|
|||||||
"Puede elegir esperar un rato para ver si continua o forzar la aplicación "
|
"Puede elegir esperar un rato para ver si continua o forzar la aplicación "
|
||||||
"para cerrarla completamente."
|
"para cerrarla completamente."
|
||||||
|
|
||||||
#: ../src/core/delete.c:126
|
#: ../src/core/delete.c:130
|
||||||
msgid "_Wait"
|
msgid "_Wait"
|
||||||
msgstr "_Esperar"
|
msgstr "_Esperar"
|
||||||
|
|
||||||
#: ../src/core/delete.c:126
|
#: ../src/core/delete.c:130
|
||||||
msgid "_Force Quit"
|
msgid "_Force Quit"
|
||||||
msgstr "_Forzar la salida"
|
msgstr "_Forzar la salida"
|
||||||
|
|
||||||
#: ../src/core/display.c:365
|
#: ../src/core/display.c:380
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Missing %s extension required for compositing"
|
msgid "Missing %s extension required for compositing"
|
||||||
msgstr "Falta la extensión %s requerida para la composición"
|
msgstr "Falta la extensión %s requerida para la composición"
|
||||||
|
|
||||||
#: ../src/core/display.c:431
|
#: ../src/core/display.c:446
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to open X Window System display '%s'\n"
|
msgid "Failed to open X Window System display '%s'\n"
|
||||||
msgstr "Ocurrió un error al abrir la pantalla de X Window System «%s»\n"
|
msgstr "Ocurrió un error al abrir la pantalla de X Window System «%s»\n"
|
||||||
|
|
||||||
#: ../src/core/keybindings.c:852
|
#: ../src/core/keybindings.c:844
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Some other program is already using the key %s with modifiers %x as a "
|
"Some other program is already using the key %s with modifiers %x as a "
|
||||||
@@ -100,36 +101,36 @@ msgstr ""
|
|||||||
"Algún otro programa ya está usando la clave %s con el modificador %x como "
|
"Algún otro programa ya está usando la clave %s con el modificador %x como "
|
||||||
"una vinculación\n"
|
"una vinculación\n"
|
||||||
|
|
||||||
#: ../src/core/main.c:206
|
#: ../src/core/main.c:196
|
||||||
msgid "Disable connection to session manager"
|
msgid "Disable connection to session manager"
|
||||||
msgstr "Desactivar conexión al gestor de sesión"
|
msgstr "Desactivar conexión al gestor de sesión"
|
||||||
|
|
||||||
#: ../src/core/main.c:212
|
#: ../src/core/main.c:202
|
||||||
msgid "Replace the running window manager"
|
msgid "Replace the running window manager"
|
||||||
msgstr "Reemplazar el gestor de ventanas en ejecución"
|
msgstr "Reemplazar el gestor de ventanas en ejecución"
|
||||||
|
|
||||||
#: ../src/core/main.c:218
|
#: ../src/core/main.c:208
|
||||||
msgid "Specify session management ID"
|
msgid "Specify session management ID"
|
||||||
msgstr "Especificar el ID se gestión de sesión"
|
msgstr "Especificar el ID se gestión de sesión"
|
||||||
|
|
||||||
#: ../src/core/main.c:223
|
#: ../src/core/main.c:213
|
||||||
msgid "X Display to use"
|
msgid "X Display to use"
|
||||||
msgstr "Pantalla X que usar"
|
msgstr "Pantalla X que usar"
|
||||||
|
|
||||||
#: ../src/core/main.c:229
|
#: ../src/core/main.c:219
|
||||||
msgid "Initialize session from savefile"
|
msgid "Initialize session from savefile"
|
||||||
msgstr "Inicializar sesión desde el archivo de salvaguarda"
|
msgstr "Inicializar sesión desde el archivo de salvaguarda"
|
||||||
|
|
||||||
#: ../src/core/main.c:235
|
#: ../src/core/main.c:225
|
||||||
msgid "Make X calls synchronous"
|
msgid "Make X calls synchronous"
|
||||||
msgstr "Hacer que las llamadas a las X sean síncronas"
|
msgstr "Hacer que las llamadas a las X sean síncronas"
|
||||||
|
|
||||||
#: ../src/core/main.c:504
|
#: ../src/core/main.c:494
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to scan themes directory: %s\n"
|
msgid "Failed to scan themes directory: %s\n"
|
||||||
msgstr "Falló al inspeccionar la carpeta de temas: %s\n"
|
msgstr "Falló al inspeccionar la carpeta de temas: %s\n"
|
||||||
|
|
||||||
#: ../src/core/main.c:520
|
#: ../src/core/main.c:510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||||
@@ -137,7 +138,7 @@ msgstr ""
|
|||||||
"No se ha podido encontrar un tema. Asegúrese de que %s existe y contiene los "
|
"No se ha podido encontrar un tema. Asegúrese de que %s existe y contiene los "
|
||||||
"temas usuales.\n"
|
"temas usuales.\n"
|
||||||
|
|
||||||
#: ../src/core/mutter.c:42
|
#: ../src/core/mutter.c:40
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"mutter %s\n"
|
"mutter %s\n"
|
||||||
@@ -152,15 +153,15 @@ msgstr ""
|
|||||||
"condiciones de copia. NO se proporciona ninguna garantía; ni de\n"
|
"condiciones de copia. NO se proporciona ninguna garantía; ni de\n"
|
||||||
"MERCANTILIDAD O DE IDONEIDAD PARA UN PROPÓSITO PARTICULAR.\n"
|
"MERCANTILIDAD O DE IDONEIDAD PARA UN PROPÓSITO PARTICULAR.\n"
|
||||||
|
|
||||||
#: ../src/core/mutter.c:56
|
#: ../src/core/mutter.c:54
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Imprimir versión"
|
msgstr "Imprimir versión"
|
||||||
|
|
||||||
#: ../src/core/mutter.c:62
|
#: ../src/core/mutter.c:60
|
||||||
msgid "Comma-separated list of compositor plugins"
|
msgid "Mutter plugin to use"
|
||||||
msgstr "Lista de complementos del compositor separados por comas"
|
msgstr "Complemento de mutter que usar"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1067
|
#: ../src/core/prefs.c:1065
|
||||||
msgid ""
|
msgid ""
|
||||||
"Workarounds for broken applications disabled. Some applications may not "
|
"Workarounds for broken applications disabled. Some applications may not "
|
||||||
"behave properly.\n"
|
"behave properly.\n"
|
||||||
@@ -168,14 +169,14 @@ msgstr ""
|
|||||||
"Los arreglos para aplicaciones rotas se han deshabilitado. Algunas "
|
"Los arreglos para aplicaciones rotas se han deshabilitado. Algunas "
|
||||||
"aplicaciones podrían no comportarse correctamente.\n"
|
"aplicaciones podrían no comportarse correctamente.\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1142
|
#: ../src/core/prefs.c:1140
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse font description \"%s\" from GSettings key %s\n"
|
msgid "Could not parse font description \"%s\" from GSettings key %s\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"No se pudo analizar la descripción de la tipografía «%s» de la clave "
|
"No se pudo analizar la descripción de la tipografía «%s» de la clave "
|
||||||
"GSettings %s\n"
|
"GSettings %s\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1208
|
#: ../src/core/prefs.c:1206
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||||
@@ -184,7 +185,7 @@ msgstr ""
|
|||||||
"«%s» encontrado en la base de datos de configuración no es un valor válido "
|
"«%s» encontrado en la base de datos de configuración no es un valor válido "
|
||||||
"para el modificador del botón del ratón\n"
|
"para el modificador del botón del ratón\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1720
|
#: ../src/core/prefs.c:1724
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||||
@@ -193,17 +194,17 @@ msgstr ""
|
|||||||
"«%s» encontrado en la base de datos de configuración no es un valor válido "
|
"«%s» encontrado en la base de datos de configuración no es un valor válido "
|
||||||
"para la combinación de teclas «%s»\n"
|
"para la combinación de teclas «%s»\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1817
|
#: ../src/core/prefs.c:1821
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "Área de trabajo %d"
|
msgstr "Área de trabajo %d"
|
||||||
|
|
||||||
#: ../src/core/screen.c:741
|
#: ../src/core/screen.c:652
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display '%s' is invalid\n"
|
msgid "Screen %d on display '%s' is invalid\n"
|
||||||
msgstr "La ventana %d en la pantalla «%s» no es válida\n"
|
msgstr "La ventana %d en la pantalla «%s» no es válida\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:757
|
#: ../src/core/screen.c:668
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||||
@@ -212,7 +213,7 @@ msgstr ""
|
|||||||
"La ventana %d en la pantalla «%s» ya tiene un gestor de ventanas, intente "
|
"La ventana %d en la pantalla «%s» ya tiene un gestor de ventanas, intente "
|
||||||
"usar la opción «--replace» para reemplazar el gestor de ventanas activo.\n"
|
"usar la opción «--replace» para reemplazar el gestor de ventanas activo.\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:784
|
#: ../src/core/screen.c:695
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||||
@@ -220,12 +221,12 @@ msgstr ""
|
|||||||
"No se ha podido obtener la selección del gestor de ventanas en la ventana %d "
|
"No se ha podido obtener la selección del gestor de ventanas en la ventana %d "
|
||||||
"en la pantalla «%s»\n"
|
"en la pantalla «%s»\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:839
|
#: ../src/core/screen.c:750
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||||
msgstr "La ventana %d en la pantalla «%s» ya tiene un gestor de ventanas\n"
|
msgstr "La ventana %d en la pantalla «%s» ya tiene un gestor de ventanas\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:1024
|
#: ../src/core/screen.c:935
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not release screen %d on display \"%s\"\n"
|
msgid "Could not release screen %d on display \"%s\"\n"
|
||||||
msgstr "No se ha podido liberar el monitor %d en la pantalla «%s»\n"
|
msgstr "No se ha podido liberar el monitor %d en la pantalla «%s»\n"
|
||||||
@@ -286,45 +287,45 @@ msgstr ""
|
|||||||
"Estas ventanas no soportan «guardar la configuración actual» y tendrán que "
|
"Estas ventanas no soportan «guardar la configuración actual» y tendrán que "
|
||||||
"reiniciarse manualmente la próxima vez que inicie una sesión."
|
"reiniciarse manualmente la próxima vez que inicie una sesión."
|
||||||
|
|
||||||
#: ../src/core/util.c:111
|
#: ../src/core/util.c:80
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to open debug log: %s\n"
|
msgid "Failed to open debug log: %s\n"
|
||||||
msgstr "Ocurrió un error al abrir el registro de errores: %s\n"
|
msgstr "Ocurrió un error al abrir el registro de errores: %s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:121
|
#: ../src/core/util.c:90
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to fdopen() log file %s: %s\n"
|
msgid "Failed to fdopen() log file %s: %s\n"
|
||||||
msgstr "Ocurrió un error al hacer fdopen() en el archivo de registro %s: %s\n"
|
msgstr "Ocurrió un error al hacer fdopen() en el archivo de registro %s: %s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:127
|
#: ../src/core/util.c:96
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Opened log file %s\n"
|
msgid "Opened log file %s\n"
|
||||||
msgstr "Archivo de registro %s abierto\n"
|
msgstr "Archivo de registro %s abierto\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:146 ../src/tools/mutter-message.c:149
|
#: ../src/core/util.c:115 ../src/tools/mutter-message.c:149
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Mutter was compiled without support for verbose mode\n"
|
msgid "Mutter was compiled without support for verbose mode\n"
|
||||||
msgstr "Mutter fue compilado sin soporte para modo prolijo\n"
|
msgstr "Mutter fue compilado sin soporte para modo prolijo\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:290
|
#: ../src/core/util.c:259
|
||||||
msgid "Window manager: "
|
msgid "Window manager: "
|
||||||
msgstr "Administrador de ventanas: "
|
msgstr "Administrador de ventanas: "
|
||||||
|
|
||||||
# Diferenciar de eRRor en el gestor de ventanas, más abajo
|
# Diferenciar de eRRor en el gestor de ventanas, más abajo
|
||||||
#: ../src/core/util.c:438
|
#: ../src/core/util.c:407
|
||||||
msgid "Bug in window manager: "
|
msgid "Bug in window manager: "
|
||||||
msgstr "Error en el gestor de ventanas: "
|
msgstr "Error en el gestor de ventanas: "
|
||||||
|
|
||||||
#: ../src/core/util.c:471
|
#: ../src/core/util.c:438
|
||||||
msgid "Window manager warning: "
|
msgid "Window manager warning: "
|
||||||
msgstr "Advertencia del gestor de ventanas: "
|
msgstr "Advertencia del gestor de ventanas: "
|
||||||
|
|
||||||
#: ../src/core/util.c:499
|
#: ../src/core/util.c:466
|
||||||
msgid "Window manager error: "
|
msgid "Window manager error: "
|
||||||
msgstr "Error del gestor de ventanas: "
|
msgstr "Error del gestor de ventanas: "
|
||||||
|
|
||||||
#. first time through
|
#. first time through
|
||||||
#: ../src/core/window.c:7145
|
#: ../src/core/window.c:7237
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||||
@@ -340,7 +341,7 @@ msgstr ""
|
|||||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||||
#. * about these apps but make them work.
|
#. * about these apps but make them work.
|
||||||
#.
|
#.
|
||||||
#: ../src/core/window.c:7808
|
#: ../src/core/window.c:7902
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
|
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
|
||||||
@@ -350,23 +351,23 @@ msgstr ""
|
|||||||
"redimensionable, pero configuró el tamaño mínimo a %d x %d y el tamaño "
|
"redimensionable, pero configuró el tamaño mínimo a %d x %d y el tamaño "
|
||||||
"máximo a %d x %d ; esto no tiene mucho sentido.\n"
|
"máximo a %d x %d ; esto no tiene mucho sentido.\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:309
|
#: ../src/core/window-props.c:310
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Application set a bogus _NET_WM_PID %lu\n"
|
msgid "Application set a bogus _NET_WM_PID %lu\n"
|
||||||
msgstr "La aplicación establecio un _NET_WM_PID %lu erróneo\n"
|
msgstr "La aplicación establecio un _NET_WM_PID %lu erróneo\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:426
|
#: ../src/core/window-props.c:429
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s (on %s)"
|
msgid "%s (on %s)"
|
||||||
msgstr "%s (on %s)"
|
msgstr "%s (on %s)"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:1481
|
#: ../src/core/window-props.c:1484
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"WM_TRANSIENT_FOR inválido para la ventana 0x%lx especificada para %s.\n"
|
"WM_TRANSIENT_FOR no válido para la ventana 0x%lx especificada para %s.\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:1492
|
#: ../src/core/window-props.c:1495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
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"
|
msgstr "WM_TRANSIENT_FOR ventana 0x%lx para %s crearía un bucle.\n"
|
||||||
@@ -389,99 +390,26 @@ msgstr ""
|
|||||||
#: ../src/core/xprops.c:411
|
#: ../src/core/xprops.c:411
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Property %s on window 0x%lx contained invalid UTF-8\n"
|
msgid "Property %s on window 0x%lx contained invalid UTF-8\n"
|
||||||
msgstr "La propiedad %s en la ventana 0x%lx contiene UTF-8 inválido\n"
|
msgstr "La propiedad %s en la ventana 0x%lx contiene UTF-8 no válido\n"
|
||||||
|
|
||||||
#: ../src/core/xprops.c:494
|
#: ../src/core/xprops.c:494
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Property %s on window 0x%lx contained invalid UTF-8 for item %d in the list\n"
|
"Property %s on window 0x%lx contained invalid UTF-8 for item %d in the list\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"La propiedad %s en la ventana 0x%lx contiene UTF-8 inválido para el elemento "
|
"La propiedad %s en la ventana 0x%lx contiene UTF-8 no válido para el "
|
||||||
"%d de la lista\n"
|
"elemento %d de la lista\n"
|
||||||
|
|
||||||
#: ../src/mutter.desktop.in.h:1 ../src/mutter-wm.desktop.in.h:1
|
#: ../src/mutter.desktop.in.h:1 ../src/mutter-wm.desktop.in.h:1
|
||||||
msgid "Mutter"
|
msgid "Mutter"
|
||||||
msgstr "Mutter"
|
msgstr "Mutter"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:1
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:1
|
||||||
msgid "Attach modal dialogs"
|
|
||||||
msgstr "Adjuntar diálogos modales"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:2
|
|
||||||
msgid "Cancel tab popup"
|
|
||||||
msgstr "Cancelar pestaña emergente"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:3
|
|
||||||
msgid ""
|
|
||||||
"Determines whether hidden windows (i.e., minimized windows and windows on "
|
|
||||||
"other workspaces than the current one) should be kept alive."
|
|
||||||
msgstr ""
|
|
||||||
"Determina si las ventanas ocultas (e.g., ventanas minimizadas y ventanas en "
|
|
||||||
"otros escritorios distintos del actual) deberían mantenerse activas."
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:4
|
|
||||||
msgid ""
|
|
||||||
"Determines whether the use of popup and highlight frame should be disabled "
|
|
||||||
"for window cycling."
|
|
||||||
msgstr ""
|
|
||||||
"Determina si el uso de ventanas emergentes y marcos resaltados se debe "
|
|
||||||
"desactivar al cambiar entre ventanas."
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:5
|
|
||||||
msgid ""
|
|
||||||
"Determines whether workspace switching should happen for windows on all "
|
|
||||||
"monitors or only for windows on the primary monitor."
|
|
||||||
msgstr ""
|
|
||||||
"Determina si el cambio entre áreas de trabajo debería suceder para las "
|
|
||||||
"ventanas en todos los monitores o sólo para ventanas en el monitor primario."
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:6
|
|
||||||
msgid "Draggable border width"
|
|
||||||
msgstr "Anchura arrastrable del borde"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:7
|
|
||||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
|
||||||
msgstr ""
|
|
||||||
"Activar el mosaico en los bordes al arrastrar ventanas a los bordes de la "
|
|
||||||
"ventana"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:8
|
|
||||||
msgid ""
|
|
||||||
"If enabled, dropping windows on vertical screen edges maximizes them "
|
|
||||||
"vertically and resizes them horizontally to cover half of the available "
|
|
||||||
"area. Dropping windows on the top screen edge maximizes them completely."
|
|
||||||
msgstr ""
|
|
||||||
"Si está activada, arrastrar ventanas a los bordes verticales de la pantalla "
|
|
||||||
"las maximiza verticalmente y las redimensiona horizontalmente para cubrir la "
|
|
||||||
"mitad del área disponible. Arrastrar ventanas al borde superior de la "
|
|
||||||
"pantalla las maximiza por completo."
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:9
|
|
||||||
msgid "Live Hidden Windows"
|
|
||||||
msgstr "Ventanas activas ocultas"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:10
|
|
||||||
msgid "Modifier to use for extended window management operations"
|
msgid "Modifier to use for extended window management operations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Modificador que usar para extender las operaciones de gestión sobre ventanas"
|
"Modificador que usar para extender las operaciones de gestión sobre ventanas"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:11
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:2
|
||||||
msgid "No tab popup"
|
|
||||||
msgstr "No hay pestaña emergente"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:12
|
|
||||||
msgid "Select window from tab popup"
|
|
||||||
msgstr "Seleccionar ventana de la pestaña emergente"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:13
|
|
||||||
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 cantidad total de borde arrastrable. Si los bordes visibles del tema no "
|
|
||||||
"son suficientes, se añadirán bordes invisibles para satisfacer este valor."
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:14
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"This key will initiate the \"overlay\", which is a combination window "
|
"This key will initiate the \"overlay\", which is a combination window "
|
||||||
"overview and application launching system. The default is intended to be the "
|
"overview and application launching system. The default is intended to be the "
|
||||||
@@ -494,7 +422,11 @@ msgstr ""
|
|||||||
"combinación de tecla sea la predeterminada o se establezca a una cadena "
|
"combinación de tecla sea la predeterminada o se establezca a una cadena "
|
||||||
"vacía."
|
"vacía."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:15
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:3
|
||||||
|
msgid "Attach modal dialogs"
|
||||||
|
msgstr "Adjuntar diálogos modales"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:4
|
||||||
msgid ""
|
msgid ""
|
||||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||||
"attached to the titlebar of the parent window and are moved together with "
|
"attached to the titlebar of the parent window and are moved together with "
|
||||||
@@ -504,59 +436,86 @@ msgstr ""
|
|||||||
"aparecen diálogos modales adjuntos a la barra de título de la ventana padre "
|
"aparecen diálogos modales adjuntos a la barra de título de la ventana padre "
|
||||||
"y se mueven junto con la ventana padre."
|
"y se mueven junto con la ventana padre."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:16
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:5
|
||||||
|
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
|
msgstr ""
|
||||||
|
"Activar el mosaico en los bordes al arrastrar ventanas a los bordes de la "
|
||||||
|
"ventana"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:6
|
||||||
|
msgid ""
|
||||||
|
"If enabled, dropping windows on vertical screen edges maximizes them "
|
||||||
|
"vertically and resizes them horizontally to cover half of the available "
|
||||||
|
"area. Dropping windows on the top screen edge maximizes them completely."
|
||||||
|
msgstr ""
|
||||||
|
"Si está activada, arrastrar ventanas a los bordes verticales de la pantalla "
|
||||||
|
"las maximiza verticalmente y las redimensiona horizontalmente para cubrir la "
|
||||||
|
"mitad del área disponible. Arrastrar ventanas al borde superior de la "
|
||||||
|
"pantalla las maximiza por completo."
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:7
|
||||||
|
msgid "Workspaces are managed dynamically"
|
||||||
|
msgstr "Las áreas de trabajo se gestionan dinámicamente"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:8
|
||||||
|
msgid ""
|
||||||
|
"Determines whether workspaces are managed dynamically or whether there's a "
|
||||||
|
"static number of workspaces (determined by the num-workspaces key in org."
|
||||||
|
"gnome.desktop.wm.preferences)."
|
||||||
|
msgstr ""
|
||||||
|
"Determina si las áreas de trabajo se gestionan dinámicamente o si ha un "
|
||||||
|
"número estático de áreas de trabajo (determinado por la clave «num-"
|
||||||
|
"workspaces» en «org.gnome.desktop.wm.preferences»)."
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:9
|
||||||
msgid "Workspaces only on primary"
|
msgid "Workspaces only on primary"
|
||||||
msgstr "Áreas de trabajo sólo en el primario"
|
msgstr "Áreas de trabajo sólo en el primario"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:10
|
||||||
|
msgid ""
|
||||||
|
"Determines whether workspace switching should happen for windows on all "
|
||||||
|
"monitors or only for windows on the primary monitor."
|
||||||
|
msgstr ""
|
||||||
|
"Determina si el cambio entre áreas de trabajo debería suceder para las "
|
||||||
|
"ventanas en todos los monitores o sólo para ventanas en el monitor primario."
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:11
|
||||||
|
msgid "No tab popup"
|
||||||
|
msgstr "No hay pestaña emergente"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:12
|
||||||
|
msgid ""
|
||||||
|
"Determines whether the use of popup and highlight frame should be disabled "
|
||||||
|
"for window cycling."
|
||||||
|
msgstr ""
|
||||||
|
"Determina si el uso de ventanas emergentes y marcos resaltados se debe "
|
||||||
|
"desactivar al cambiar entre ventanas."
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:13
|
||||||
|
msgid "Draggable border width"
|
||||||
|
msgstr "Anchura arrastrable del borde"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:14
|
||||||
|
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 cantidad total de borde arrastrable. Si los bordes visibles del tema no "
|
||||||
|
"son suficientes, se añadirán bordes invisibles para satisfacer este valor."
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:15
|
||||||
|
msgid "Select window from tab popup"
|
||||||
|
msgstr "Seleccionar ventana de la pestaña emergente"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:16
|
||||||
|
msgid "Cancel tab popup"
|
||||||
|
msgstr "Cancelar pestaña emergente"
|
||||||
|
|
||||||
#: ../src/tools/mutter-message.c:123
|
#: ../src/tools/mutter-message.c:123
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Usage: %s\n"
|
msgid "Usage: %s\n"
|
||||||
msgstr "Uso: %s\n"
|
msgstr "Uso: %s\n"
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1157
|
|
||||||
msgid "Close Window"
|
|
||||||
msgstr "Cerrar la ventana"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1160
|
|
||||||
msgid "Window Menu"
|
|
||||||
msgstr "Menú de la ventana"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1163
|
|
||||||
msgid "Minimize Window"
|
|
||||||
msgstr "Minimizar la ventana"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1166
|
|
||||||
msgid "Maximize Window"
|
|
||||||
msgstr "Maximizar la ventana"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1169
|
|
||||||
msgid "Restore Window"
|
|
||||||
msgstr "Restablecer la ventana"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1172
|
|
||||||
msgid "Roll Up Window"
|
|
||||||
msgstr "Enrollar ventana"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1175
|
|
||||||
msgid "Unroll Window"
|
|
||||||
msgstr "Desenrollar ventana"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1178
|
|
||||||
msgid "Keep Window On Top"
|
|
||||||
msgstr "Mantener la ventana encima"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1181
|
|
||||||
msgid "Remove Window From Top"
|
|
||||||
msgstr "Quitar ventana de encima"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1184
|
|
||||||
msgid "Always On Visible Workspace"
|
|
||||||
msgstr "Siempre en el área de trabajo visible"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1187
|
|
||||||
msgid "Put Window On Only One Workspace"
|
|
||||||
msgstr "Poner la ventana sólo en un área de trabajo"
|
|
||||||
|
|
||||||
#. Translators: Translate this string the same way as you do in libwnck!
|
#. Translators: Translate this string the same way as you do in libwnck!
|
||||||
#: ../src/ui/menu.c:69
|
#: ../src/ui/menu.c:69
|
||||||
msgid "Mi_nimize"
|
msgid "Mi_nimize"
|
||||||
@@ -756,49 +715,49 @@ msgstr "Mod5"
|
|||||||
msgid "%d x %d"
|
msgid "%d x %d"
|
||||||
msgstr "%d x %d"
|
msgstr "%d x %d"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:253
|
#: ../src/ui/theme.c:234
|
||||||
msgid "top"
|
msgid "top"
|
||||||
msgstr "superior"
|
msgstr "superior"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:255
|
#: ../src/ui/theme.c:236
|
||||||
msgid "bottom"
|
msgid "bottom"
|
||||||
msgstr "inferior"
|
msgstr "inferior"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:257
|
#: ../src/ui/theme.c:238
|
||||||
msgid "left"
|
msgid "left"
|
||||||
msgstr "izquierda"
|
msgstr "izquierda"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:259
|
#: ../src/ui/theme.c:240
|
||||||
msgid "right"
|
msgid "right"
|
||||||
msgstr "derecha"
|
msgstr "derecha"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:286
|
#: ../src/ui/theme.c:268
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "frame geometry does not specify \"%s\" dimension"
|
msgid "frame geometry does not specify \"%s\" dimension"
|
||||||
msgstr "La geometría del marco no especifica la dimensión «%s»"
|
msgstr "La geometría del marco no especifica la dimensión «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:305
|
#: ../src/ui/theme.c:287
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"La geometría del marco no especifica la dimensión «%s» para el borde «%s»"
|
"La geometría del marco no especifica la dimensión «%s» para el borde «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:342
|
#: ../src/ui/theme.c:324
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Button aspect ratio %g is not reasonable"
|
msgid "Button aspect ratio %g is not reasonable"
|
||||||
msgstr "La proporción del botón %g no es razonable"
|
msgstr "La proporción del botón %g no es razonable"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:354
|
#: ../src/ui/theme.c:336
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Frame geometry does not specify size of buttons"
|
msgid "Frame geometry does not specify size of buttons"
|
||||||
msgstr "La geometría del marco no especifica el tamaño de los botones"
|
msgstr "La geometría del marco no especifica el tamaño de los botones"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1067
|
#: ../src/ui/theme.c:1049
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Gradients should have at least two colors"
|
msgid "Gradients should have at least two colors"
|
||||||
msgstr "Los degradados deben tener al menos dos colores"
|
msgstr "Los degradados deben tener al menos dos colores"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1219
|
#: ../src/ui/theme.c:1201
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"GTK custom color specification must have color name and fallback in "
|
"GTK custom color specification must have color name and fallback in "
|
||||||
@@ -808,7 +767,7 @@ msgstr ""
|
|||||||
"alternativo entre paréntesis, ejemplo: gtk:custom(foo,bar); no se pudo "
|
"alternativo entre paréntesis, ejemplo: gtk:custom(foo,bar); no se pudo "
|
||||||
"analizar «%s»"
|
"analizar «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1235
|
#: ../src/ui/theme.c:1217
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||||
@@ -817,7 +776,7 @@ msgstr ""
|
|||||||
"Caracter «%c» no válido en el parámetro «color_name» de «gtk:custom», sólo «A-Za-"
|
"Caracter «%c» no válido en el parámetro «color_name» de «gtk:custom», sólo «A-Za-"
|
||||||
"z0-9-_» son válidos"
|
"z0-9-_» son válidos"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1249
|
#: ../src/ui/theme.c:1231
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||||
@@ -826,7 +785,7 @@ msgstr ""
|
|||||||
"El formato de «gtk:custom» es «gtk:custom(nombre_de_color,"
|
"El formato de «gtk:custom» es «gtk:custom(nombre_de_color,"
|
||||||
"nombre_alternativo)», «%s» no respeta el formato"
|
"nombre_alternativo)», «%s» no respeta el formato"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1294
|
#: ../src/ui/theme.c:1276
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||||
@@ -836,7 +795,7 @@ msgstr ""
|
|||||||
"ejemplo. gtk:fg[NORMAL] donde NORMAL es el estado ; no se ha podido "
|
"ejemplo. gtk:fg[NORMAL] donde NORMAL es el estado ; no se ha podido "
|
||||||
"interpretar «%s»"
|
"interpretar «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1308
|
#: ../src/ui/theme.c:1290
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||||
@@ -846,18 +805,18 @@ msgstr ""
|
|||||||
"estado, ejemplo. gtk:fg[NORMAL] donde NORMAL es el estado ; no se ha podido "
|
"estado, ejemplo. gtk:fg[NORMAL] donde NORMAL es el estado ; no se ha podido "
|
||||||
"interpretar «%s»"
|
"interpretar «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1319
|
#: ../src/ui/theme.c:1301
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Did not understand state \"%s\" in color specification"
|
msgid "Did not understand state \"%s\" in color specification"
|
||||||
msgstr "No se entiende el estado «%s» en la especificación del color"
|
msgstr "No se entiende el estado «%s» en la especificación del color"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1332
|
#: ../src/ui/theme.c:1314
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Did not understand color component \"%s\" in color specification"
|
msgid "Did not understand color component \"%s\" in color specification"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"No se entiende el componente de color «%s» en la especificación del color"
|
"No se entiende el componente de color «%s» en la especificación del color"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1361
|
#: ../src/ui/theme.c:1343
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||||
@@ -866,17 +825,17 @@ msgstr ""
|
|||||||
"El formato de blend es «blend/bg_color/fg_color/alfa», «%s» no cumple con el "
|
"El formato de blend es «blend/bg_color/fg_color/alfa», «%s» no cumple con el "
|
||||||
"formato"
|
"formato"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1372
|
#: ../src/ui/theme.c:1354
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||||
msgstr "No se ha podido interpretar el valor alfa «%s» en el color mezclado"
|
msgstr "No se ha podido interpretar el valor alfa «%s» en el color mezclado"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1382
|
#: ../src/ui/theme.c:1364
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||||
msgstr "El valor alfa «%s» en el color mezclado no está entre 0.0 y 1.0"
|
msgstr "El valor alfa «%s» en el color mezclado no está entre 0.0 y 1.0"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1429
|
#: ../src/ui/theme.c:1411
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||||
@@ -884,31 +843,31 @@ msgstr ""
|
|||||||
"El formato de sombreado es «shade/base_color/factor», «%s» no coincide con el "
|
"El formato de sombreado es «shade/base_color/factor», «%s» no coincide con el "
|
||||||
"formato"
|
"formato"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1440
|
#: ../src/ui/theme.c:1422
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"No se ha podido interpretar el factor de sombreado «%s» en el color del "
|
"No se ha podido interpretar el factor de sombreado «%s» en el color del "
|
||||||
"sombreado"
|
"sombreado"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1450
|
#: ../src/ui/theme.c:1432
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||||
msgstr "El factor de sombreado «%s» en el color sombreado es negativo"
|
msgstr "El factor de sombreado «%s» en el color sombreado es negativo"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1479
|
#: ../src/ui/theme.c:1461
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse color \"%s\""
|
msgid "Could not parse color \"%s\""
|
||||||
msgstr "No se ha podido interpretar el color «%s»"
|
msgstr "No se ha podido interpretar el color «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1790
|
#: ../src/ui/theme.c:1778
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"La expresión de coordenadas contenía un carácter «%s» en cual no está "
|
"La expresión de coordenadas contenía un carácter «%s» en cual no está "
|
||||||
"permitido"
|
"permitido"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1817
|
#: ../src/ui/theme.c:1805
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression contains floating point number '%s' which could not be "
|
"Coordinate expression contains floating point number '%s' which could not be "
|
||||||
@@ -917,32 +876,32 @@ msgstr ""
|
|||||||
"La expresión de coordenadas contenía un número de coma flotante «%s» en cual "
|
"La expresión de coordenadas contenía un número de coma flotante «%s» en cual "
|
||||||
"no pudo ser analizado"
|
"no pudo ser analizado"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1831
|
#: ../src/ui/theme.c:1819
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"La expresión de coordenadas contenía un entero «%s» que no pudo ser analizado"
|
"La expresión de coordenadas contenía un entero «%s» que no pudo ser analizado"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1953
|
#: ../src/ui/theme.c:1940
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression contained unknown operator at the start of this text: "
|
"Coordinate expression contained unknown operator at the start of this text: "
|
||||||
"\"%s\""
|
"\"%s\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"La expresión de coordenadas contenía un operador inválido al inicio de su "
|
"La expresión de coordenadas contenía un operador no válido al inicio de su "
|
||||||
"texto: «%s»"
|
"texto: «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2010
|
#: ../src/ui/theme.c:1997
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression was empty or not understood"
|
msgid "Coordinate expression was empty or not understood"
|
||||||
msgstr "La expresión de coordenadas estaba vacía o no fue entendida"
|
msgstr "La expresión de coordenadas estaba vacía o no fue entendida"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2121 ../src/ui/theme.c:2131 ../src/ui/theme.c:2165
|
#: ../src/ui/theme.c:2110 ../src/ui/theme.c:2120 ../src/ui/theme.c:2154
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression results in division by zero"
|
msgid "Coordinate expression results in division by zero"
|
||||||
msgstr "La expresión de coordenadas resultó en un error de división por cero"
|
msgstr "La expresión de coordenadas resultó en un error de división por cero"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2173
|
#: ../src/ui/theme.c:2162
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||||
@@ -950,7 +909,7 @@ msgstr ""
|
|||||||
"La expresión de coordenadas intentó usar un operador mod con un número de "
|
"La expresión de coordenadas intentó usar un operador mod con un número de "
|
||||||
"coma flotante"
|
"coma flotante"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2229
|
#: ../src/ui/theme.c:2218
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||||
@@ -958,19 +917,19 @@ msgstr ""
|
|||||||
"La expresión de coordenadas tiene un operador «%s» donde se esperaba un "
|
"La expresión de coordenadas tiene un operador «%s» donde se esperaba un "
|
||||||
"operando"
|
"operando"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2238
|
#: ../src/ui/theme.c:2227
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had an operand where an operator was expected"
|
msgid "Coordinate expression had an operand where an operator was expected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"La expresión de coordenadas tiene un operando donde se esperaba un operador"
|
"La expresión de coordenadas tiene un operando donde se esperaba un operador"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2246
|
#: ../src/ui/theme.c:2235
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"La expresión de coordenadas termina con una operador en vez de un operando"
|
"La expresión de coordenadas termina con una operador en vez de un operando"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2256
|
#: ../src/ui/theme.c:2245
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||||
@@ -979,42 +938,42 @@ msgstr ""
|
|||||||
"La expresión de coordenadas tiene el operador «%c» seguido del operador «%c» "
|
"La expresión de coordenadas tiene el operador «%c» seguido del operador «%c» "
|
||||||
"sin un operando entre ellos"
|
"sin un operando entre ellos"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2407 ../src/ui/theme.c:2452
|
#: ../src/ui/theme.c:2396 ../src/ui/theme.c:2441
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"La expresión de coordenadas tenía una variable o constante desconocida «%s»"
|
"La expresión de coordenadas tenía una variable o constante desconocida «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2506
|
#: ../src/ui/theme.c:2495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression parser overflowed its buffer."
|
msgid "Coordinate expression parser overflowed its buffer."
|
||||||
msgstr "El parser de la expresión de coordenadas desbordó su búfer."
|
msgstr "El parser de la expresión de coordenadas desbordó su búfer."
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2535
|
#: ../src/ui/theme.c:2524
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"La expresión de coordenadas tenía un paréntesis cerrado sin un paréntesis "
|
"La expresión de coordenadas tenía un paréntesis cerrado sin un paréntesis "
|
||||||
"abierto"
|
"abierto"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2599
|
#: ../src/ui/theme.c:2588
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"La expresión de coordenadas tenía un paréntesis abierto sin un paréntesis "
|
"La expresión de coordenadas tenía un paréntesis abierto sin un paréntesis "
|
||||||
"cerrado"
|
"cerrado"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2610
|
#: ../src/ui/theme.c:2599
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||||
msgstr "La expresión de coordenadas no parece tener ni operadores ni operandos"
|
msgstr "La expresión de coordenadas no parece tener ni operadores ni operandos"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2822 ../src/ui/theme.c:2842 ../src/ui/theme.c:2862
|
#: ../src/ui/theme.c:2812 ../src/ui/theme.c:2832 ../src/ui/theme.c:2852
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||||
msgstr "El tema contenía una expresión que ha resultado en un error: %s\n"
|
msgstr "El tema contenía una expresión que ha resultado en un error: %s\n"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:4533
|
#: ../src/ui/theme.c:4498
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||||
@@ -1023,25 +982,25 @@ msgstr ""
|
|||||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> debe ser "
|
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> debe ser "
|
||||||
"especificado para este estilo de marco"
|
"especificado para este estilo de marco"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5066 ../src/ui/theme.c:5091
|
#: ../src/ui/theme.c:5009 ../src/ui/theme.c:5034
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Falta <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
"Falta <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5139
|
#: ../src/ui/theme.c:5082
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to load theme \"%s\": %s\n"
|
msgid "Failed to load theme \"%s\": %s\n"
|
||||||
msgstr "Ocurrió un error al cargar el tema «%s»: %s\n"
|
msgstr "Ocurrió un error al cargar el tema «%s»: %s\n"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5275 ../src/ui/theme.c:5282 ../src/ui/theme.c:5289
|
#: ../src/ui/theme.c:5218 ../src/ui/theme.c:5225 ../src/ui/theme.c:5232
|
||||||
#: ../src/ui/theme.c:5296 ../src/ui/theme.c:5303
|
#: ../src/ui/theme.c:5239 ../src/ui/theme.c:5246
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "No <%s> set for theme \"%s\""
|
msgid "No <%s> set for theme \"%s\""
|
||||||
msgstr "No se configuró <%s> para el tema «%s»"
|
msgstr "No se configuró <%s> para el tema «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5311
|
#: ../src/ui/theme.c:5254
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||||
@@ -1050,7 +1009,7 @@ msgstr ""
|
|||||||
"No hay un estilo de marco para el tipo de ventana «%s» en el tema «%s», añada "
|
"No hay un estilo de marco para el tipo de ventana «%s» en el tema «%s», añada "
|
||||||
"un elemento <window type=\"%s\" style_set=\"whatever\"/>"
|
"un elemento <window type=\"%s\" style_set=\"whatever\"/>"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5709 ../src/ui/theme.c:5771 ../src/ui/theme.c:5834
|
#: ../src/ui/theme.c:5650 ../src/ui/theme.c:5712 ../src/ui/theme.c:5775
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||||
@@ -1058,7 +1017,7 @@ msgstr ""
|
|||||||
"Las constantes definidas por el usuario deben comenzar con una letra "
|
"Las constantes definidas por el usuario deben comenzar con una letra "
|
||||||
"mayúscula; «%s» no lo hace"
|
"mayúscula; «%s» no lo hace"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5717 ../src/ui/theme.c:5779 ../src/ui/theme.c:5842
|
#: ../src/ui/theme.c:5658 ../src/ui/theme.c:5720 ../src/ui/theme.c:5783
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Constant \"%s\" has already been defined"
|
msgid "Constant \"%s\" has already been defined"
|
||||||
msgstr "La constante «%s» ya ha sido definida"
|
msgstr "La constante «%s» ya ha sido definida"
|
||||||
@@ -1084,7 +1043,7 @@ msgstr "El atributo «%s» se ha repetido dos veces en el mismo elemento <%s>"
|
|||||||
#: ../src/ui/theme-parser.c:503 ../src/ui/theme-parser.c:552
|
#: ../src/ui/theme-parser.c:503 ../src/ui/theme-parser.c:552
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Attribute \"%s\" is invalid on <%s> element in this context"
|
msgid "Attribute \"%s\" is invalid on <%s> element in this context"
|
||||||
msgstr "El atributo «%s» es inválido en el elemento <%s> en este contexto"
|
msgstr "El atributo «%s» es no válido en el elemento <%s> en este contexto"
|
||||||
|
|
||||||
#: ../src/ui/theme-parser.c:594
|
#: ../src/ui/theme-parser.c:594
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -1134,8 +1093,8 @@ msgid ""
|
|||||||
"Invalid title scale \"%s\" (must be one of xx-small,x-small,small,medium,"
|
"Invalid title scale \"%s\" (must be one of xx-small,x-small,small,medium,"
|
||||||
"large,x-large,xx-large)\n"
|
"large,x-large,xx-large)\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Escala de título inválida «%s» (debe ser una de xx-small,x-small,small,medium,"
|
"Escala de título no válida «%s» (debe ser una de xx-small,x-small,small,"
|
||||||
"large,x-large,xx-large)\n"
|
"medium,large,x-large,xx-large)\n"
|
||||||
|
|
||||||
#: ../src/ui/theme-parser.c:1019 ../src/ui/theme-parser.c:1082
|
#: ../src/ui/theme-parser.c:1019 ../src/ui/theme-parser.c:1082
|
||||||
#: ../src/ui/theme-parser.c:1116 ../src/ui/theme-parser.c:1219
|
#: ../src/ui/theme-parser.c:1116 ../src/ui/theme-parser.c:1219
|
||||||
@@ -1449,7 +1408,7 @@ msgstr "No se permite texto dentro del elemento <%s>"
|
|||||||
msgid "<%s> specified twice for this theme"
|
msgid "<%s> specified twice for this theme"
|
||||||
msgstr "<%s> especificado dos veces para este tema"
|
msgstr "<%s> especificado dos veces para este tema"
|
||||||
|
|
||||||
#: ../src/ui/theme-parser.c:4348
|
#: ../src/ui/theme-parser.c:4334
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to find a valid file for theme %s\n"
|
msgid "Failed to find a valid file for theme %s\n"
|
||||||
msgstr "Falló al encontrar un archivo válido para el tema%s\n"
|
msgstr "Falló al encontrar un archivo válido para el tema%s\n"
|
||||||
@@ -1656,6 +1615,52 @@ msgstr ""
|
|||||||
"%d expresiones de coordenadas interpretadas en %g segundos (%g segundos de "
|
"%d expresiones de coordenadas interpretadas en %g segundos (%g segundos de "
|
||||||
"media)\n"
|
"media)\n"
|
||||||
|
|
||||||
|
#~ msgid "Comma-separated list of compositor plugins"
|
||||||
|
#~ msgstr "Lista de complementos del compositor separados por comas"
|
||||||
|
|
||||||
|
#~ msgid "Live Hidden Windows"
|
||||||
|
#~ msgstr "Ventanas activas ocultas"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Determines whether hidden windows (i.e., minimized windows and windows on "
|
||||||
|
#~ "other workspaces than the current one) should be kept alive."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Determina si las ventanas ocultas (e.g., ventanas minimizadas y ventanas "
|
||||||
|
#~ "en otros escritorios distintos del actual) deberían mantenerse activas."
|
||||||
|
|
||||||
|
#~ msgid "Close Window"
|
||||||
|
#~ msgstr "Cerrar la ventana"
|
||||||
|
|
||||||
|
#~ msgid "Window Menu"
|
||||||
|
#~ msgstr "Menú de la ventana"
|
||||||
|
|
||||||
|
#~ msgid "Minimize Window"
|
||||||
|
#~ msgstr "Minimizar la ventana"
|
||||||
|
|
||||||
|
#~ msgid "Maximize Window"
|
||||||
|
#~ msgstr "Maximizar la ventana"
|
||||||
|
|
||||||
|
#~ msgid "Restore Window"
|
||||||
|
#~ msgstr "Restablecer la ventana"
|
||||||
|
|
||||||
|
#~ msgid "Roll Up Window"
|
||||||
|
#~ msgstr "Enrollar ventana"
|
||||||
|
|
||||||
|
#~ msgid "Unroll Window"
|
||||||
|
#~ msgstr "Desenrollar ventana"
|
||||||
|
|
||||||
|
#~ msgid "Keep Window On Top"
|
||||||
|
#~ msgstr "Mantener la ventana encima"
|
||||||
|
|
||||||
|
#~ msgid "Remove Window From Top"
|
||||||
|
#~ msgstr "Quitar ventana de encima"
|
||||||
|
|
||||||
|
#~ msgid "Always On Visible Workspace"
|
||||||
|
#~ msgstr "Siempre en el área de trabajo visible"
|
||||||
|
|
||||||
|
#~ msgid "Put Window On Only One Workspace"
|
||||||
|
#~ msgstr "Poner la ventana sólo en un área de trabajo"
|
||||||
|
|
||||||
#~ msgid "Switch to workspace 1"
|
#~ msgid "Switch to workspace 1"
|
||||||
#~ msgstr "Cambiar al área de trabajo 1"
|
#~ msgstr "Cambiar al área de trabajo 1"
|
||||||
|
|
||||||
@@ -1970,9 +1975,6 @@ msgstr ""
|
|||||||
#~ msgid "Error setting clutter plugin list: %s\n"
|
#~ msgid "Error setting clutter plugin list: %s\n"
|
||||||
#~ msgstr "Error al establecer la lista de complementos de «Clutter»: %s\n"
|
#~ msgstr "Error al establecer la lista de complementos de «Clutter»: %s\n"
|
||||||
|
|
||||||
#~ msgid "Clutter Plugins"
|
|
||||||
#~ msgstr "Complementos de «Clutter»"
|
|
||||||
|
|
||||||
#~ msgid "Plugins to load for the Clutter-based compositing manager."
|
#~ msgid "Plugins to load for the Clutter-based compositing manager."
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Complementos que cargar para la gestión de composición basada en «Clutter»."
|
#~ "Complementos que cargar para la gestión de composición basada en «Clutter»."
|
||||||
|
|||||||
484
po/et.po
484
po/et.po
@@ -7,253 +7,39 @@
|
|||||||
#
|
#
|
||||||
# Tõivo Leedjärv <toivo linux ee>, 2004.
|
# Tõivo Leedjärv <toivo linux ee>, 2004.
|
||||||
# Ivar Smolin <okul linux ee>, 2005, 2006, 2009–2011.
|
# Ivar Smolin <okul linux ee>, 2005, 2006, 2009–2011.
|
||||||
# Mattias Põldaru <mahfiaz gmail com>, 2008–2011.
|
# Mattias Põldaru <mahfiaz@gmail.com>, 2008–2011, 2012.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: mutter MASTER\n"
|
"Project-Id-Version: mutter MASTER\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
||||||
"product=mutter&component=general\n"
|
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||||
"POT-Creation-Date: 2011-03-07 23:35+0000\n"
|
"POT-Creation-Date: 2012-03-11 22:19+0000\n"
|
||||||
"PO-Revision-Date: 2011-03-09 06:41+0200\n"
|
"PO-Revision-Date: 2012-03-12 00:47+0200\n"
|
||||||
"Last-Translator: Ivar Smolin <okul@linux.ee>\n"
|
"Last-Translator: Mattias Põldaru <mahfiaz@gmail.com>\n"
|
||||||
"Language-Team: Estonian <gnome-et@linux.ee>\n"
|
"Language-Team: Estonian <>\n"
|
||||||
|
"Language: et\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Language: et\n"
|
|
||||||
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
|
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
|
||||||
|
|
||||||
msgid "Switch to workspace 1"
|
msgid "Windows"
|
||||||
msgstr "Lülitumine 1. tööalale"
|
msgstr "Aknad"
|
||||||
|
|
||||||
msgid "Switch to workspace 2"
|
msgid "View split on left"
|
||||||
msgstr "Lülitumine 2. tööalale"
|
msgstr "Vaade poolitatakse vasakult"
|
||||||
|
|
||||||
msgid "Switch to workspace 3"
|
msgid "View split on right"
|
||||||
msgstr "Lülitumine 3. tööalale"
|
msgstr "Vaade poolitatakse paremalt"
|
||||||
|
|
||||||
msgid "Switch to workspace 4"
|
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||||
msgstr "Lülitumine 4. tööalale"
|
#. * we have no way to get it to exit
|
||||||
|
#, c-format
|
||||||
msgid "Switch to workspace 5"
|
msgid ""
|
||||||
msgstr "Lülitumine 5. tööalale"
|
"Another compositing manager is already running on screen %i on display \"%s"
|
||||||
|
"\"."
|
||||||
msgid "Switch to workspace 6"
|
msgstr "Teine komposiithaldur juba töötab ekraani %i kuval \"%s\"."
|
||||||
msgstr "Lülitumine 6. tööalale"
|
|
||||||
|
|
||||||
msgid "Switch to workspace 7"
|
|
||||||
msgstr "Lülitumine 7. tööalale"
|
|
||||||
|
|
||||||
msgid "Switch to workspace 8"
|
|
||||||
msgstr "Lülitumine 8. tööalale"
|
|
||||||
|
|
||||||
msgid "Switch to workspace 9"
|
|
||||||
msgstr "Lülitumine 9. tööalale"
|
|
||||||
|
|
||||||
msgid "Switch to workspace 10"
|
|
||||||
msgstr "Lülitumine 10. tööalale"
|
|
||||||
|
|
||||||
msgid "Switch to workspace 11"
|
|
||||||
msgstr "Lülitumine 11. tööalale"
|
|
||||||
|
|
||||||
msgid "Switch to workspace 12"
|
|
||||||
msgstr "Lülitumine 12. tööalale"
|
|
||||||
|
|
||||||
msgid "Switch to workspace on the left of the current workspace"
|
|
||||||
msgstr "Lülitumine sellest tööalast vasakul olevale tööalale"
|
|
||||||
|
|
||||||
msgid "Switch to workspace on the right of the current workspace"
|
|
||||||
msgstr "Lülitumine sellest tööalast paremal olevale tööalale"
|
|
||||||
|
|
||||||
msgid "Switch to workspace above the current workspace"
|
|
||||||
msgstr "Lülitumine selle tööala kohal olevale tööalale"
|
|
||||||
|
|
||||||
msgid "Switch to workspace below the current workspace"
|
|
||||||
msgstr "Lülitumine selle tööala all olevale tööalale"
|
|
||||||
|
|
||||||
msgid "Move between windows of an application, using a popup window"
|
|
||||||
msgstr "Liigu rakenduse akende vahel, hüpikaknaga"
|
|
||||||
|
|
||||||
msgid "Move backward between windows of an application, using a popup window"
|
|
||||||
msgstr "Liigu rakenduse akende vahel tagasisuunas, hüpikaknaga"
|
|
||||||
|
|
||||||
msgid "Move between windows, using a popup window"
|
|
||||||
msgstr "Liigu akende vahel, hüpikaknaga"
|
|
||||||
|
|
||||||
msgid "Move backward between windows, using a popup window"
|
|
||||||
msgstr "Liigu akende vahel tagasisuunas, hüpikaknaga"
|
|
||||||
|
|
||||||
msgid "Move between panels and the desktop, using a popup window"
|
|
||||||
msgstr "Liigu paneelide ja töölaua vahel, hüpikaknaga"
|
|
||||||
|
|
||||||
msgid "Move backward between panels and the desktop, using a popup window"
|
|
||||||
msgstr "Liigu tagasisuunas paneelide ja töölaua vahel, hüpikaknaga"
|
|
||||||
|
|
||||||
msgid "Move between windows of an application immediately"
|
|
||||||
msgstr "Liigu koheselt rakenduse akende vahel"
|
|
||||||
|
|
||||||
msgid "Move backward between windows of an application immediately"
|
|
||||||
msgstr "Liigu koheselt rakenduse akende vahel tagasisuunas"
|
|
||||||
|
|
||||||
msgid "Move between windows immediately"
|
|
||||||
msgstr "Liigu koheselt akende vahel"
|
|
||||||
|
|
||||||
msgid "Move backward between windows immediately"
|
|
||||||
msgstr "Liigu koheselt akende vahel tagasisuunas"
|
|
||||||
|
|
||||||
msgid "Move between panels and the desktop immediately"
|
|
||||||
msgstr "Liigu koheselt paneeli ja töölaua vahel"
|
|
||||||
|
|
||||||
msgid "Move backward between panels and the desktop immediately"
|
|
||||||
msgstr "Liigu koheselt tagasisuunas paneelide ja töölaua vahel"
|
|
||||||
|
|
||||||
msgid "Hide all normal windows and set focus to the desktop"
|
|
||||||
msgstr "Peida kõik tavalised aknad ja fokuseeri töölaud"
|
|
||||||
|
|
||||||
msgid "Show the panel's main menu"
|
|
||||||
msgstr "Paneeli peamenüü näitamine"
|
|
||||||
|
|
||||||
msgid "Show the panel's \"Run Application\" dialog box"
|
|
||||||
msgstr "Paneeli dialoogi \"Käivita rakendus\" näitamine"
|
|
||||||
|
|
||||||
msgid "Start or stop recording the session"
|
|
||||||
msgstr "Seansi salvestamise käivitamine või seiskamine"
|
|
||||||
|
|
||||||
msgid "Take a screenshot"
|
|
||||||
msgstr "Kuvatõmmise võtmine"
|
|
||||||
|
|
||||||
msgid "Take a screenshot of a window"
|
|
||||||
msgstr "Kuvatõmmise võtmine aknast"
|
|
||||||
|
|
||||||
msgid "Run a terminal"
|
|
||||||
msgstr "Terminali käivitamine"
|
|
||||||
|
|
||||||
msgid "Activate the window menu"
|
|
||||||
msgstr "Aknamenüü aktiveerimine"
|
|
||||||
|
|
||||||
msgid "Toggle fullscreen mode"
|
|
||||||
msgstr "Täisekraanivaate sisse- ja väljalülitamine"
|
|
||||||
|
|
||||||
msgid "Toggle maximization state"
|
|
||||||
msgstr "Maksimeeritud oleku sisse- ja väljalülitamine"
|
|
||||||
|
|
||||||
msgid "Toggle whether a window will always be visible over other windows"
|
|
||||||
msgstr "Lüliti määrab, kas aken on alati teiste akende kohal nähtav"
|
|
||||||
|
|
||||||
msgid "Maximize window"
|
|
||||||
msgstr "Akna maksimeerimine"
|
|
||||||
|
|
||||||
msgid "Restore window"
|
|
||||||
msgstr "Taasta akna suurus"
|
|
||||||
|
|
||||||
msgid "Toggle shaded state"
|
|
||||||
msgstr "Varjatud oleku lüliti"
|
|
||||||
|
|
||||||
msgid "Minimize window"
|
|
||||||
msgstr "Akna minimeerimine"
|
|
||||||
|
|
||||||
msgid "Close window"
|
|
||||||
msgstr "Akna sulgemine"
|
|
||||||
|
|
||||||
msgid "Move window"
|
|
||||||
msgstr "Teisalda aken"
|
|
||||||
|
|
||||||
msgid "Resize window"
|
|
||||||
msgstr "Muuda akna suurust"
|
|
||||||
|
|
||||||
msgid "Toggle whether window is on all workspaces or just one"
|
|
||||||
msgstr "Lüliti määrab, kas aken on kõigil tööaladel või ainult ühel"
|
|
||||||
|
|
||||||
msgid "Move window to workspace 1"
|
|
||||||
msgstr "Akna tõstmine 1. tööalale"
|
|
||||||
|
|
||||||
msgid "Move window to workspace 2"
|
|
||||||
msgstr "Akna tõstmine 2. tööalale"
|
|
||||||
|
|
||||||
msgid "Move window to workspace 3"
|
|
||||||
msgstr "Akna tõstmine 3. tööalale"
|
|
||||||
|
|
||||||
msgid "Move window to workspace 4"
|
|
||||||
msgstr "Akna tõstmine 4. tööalale"
|
|
||||||
|
|
||||||
msgid "Move window to workspace 5"
|
|
||||||
msgstr "Akna tõstmine 5. tööalale"
|
|
||||||
|
|
||||||
msgid "Move window to workspace 6"
|
|
||||||
msgstr "Akna tõstmine 6. tööalale"
|
|
||||||
|
|
||||||
msgid "Move window to workspace 7"
|
|
||||||
msgstr "Akna tõstmine 7. tööalale"
|
|
||||||
|
|
||||||
msgid "Move window to workspace 8"
|
|
||||||
msgstr "Akna tõstmine 8. tööalale"
|
|
||||||
|
|
||||||
msgid "Move window to workspace 9"
|
|
||||||
msgstr "Akna tõstmine 9. tööalale"
|
|
||||||
|
|
||||||
msgid "Move window to workspace 10"
|
|
||||||
msgstr "Akna tõstmine 10. tööalale"
|
|
||||||
|
|
||||||
msgid "Move window to workspace 11"
|
|
||||||
msgstr "Akna tõstmine 11. tööalale"
|
|
||||||
|
|
||||||
msgid "Move window to workspace 12"
|
|
||||||
msgstr "Akna tõstmine 12. tööalale"
|
|
||||||
|
|
||||||
msgid "Move window one workspace to the left"
|
|
||||||
msgstr "Akna tõstmine ühe tööala võrra vasakule"
|
|
||||||
|
|
||||||
msgid "Move window one workspace to the right"
|
|
||||||
msgstr "Akna tõstmine ühe tööala võrra paremale"
|
|
||||||
|
|
||||||
msgid "Move window one workspace up"
|
|
||||||
msgstr "Akna tõstmine ühe tööala võrra ülespoole"
|
|
||||||
|
|
||||||
msgid "Move window one workspace down"
|
|
||||||
msgstr "Akna tõstmine ühe tööala võrra allapoole"
|
|
||||||
|
|
||||||
msgid "Raise window if it's covered by another window, otherwise lower it"
|
|
||||||
msgstr "Tõsta aken, kui seda katab teine aken, muul juhul vii tahapoole"
|
|
||||||
|
|
||||||
msgid "Raise window above other windows"
|
|
||||||
msgstr "Akna tõstmine teiste akende kohale"
|
|
||||||
|
|
||||||
msgid "Lower window below other windows"
|
|
||||||
msgstr "Saada aken teiste taha"
|
|
||||||
|
|
||||||
msgid "Maximize window vertically"
|
|
||||||
msgstr "Maksimeeri aken vertikaalselt"
|
|
||||||
|
|
||||||
msgid "Maximize window horizontally"
|
|
||||||
msgstr "Maksimeeri aken horisontaalselt"
|
|
||||||
|
|
||||||
msgid "Move window to north-west (top left) corner"
|
|
||||||
msgstr "Akna tõstmine ekraani loodepoolsesse (ülemisse vasakusse) nurka"
|
|
||||||
|
|
||||||
msgid "Move window to north-east (top right) corner"
|
|
||||||
msgstr "Akna tõstmine ekraani kirdepoolsesse (ülemisse paremasse) nurka"
|
|
||||||
|
|
||||||
msgid "Move window to south-west (bottom left) corner"
|
|
||||||
msgstr "Akna tõstmine ekraani edelapoolsesse (alumisse vasakusse) nurka"
|
|
||||||
|
|
||||||
msgid "Move window to south-east (bottom right) corner"
|
|
||||||
msgstr "Akna tõstmine ekraani kagupoolsesse (alumisse paremasse) nurka"
|
|
||||||
|
|
||||||
msgid "Move window to north (top) side of screen"
|
|
||||||
msgstr "Akna tõstmine ekraani põhjapoolsesse (ülemisse) serva"
|
|
||||||
|
|
||||||
msgid "Move window to south (bottom) side of screen"
|
|
||||||
msgstr "Akna tõstmine ekraani lõunapoolsesse (alumisse) serva"
|
|
||||||
|
|
||||||
msgid "Move window to east (right) side of screen"
|
|
||||||
msgstr "Akna tõstmine ekraani idapoolsesse (paremasse) serva"
|
|
||||||
|
|
||||||
msgid "Move window to west (left) side of screen"
|
|
||||||
msgstr "Akna tõstmine ekraani läänepoolsesse (vasakusse) serva"
|
|
||||||
|
|
||||||
msgid "Move window to center of screen"
|
|
||||||
msgstr "Akna tõstmine ekraani keskele"
|
|
||||||
|
|
||||||
msgid "Bell event"
|
msgid "Bell event"
|
||||||
msgstr "Helina sündmus"
|
msgstr "Helina sündmus"
|
||||||
@@ -262,11 +48,13 @@ msgstr "Helina sündmus"
|
|||||||
msgid "Unknown window information request: %d"
|
msgid "Unknown window information request: %d"
|
||||||
msgstr "Tundmatu aknateabe päring: %d"
|
msgstr "Tundmatu aknateabe päring: %d"
|
||||||
|
|
||||||
#. Translators: %s is a window title
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "<tt>%s</tt> is not responding."
|
msgid "<tt>%s</tt> is not responding."
|
||||||
msgstr "<tt>%s</tt> ei vasta."
|
msgstr "<tt>%s</tt> ei vasta."
|
||||||
|
|
||||||
|
msgid "Application is not responding."
|
||||||
|
msgstr "Rakendus ei vasta."
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"You may choose to wait a short while for it to continue or force the "
|
"You may choose to wait a short while for it to continue or force the "
|
||||||
"application to quit entirely."
|
"application to quit entirely."
|
||||||
@@ -294,27 +82,6 @@ msgstr ""
|
|||||||
"Mõni teine programm juba kasutab klahvi %s koos muuteklahvidega %x "
|
"Mõni teine programm juba kasutab klahvi %s koos muuteklahvidega %x "
|
||||||
"kiirklahvina\n"
|
"kiirklahvina\n"
|
||||||
|
|
||||||
#. Displayed when a keybinding which is
|
|
||||||
#. * supposed to launch a program fails.
|
|
||||||
#.
|
|
||||||
#, c-format
|
|
||||||
msgid ""
|
|
||||||
"There was an error running <tt>%s</tt>:\n"
|
|
||||||
"\n"
|
|
||||||
"%s"
|
|
||||||
msgstr ""
|
|
||||||
"<tt>%s</tt> käivitamisel esines viga:\n"
|
|
||||||
"\n"
|
|
||||||
"%s"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "No command %d has been defined.\n"
|
|
||||||
msgstr "Käsku %d pole defineeritud.\n"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "No terminal command has been defined.\n"
|
|
||||||
msgstr "Terminalikäsku pole defineeritud.\n"
|
|
||||||
|
|
||||||
msgid "Disable connection to session manager"
|
msgid "Disable connection to session manager"
|
||||||
msgstr "Seansihalduriga ühendumise keelamine"
|
msgstr "Seansihalduriga ühendumise keelamine"
|
||||||
|
|
||||||
@@ -364,39 +131,6 @@ msgstr "Versiooni printimine"
|
|||||||
msgid "Comma-separated list of compositor plugins"
|
msgid "Comma-separated list of compositor plugins"
|
||||||
msgstr "Komaga eraldatud nimekiri komposiitmontaaži pluginatest"
|
msgstr "Komaga eraldatud nimekiri komposiitmontaaži pluginatest"
|
||||||
|
|
||||||
#.
|
|
||||||
#. * We found it, but it was invalid. Complain.
|
|
||||||
#. *
|
|
||||||
#. * FIXME: This replicates the original behaviour, but in the future
|
|
||||||
#. * we might consider reverting invalid keys to their original values.
|
|
||||||
#. * (We know the old value, so we can look up a suitable string in
|
|
||||||
#. * the symtab.)
|
|
||||||
#. *
|
|
||||||
#. * (Empty comment follows so the translators don't see this.)
|
|
||||||
#.
|
|
||||||
#.
|
|
||||||
#, c-format
|
|
||||||
msgid "GConf key '%s' is set to an invalid value\n"
|
|
||||||
msgstr "GConf võtme '%s' väärtus on vigane\n"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "%d stored in GConf key %s is out of range %d to %d\n"
|
|
||||||
msgstr ""
|
|
||||||
"%d, mis on salvestatud GConf võtmes %s, on väljaspool piirkonda %d - %d\n"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "GConf key \"%s\" is set to an invalid type\n"
|
|
||||||
msgstr "GConf-i võti \"%s\" on määratud vigase tüübiga\n"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "GConf key %s is already in use and can't be used to override %s\n"
|
|
||||||
msgstr ""
|
|
||||||
"GConfi võti %s on juba kasutusel ja sellega ei saa tühistada võtit %s\n"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "Can't override GConf key, %s not found\n"
|
|
||||||
msgstr "GConfi võtit pole võimalik tühistada, võtit %s ei leitud\n"
|
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Workarounds for broken applications disabled. Some applications may not "
|
"Workarounds for broken applications disabled. Some applications may not "
|
||||||
"behave properly.\n"
|
"behave properly.\n"
|
||||||
@@ -405,8 +139,8 @@ msgstr ""
|
|||||||
"ei pruugi õigesti käituda.\n"
|
"ei pruugi õigesti käituda.\n"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
msgid "Could not parse font description \"%s\" from GSettings key %s\n"
|
||||||
msgstr "Fondi kirjeldust \"%s\" GConf võtmest %s ei saa töödelda\n"
|
msgstr "Fondi kirjeldust \"%s\" GSettings võtmest %s pole võimalik töödelda\n"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -416,14 +150,6 @@ msgstr ""
|
|||||||
"Seadistuste andmebaasist leitud \"%s\" ei ole sobiv väärtus hiireklahvi "
|
"Seadistuste andmebaasist leitud \"%s\" ei ole sobiv väärtus hiireklahvi "
|
||||||
"modifikaatoriks\n"
|
"modifikaatoriks\n"
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "Error setting number of workspaces to %d: %s\n"
|
|
||||||
msgstr "Viga tööalade arvuks %d määramisel: %s\n"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "Workspace %d"
|
|
||||||
msgstr "Tööala %d"
|
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||||
@@ -433,16 +159,8 @@ msgstr ""
|
|||||||
"\"\n"
|
"\"\n"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Error setting name for workspace %d to \"%s\": %s\n"
|
msgid "Workspace %d"
|
||||||
msgstr "Viga tööalale %d nime \"%s\" määramisel: %s\n"
|
msgstr "Tööala %d"
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "Error setting live hidden windows status status: %s\n"
|
|
||||||
msgstr "Viga varjus elushoitavate akende oleku määramisel: %s\n"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "Error setting no tab popup status: %s\n"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display '%s' is invalid\n"
|
msgid "Screen %d on display '%s' is invalid\n"
|
||||||
@@ -540,10 +258,6 @@ msgstr "Aknahalduri hoiatus: "
|
|||||||
msgid "Window manager error: "
|
msgid "Window manager error: "
|
||||||
msgstr "Aknahalduri viga: "
|
msgstr "Aknahalduri viga: "
|
||||||
|
|
||||||
#. Translators: This is the title used on dialog boxes
|
|
||||||
msgid "Mutter"
|
|
||||||
msgstr "Mutter"
|
|
||||||
|
|
||||||
#. first time through
|
#. first time through
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -581,6 +295,12 @@ msgstr "%s (masinas %s)"
|
|||||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||||
msgstr "Vigane WM_TRANSIENT_FOR aknale 0x%lx määratud %s jaoks.\n"
|
msgstr "Vigane WM_TRANSIENT_FOR aknale 0x%lx määratud %s jaoks.\n"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||||
|
msgstr ""
|
||||||
|
"WM_TRANSIENT_FOR aknale 0x%lx määratud %s jaoks tekitaks tsüklilise "
|
||||||
|
"korduse.\n"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Window 0x%lx has property %s\n"
|
"Window 0x%lx has property %s\n"
|
||||||
@@ -604,18 +324,8 @@ msgid ""
|
|||||||
"Property %s on window 0x%lx contained invalid UTF-8 for item %d in the list\n"
|
"Property %s on window 0x%lx contained invalid UTF-8 for item %d in the list\n"
|
||||||
msgstr "Omadus %s aknal 0x%lx sisaldab vigast UTF-8 %d kirjele nimekirjas\n"
|
msgstr "Omadus %s aknal 0x%lx sisaldab vigast UTF-8 %d kirjele nimekirjas\n"
|
||||||
|
|
||||||
msgid "Attach modal dialogs"
|
msgid "Mutter"
|
||||||
msgstr "Modaaldialoogide kinnistamine"
|
msgstr "Mutter"
|
||||||
|
|
||||||
msgid ""
|
|
||||||
"Determines whether hidden windows (i.e., minimized windows and windows on "
|
|
||||||
"other workspaces than the current one) should be kept alive."
|
|
||||||
msgstr ""
|
|
||||||
"Määrab, kas varjatud aknaid (nt minimeeritud ja teistel tööaladel aknad) "
|
|
||||||
"hoitakse elus."
|
|
||||||
|
|
||||||
msgid "Live Hidden Windows"
|
|
||||||
msgstr "Varjatud akende aktiivsus"
|
|
||||||
|
|
||||||
msgid "Modifier to use for extended window management operations"
|
msgid "Modifier to use for extended window management operations"
|
||||||
msgstr "Laiendatud aknaoperatsioonide korral kasutatav muuteklahv"
|
msgstr "Laiendatud aknaoperatsioonide korral kasutatav muuteklahv"
|
||||||
@@ -632,6 +342,9 @@ msgstr ""
|
|||||||
"klahv\". Eeldatavasti määratakse selle seose väärtuseks vaikimisi või tühi "
|
"klahv\". Eeldatavasti määratakse selle seose väärtuseks vaikimisi või tühi "
|
||||||
"sõne."
|
"sõne."
|
||||||
|
|
||||||
|
msgid "Attach modal dialogs"
|
||||||
|
msgstr "Modaaldialoogide kinnistamine"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||||
"attached to the titlebar of the parent window and are moved together with "
|
"attached to the titlebar of the parent window and are moved together with "
|
||||||
@@ -640,6 +353,75 @@ msgstr ""
|
|||||||
"Kui märgitud, siis eraldi tiitliribade asemel on moodaalsed dialoogid "
|
"Kui märgitud, siis eraldi tiitliribade asemel on moodaalsed dialoogid "
|
||||||
"emaakna tiitliribade küljes ning liiguvad koos emaaknaga."
|
"emaakna tiitliribade küljes ning liiguvad koos emaaknaga."
|
||||||
|
|
||||||
|
msgid "Live Hidden Windows"
|
||||||
|
msgstr "Varjatud akende aktiivsus"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Determines whether hidden windows (i.e., minimized windows and windows on "
|
||||||
|
"other workspaces than the current one) should be kept alive."
|
||||||
|
msgstr ""
|
||||||
|
"Määrab, kas varjatud aknaid (nt minimeeritud ja teistel tööaladel aknad) "
|
||||||
|
"hoitakse elus."
|
||||||
|
|
||||||
|
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
|
msgstr "Akna ümberpaigutamine selle lohistamisel ekraani serva"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"If enabled, dropping windows on vertical screen edges maximizes them "
|
||||||
|
"vertically and resizes them horizontally to cover half of the available "
|
||||||
|
"area. Dropping windows on the top screen edge maximizes them completely."
|
||||||
|
msgstr ""
|
||||||
|
"Kui märgitud, siis akna lohistamine ekraani külgservale maksimeerib selle "
|
||||||
|
"vertikaalselt ja laius katab pool saadaolevast laiusest. Akna lohistamine "
|
||||||
|
"ekraani ülaserva maksimeerib akna täielikult."
|
||||||
|
|
||||||
|
msgid "Workspaces are managed dynamically"
|
||||||
|
msgstr "Tööalade dünaamiline haldus"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Determines whether workspaces are managed dynamically or whether there's a "
|
||||||
|
"static number of workspaces (determined by the num-workspaces key in org."
|
||||||
|
"gnome.desktop.wm.preferences)."
|
||||||
|
msgstr ""
|
||||||
|
"Määrab, kas tööalasid hallatakse dünaamiliselt või on nende arv staatiline "
|
||||||
|
"(arvu määrab org.gnome.desktop.wm.preferences all võti num-workspaces)."
|
||||||
|
|
||||||
|
msgid "Workspaces only on primary"
|
||||||
|
msgstr "Tööalad ainult peamisel"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Determines whether workspace switching should happen for windows on all "
|
||||||
|
"monitors or only for windows on the primary monitor."
|
||||||
|
msgstr ""
|
||||||
|
"Määrab, kas tööalade vahetamine mõjutab kõiki aknaid kõigil monitoridel või "
|
||||||
|
"ainult aknaid peamisel monitoril."
|
||||||
|
|
||||||
|
msgid "No tab popup"
|
||||||
|
msgstr "Tabulaatoril pole hüpikakent"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Determines whether the use of popup and highlight frame should be disabled "
|
||||||
|
"for window cycling."
|
||||||
|
msgstr ""
|
||||||
|
"Kui märgitud, siis on hüpikaken ja esiletõstmise raam keelatud akende "
|
||||||
|
"vahetamisel."
|
||||||
|
|
||||||
|
msgid "Draggable border width"
|
||||||
|
msgstr "Lohistatava äärise laius."
|
||||||
|
|
||||||
|
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 ""
|
||||||
|
"Lohistatava äärise laius. Kui kujunduse nähtavatest ääristest ei piisa, "
|
||||||
|
"lisatakse puuduoleva osa jaoks nähtamatu ääris."
|
||||||
|
|
||||||
|
msgid "Select window from tab popup"
|
||||||
|
msgstr "Akna valimine tabulaatori hüpikaknalt"
|
||||||
|
|
||||||
|
msgid "Cancel tab popup"
|
||||||
|
msgstr "Tabulaatori hüpikakna katkestamine"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Usage: %s\n"
|
msgid "Usage: %s\n"
|
||||||
msgstr "Kasutamine: %s\n"
|
msgstr "Kasutamine: %s\n"
|
||||||
@@ -877,6 +659,30 @@ msgstr "Raami geomeetria ei määra nuppude suurust"
|
|||||||
msgid "Gradients should have at least two colors"
|
msgid "Gradients should have at least two colors"
|
||||||
msgstr "Värviüleminekus peaks olema vähemalt kaks värvi"
|
msgstr "Värviüleminekus peaks olema vähemalt kaks värvi"
|
||||||
|
|
||||||
|
#, 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 kohandatud värvi määrang peab sisaldama sulgudes värvi nimetust ning "
|
||||||
|
"varuvärvi, nt gtk:custom(foo,bar); väärtust \"%s\" pole võimalik töödelda"
|
||||||
|
|
||||||
|
#, 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 parameetris sobimatu märk '%c', lubatud on ainult A-Za-"
|
||||||
|
"z0-9-_"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid ""
|
||||||
|
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||||
|
"fit the format"
|
||||||
|
msgstr ""
|
||||||
|
"Gtk:custom vorming on \"gtk:custom(värvi_nimi,varuvärv)\", \"%s\" ei sobi "
|
||||||
|
"selle vorminguga"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||||
@@ -1511,25 +1317,3 @@ msgstr "y väärtus oli %d, oodati väärtust %d"
|
|||||||
msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%d koordinaatide avaldis töödeldi %g sekundiga (keskmine %g sekundit)\n"
|
"%d koordinaatide avaldis töödeldi %g sekundiga (keskmine %g sekundit)\n"
|
||||||
|
|
||||||
#~ msgid ""
|
|
||||||
#~ "Don't make fullscreen windows that are maximized and have no decorations"
|
|
||||||
#~ msgstr "Ei tehta maksimeeritud ilma raamita täisekraanaknaid."
|
|
||||||
|
|
||||||
#~ msgid "Whether window popup/frame should be shown when cycling windows."
|
|
||||||
#~ msgstr "Kas hüpikakent/raami näidatakse akende vahetamisel."
|
|
||||||
|
|
||||||
#~ msgid "Internal argument for GObject introspection"
|
|
||||||
#~ msgstr "GObject enesevaatluse siseargument"
|
|
||||||
|
|
||||||
#~ msgid "Failed to restart: %s\n"
|
|
||||||
#~ msgstr "Tõrge taaskäivitamisel: %s\n"
|
|
||||||
|
|
||||||
#~ msgid "Error setting clutter plugin list: %s\n"
|
|
||||||
#~ msgstr "Viga clutteri pluginate nimekirja määramisel: %s\n"
|
|
||||||
|
|
||||||
#~ msgid "Clutter Plugins"
|
|
||||||
#~ msgstr "Clutteri pluginad"
|
|
||||||
|
|
||||||
#~ msgid "Plugins to load for the Clutter-based compositing manager."
|
|
||||||
#~ msgstr "Clutteril põhineva komposiitmontaažihalduri laadimise pluginad."
|
|
||||||
|
|||||||
299
po/gl.po
299
po/gl.po
@@ -14,8 +14,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gl\n"
|
"Project-Id-Version: gl\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2012-01-15 01:25+0100\n"
|
"POT-Creation-Date: 2012-06-25 00:08+0200\n"
|
||||||
"PO-Revision-Date: 2012-01-15 01:27+0100\n"
|
"PO-Revision-Date: 2012-06-25 00:09+0200\n"
|
||||||
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
|
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
|
||||||
"Language-Team: Galician <gnome-l10n-gl@gnome.org>\n"
|
"Language-Team: Galician <gnome-l10n-gl@gnome.org>\n"
|
||||||
"Language: gl\n"
|
"Language: gl\n"
|
||||||
@@ -23,7 +23,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
|
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
|
||||||
"X-Generator: Lokalize 1.2\n"
|
"X-Generator: Gtranslator 2.91.5\n"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:1
|
#: ../src/50-mutter-windows.xml.in.h:1
|
||||||
msgid "Windows"
|
msgid "Windows"
|
||||||
@@ -48,7 +48,7 @@ msgstr ""
|
|||||||
"Non foi posíbel obter a selección do xestor de xanelas na pantalla %i na "
|
"Non foi posíbel obter a selección do xestor de xanelas na pantalla %i na "
|
||||||
"visualización «%s»"
|
"visualización «%s»"
|
||||||
|
|
||||||
#: ../src/core/bell.c:307
|
#: ../src/core/bell.c:320
|
||||||
msgid "Bell event"
|
msgid "Bell event"
|
||||||
msgstr "Evento de campá"
|
msgstr "Evento de campá"
|
||||||
|
|
||||||
@@ -82,12 +82,12 @@ msgstr "Espe_rar"
|
|||||||
msgid "_Force Quit"
|
msgid "_Force Quit"
|
||||||
msgstr "_Forzar a saída"
|
msgstr "_Forzar a saída"
|
||||||
|
|
||||||
#: ../src/core/display.c:361
|
#: ../src/core/display.c:380
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Missing %s extension required for compositing"
|
msgid "Missing %s extension required for compositing"
|
||||||
msgstr "Falta a extensión %s que se require para a composición"
|
msgstr "Falta a extensión %s que se require para a composición"
|
||||||
|
|
||||||
#: ../src/core/display.c:427
|
#: ../src/core/display.c:446
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to open X Window System display '%s'\n"
|
msgid "Failed to open X Window System display '%s'\n"
|
||||||
msgstr "Produciuse un fallo ao abrir a pantalla do X Window System «%s»\n"
|
msgstr "Produciuse un fallo ao abrir a pantalla do X Window System «%s»\n"
|
||||||
@@ -101,36 +101,36 @@ msgstr ""
|
|||||||
"Algún outro programa xa está usando a tecla %s cos modificadores %x como "
|
"Algún outro programa xa está usando a tecla %s cos modificadores %x como "
|
||||||
"combinación\n"
|
"combinación\n"
|
||||||
|
|
||||||
#: ../src/core/main.c:206
|
#: ../src/core/main.c:196
|
||||||
msgid "Disable connection to session manager"
|
msgid "Disable connection to session manager"
|
||||||
msgstr "Desactivar a conexión ao xestor de sesión"
|
msgstr "Desactivar a conexión ao xestor de sesión"
|
||||||
|
|
||||||
#: ../src/core/main.c:212
|
#: ../src/core/main.c:202
|
||||||
msgid "Replace the running window manager"
|
msgid "Replace the running window manager"
|
||||||
msgstr "Substituír o xestor de xanelas en execución"
|
msgstr "Substituír o xestor de xanelas en execución"
|
||||||
|
|
||||||
#: ../src/core/main.c:218
|
#: ../src/core/main.c:208
|
||||||
msgid "Specify session management ID"
|
msgid "Specify session management ID"
|
||||||
msgstr "Especificar o ID de xestión de sesión"
|
msgstr "Especificar o ID de xestión de sesión"
|
||||||
|
|
||||||
#: ../src/core/main.c:223
|
#: ../src/core/main.c:213
|
||||||
msgid "X Display to use"
|
msgid "X Display to use"
|
||||||
msgstr "Pantalla X que se vai usar"
|
msgstr "Pantalla X que se vai usar"
|
||||||
|
|
||||||
#: ../src/core/main.c:229
|
#: ../src/core/main.c:219
|
||||||
msgid "Initialize session from savefile"
|
msgid "Initialize session from savefile"
|
||||||
msgstr "Iniciar sesión desde o ficheiro de salvagarda"
|
msgstr "Iniciar sesión desde o ficheiro de salvagarda"
|
||||||
|
|
||||||
#: ../src/core/main.c:235
|
#: ../src/core/main.c:225
|
||||||
msgid "Make X calls synchronous"
|
msgid "Make X calls synchronous"
|
||||||
msgstr "Facer que as chamadas a X sexan sincrónicas"
|
msgstr "Facer que as chamadas a X sexan sincrónicas"
|
||||||
|
|
||||||
#: ../src/core/main.c:504
|
#: ../src/core/main.c:494
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to scan themes directory: %s\n"
|
msgid "Failed to scan themes directory: %s\n"
|
||||||
msgstr "Fallou ao dixitalizar o directorio de temas: %s\n"
|
msgstr "Fallou ao dixitalizar o directorio de temas: %s\n"
|
||||||
|
|
||||||
#: ../src/core/main.c:520
|
#: ../src/core/main.c:510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||||
@@ -158,10 +158,10 @@ msgid "Print version"
|
|||||||
msgstr "Imprimir versión"
|
msgstr "Imprimir versión"
|
||||||
|
|
||||||
#: ../src/core/mutter.c:60
|
#: ../src/core/mutter.c:60
|
||||||
msgid "Comma-separated list of compositor plugins"
|
msgid "Mutter plugin to use"
|
||||||
msgstr "Lista de separadas por comas dos complementos do compositor"
|
msgstr "Engadido de mutter que usar"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1069
|
#: ../src/core/prefs.c:1064
|
||||||
msgid ""
|
msgid ""
|
||||||
"Workarounds for broken applications disabled. Some applications may not "
|
"Workarounds for broken applications disabled. Some applications may not "
|
||||||
"behave properly.\n"
|
"behave properly.\n"
|
||||||
@@ -169,14 +169,14 @@ msgstr ""
|
|||||||
"Desactiváronse os arranxos para aplicativos danados. Pode que algúns "
|
"Desactiváronse os arranxos para aplicativos danados. Pode que algúns "
|
||||||
"aplicativos non se comporten correctamente.\n"
|
"aplicativos non se comporten correctamente.\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1144
|
#: ../src/core/prefs.c:1139
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse font description \"%s\" from GSettings key %s\n"
|
msgid "Could not parse font description \"%s\" from GSettings key %s\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Non foi posíbel analizar a descrición do tipo de letra «%s» da chave "
|
"Non foi posíbel analizar a descrición do tipo de letra «%s» da chave "
|
||||||
"GSettings %s\n"
|
"GSettings %s\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1210
|
#: ../src/core/prefs.c:1205
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||||
@@ -185,7 +185,7 @@ msgstr ""
|
|||||||
"«%s» atopados na base de datos de configuración non é un valor válido para o "
|
"«%s» atopados na base de datos de configuración non é un valor válido para o "
|
||||||
"modificador do botón do rato\n"
|
"modificador do botón do rato\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1722
|
#: ../src/core/prefs.c:1723
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||||
@@ -194,17 +194,17 @@ msgstr ""
|
|||||||
"«%s» atopados na base de datos de configuración non é un valor válido para a "
|
"«%s» atopados na base de datos de configuración non é un valor válido para a "
|
||||||
"combinación de teclas «%s»\n"
|
"combinación de teclas «%s»\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1819
|
#: ../src/core/prefs.c:1820
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "Espazo de traballo %d"
|
msgstr "Espazo de traballo %d"
|
||||||
|
|
||||||
#: ../src/core/screen.c:730
|
#: ../src/core/screen.c:652
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display '%s' is invalid\n"
|
msgid "Screen %d on display '%s' is invalid\n"
|
||||||
msgstr "A pantalla %d na visualización «%s» non é válida\n"
|
msgstr "A pantalla %d na visualización «%s» non é válida\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:746
|
#: ../src/core/screen.c:668
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||||
@@ -213,7 +213,7 @@ msgstr ""
|
|||||||
"A visualización %d na pantalla «%s» ten xa un xestor de xanelas, tente usar "
|
"A visualización %d na pantalla «%s» ten xa un xestor de xanelas, tente usar "
|
||||||
"a opción --replace para substituír o xestor de xanelas.\n"
|
"a opción --replace para substituír o xestor de xanelas.\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:773
|
#: ../src/core/screen.c:695
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||||
@@ -221,12 +221,12 @@ msgstr ""
|
|||||||
"Non foi posíbel obter a selección do xestor de xanelas na pantalla %d na "
|
"Non foi posíbel obter a selección do xestor de xanelas na pantalla %d na "
|
||||||
"visualización «%s»\n"
|
"visualización «%s»\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:828
|
#: ../src/core/screen.c:750
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||||
msgstr "A visualización %d na pantalla «%s» ten xa un xestor de xanelas\n"
|
msgstr "A visualización %d na pantalla «%s» ten xa un xestor de xanelas\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:1013
|
#: ../src/core/screen.c:935
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not release screen %d on display \"%s\"\n"
|
msgid "Could not release screen %d on display \"%s\"\n"
|
||||||
msgstr "Non foi posíbel liberar a visualización %d na pantalla «%s»\n"
|
msgstr "Non foi posíbel liberar a visualización %d na pantalla «%s»\n"
|
||||||
@@ -286,44 +286,44 @@ msgstr ""
|
|||||||
"Estas xanelas non soportan "save current setup" e terán que "
|
"Estas xanelas non soportan "save current setup" e terán que "
|
||||||
"reiniciarse manualmente a próxima vez que inicie a sesión."
|
"reiniciarse manualmente a próxima vez que inicie a sesión."
|
||||||
|
|
||||||
#: ../src/core/util.c:111
|
#: ../src/core/util.c:80
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to open debug log: %s\n"
|
msgid "Failed to open debug log: %s\n"
|
||||||
msgstr "Produciuse un fallo ao abrir o rexistro de depuración: %s\n"
|
msgstr "Produciuse un fallo ao abrir o rexistro de depuración: %s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:121
|
#: ../src/core/util.c:90
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to fdopen() log file %s: %s\n"
|
msgid "Failed to fdopen() log file %s: %s\n"
|
||||||
msgstr "Produciuse un fallo ao facer fdopen() no ficheiro de rexistro %s: %s\n"
|
msgstr "Produciuse un fallo ao facer fdopen() no ficheiro de rexistro %s: %s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:127
|
#: ../src/core/util.c:96
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Opened log file %s\n"
|
msgid "Opened log file %s\n"
|
||||||
msgstr "Ficheiro de rexistro %s aberto\n"
|
msgstr "Ficheiro de rexistro %s aberto\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:146 ../src/tools/mutter-message.c:149
|
#: ../src/core/util.c:115 ../src/tools/mutter-message.c:149
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Mutter was compiled without support for verbose mode\n"
|
msgid "Mutter was compiled without support for verbose mode\n"
|
||||||
msgstr "Mutter foi compilado sen compatibilidade para o modo detallado\n"
|
msgstr "Mutter foi compilado sen compatibilidade para o modo detallado\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:290
|
#: ../src/core/util.c:259
|
||||||
msgid "Window manager: "
|
msgid "Window manager: "
|
||||||
msgstr "Xestor de xanelas: "
|
msgstr "Xestor de xanelas: "
|
||||||
|
|
||||||
#: ../src/core/util.c:438
|
#: ../src/core/util.c:407
|
||||||
msgid "Bug in window manager: "
|
msgid "Bug in window manager: "
|
||||||
msgstr "Erro no xestor de xanelas: "
|
msgstr "Erro no xestor de xanelas: "
|
||||||
|
|
||||||
#: ../src/core/util.c:471
|
#: ../src/core/util.c:438
|
||||||
msgid "Window manager warning: "
|
msgid "Window manager warning: "
|
||||||
msgstr "Aviso do xestor de xanelas: "
|
msgstr "Aviso do xestor de xanelas: "
|
||||||
|
|
||||||
#: ../src/core/util.c:499
|
#: ../src/core/util.c:466
|
||||||
msgid "Window manager error: "
|
msgid "Window manager error: "
|
||||||
msgstr "Erro do xestor de xanelas: "
|
msgstr "Erro do xestor de xanelas: "
|
||||||
|
|
||||||
#. first time through
|
#. first time through
|
||||||
#: ../src/core/window.c:7180
|
#: ../src/core/window.c:7234
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||||
@@ -339,7 +339,7 @@ msgstr ""
|
|||||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||||
#. * about these apps but make them work.
|
#. * about these apps but make them work.
|
||||||
#.
|
#.
|
||||||
#: ../src/core/window.c:7843
|
#: ../src/core/window.c:7899
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||||
@@ -349,23 +349,23 @@ msgstr ""
|
|||||||
"mais configurou o tamaño mínimo a %d x %d e o tamaño máximo a %d x %d, isto "
|
"mais configurou o tamaño mínimo a %d x %d e o tamaño máximo a %d x %d, isto "
|
||||||
"non ten moito sentido.\n"
|
"non ten moito sentido.\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:309
|
#: ../src/core/window-props.c:310
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Application set a bogus _NET_WM_PID %lu\n"
|
msgid "Application set a bogus _NET_WM_PID %lu\n"
|
||||||
msgstr "O aplicativo configurou un _NET_WM_PID %lu falso\n"
|
msgstr "O aplicativo configurou un _NET_WM_PID %lu falso\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:426
|
#: ../src/core/window-props.c:429
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s (on %s)"
|
msgid "%s (on %s)"
|
||||||
msgstr "%s (en %s)"
|
msgstr "%s (en %s)"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:1481
|
#: ../src/core/window-props.c:1484
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"WM_TRANSIENT_FOR non válido para a xanela 0x%lx especificada para %s.\n"
|
"WM_TRANSIENT_FOR non válido para a xanela 0x%lx especificada para %s.\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:1492
|
#: ../src/core/window-props.c:1495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||||
msgstr "WM_TRANSIENT_FOR xanela 0x%lx para %s crearía un bucle.\n"
|
msgstr "WM_TRANSIENT_FOR xanela 0x%lx para %s crearía un bucle.\n"
|
||||||
@@ -434,22 +434,10 @@ msgstr ""
|
|||||||
"moveranse de forma conxunta á xanela pai."
|
"moveranse de forma conxunta á xanela pai."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:5
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:5
|
||||||
msgid "Live Hidden Windows"
|
|
||||||
msgstr "Xanelas agochadas en vivo"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:6
|
|
||||||
msgid ""
|
|
||||||
"Determines whether hidden windows (i.e., minimized windows and windows on "
|
|
||||||
"other workspaces than the current one) should be kept alive."
|
|
||||||
msgstr ""
|
|
||||||
"Determina se as xanelas agochadas (p.ex., xanelas minimizadas ou xanelas "
|
|
||||||
"noutros espazos de traballo) deben manterse activas."
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:7
|
|
||||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
msgstr "Activar o mosaico nos bordos ao arrastrar xanelas aos bordos da xanela"
|
msgstr "Activar o mosaico nos bordos ao arrastrar xanelas aos bordos da xanela"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:8
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:6
|
||||||
msgid ""
|
msgid ""
|
||||||
"If enabled, dropping windows on vertical screen edges maximizes them "
|
"If enabled, dropping windows on vertical screen edges maximizes them "
|
||||||
"vertically and resizes them horizontally to cover half of the available "
|
"vertically and resizes them horizontally to cover half of the available "
|
||||||
@@ -460,6 +448,20 @@ msgstr ""
|
|||||||
"metade da área dispoñíbel. Arrastrar xanelas ao bordo superior da pantalla "
|
"metade da área dispoñíbel. Arrastrar xanelas ao bordo superior da pantalla "
|
||||||
"maximízaas por completo."
|
"maximízaas por completo."
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:7
|
||||||
|
msgid "Workspaces are managed dynamically"
|
||||||
|
msgstr "Os espazos de traballo xestiónanse dinamicamente"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:8
|
||||||
|
msgid ""
|
||||||
|
"Determines whether workspaces are managed dynamically or whether there's a "
|
||||||
|
"static number of workspaces (determined by the num-workspaces key in org."
|
||||||
|
"gnome.desktop.wm.preferences)."
|
||||||
|
msgstr ""
|
||||||
|
"Determina se os espazos de traballo se xestionan dinamicamente ou se hai un "
|
||||||
|
"número estático de áreas de traballo (determinado pola chave «num-"
|
||||||
|
"workspaces» en «org.gnome.desktop.wm.preferences»)."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:9
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:9
|
||||||
msgid "Workspaces only on primary"
|
msgid "Workspaces only on primary"
|
||||||
msgstr "Espazos de traballo só no principal"
|
msgstr "Espazos de traballo só no principal"
|
||||||
@@ -509,50 +511,6 @@ msgstr "Cancelar lapela emerxente"
|
|||||||
msgid "Usage: %s\n"
|
msgid "Usage: %s\n"
|
||||||
msgstr "Uso: %s\n"
|
msgstr "Uso: %s\n"
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1157
|
|
||||||
msgid "Close Window"
|
|
||||||
msgstr "Pechar a xanela"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1160
|
|
||||||
msgid "Window Menu"
|
|
||||||
msgstr "Menú da xanela"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1163
|
|
||||||
msgid "Minimize Window"
|
|
||||||
msgstr "Minimizar a xanela"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1166
|
|
||||||
msgid "Maximize Window"
|
|
||||||
msgstr "Maximizar a xanela"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1169
|
|
||||||
msgid "Restore Window"
|
|
||||||
msgstr "Restaurar a xanela"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1172
|
|
||||||
msgid "Roll Up Window"
|
|
||||||
msgstr "Pregar a xanela"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1175
|
|
||||||
msgid "Unroll Window"
|
|
||||||
msgstr "Despregar a xanela"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1178
|
|
||||||
msgid "Keep Window On Top"
|
|
||||||
msgstr "Manter a xanela na parte superior"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1181
|
|
||||||
msgid "Remove Window From Top"
|
|
||||||
msgstr "Quitar a xanela da parte superior"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1184
|
|
||||||
msgid "Always On Visible Workspace"
|
|
||||||
msgstr "Sempre no espazo de traballo visíbel"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1187
|
|
||||||
msgid "Put Window On Only One Workspace"
|
|
||||||
msgstr "Pór a xanela nun só espazo de traballo"
|
|
||||||
|
|
||||||
#. Translators: Translate this string the same way as you do in libwnck!
|
#. Translators: Translate this string the same way as you do in libwnck!
|
||||||
#: ../src/ui/menu.c:69
|
#: ../src/ui/menu.c:69
|
||||||
msgid "Mi_nimize"
|
msgid "Mi_nimize"
|
||||||
@@ -752,48 +710,48 @@ msgstr "Mod5"
|
|||||||
msgid "%d x %d"
|
msgid "%d x %d"
|
||||||
msgstr "%d x %d"
|
msgstr "%d x %d"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:253
|
#: ../src/ui/theme.c:234
|
||||||
msgid "top"
|
msgid "top"
|
||||||
msgstr "superior"
|
msgstr "superior"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:255
|
#: ../src/ui/theme.c:236
|
||||||
msgid "bottom"
|
msgid "bottom"
|
||||||
msgstr "inferior"
|
msgstr "inferior"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:257
|
#: ../src/ui/theme.c:238
|
||||||
msgid "left"
|
msgid "left"
|
||||||
msgstr "esquerda"
|
msgstr "esquerda"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:259
|
#: ../src/ui/theme.c:240
|
||||||
msgid "right"
|
msgid "right"
|
||||||
msgstr "dereita"
|
msgstr "dereita"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:286
|
#: ../src/ui/theme.c:268
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "frame geometry does not specify \"%s\" dimension"
|
msgid "frame geometry does not specify \"%s\" dimension"
|
||||||
msgstr "a xeometría do marco non especifica a dimensión «%s»"
|
msgstr "a xeometría do marco non especifica a dimensión «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:305
|
#: ../src/ui/theme.c:287
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||||
msgstr "a xeometría do marco non especifica a dimensión «%s» para o bordo «%s»"
|
msgstr "a xeometría do marco non especifica a dimensión «%s» para o bordo «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:342
|
#: ../src/ui/theme.c:324
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Button aspect ratio %g is not reasonable"
|
msgid "Button aspect ratio %g is not reasonable"
|
||||||
msgstr "A proporción de aspecto do botón %g non é razoábel"
|
msgstr "A proporción de aspecto do botón %g non é razoábel"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:354
|
#: ../src/ui/theme.c:336
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Frame geometry does not specify size of buttons"
|
msgid "Frame geometry does not specify size of buttons"
|
||||||
msgstr "A xeometría do marco non especifica o tamaño dos botóns"
|
msgstr "A xeometría do marco non especifica o tamaño dos botóns"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1067
|
#: ../src/ui/theme.c:1049
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Gradients should have at least two colors"
|
msgid "Gradients should have at least two colors"
|
||||||
msgstr "Os degradados deben ter polo menos dúas cores"
|
msgstr "Os degradados deben ter polo menos dúas cores"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1219
|
#: ../src/ui/theme.c:1201
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"GTK custom color specification must have color name and fallback in "
|
"GTK custom color specification must have color name and fallback in "
|
||||||
@@ -803,7 +761,7 @@ msgstr ""
|
|||||||
"entre parénteses, por exemplo: gtk:custom(foo,bar); non foi posíbel analizar "
|
"entre parénteses, por exemplo: gtk:custom(foo,bar); non foi posíbel analizar "
|
||||||
"«%s»."
|
"«%s»."
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1235
|
#: ../src/ui/theme.c:1217
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||||
@@ -812,7 +770,7 @@ msgstr ""
|
|||||||
"O carácter «%c» non é válido no parámetro «color_name» de «gtk:custom», só "
|
"O carácter «%c» non é válido no parámetro «color_name» de «gtk:custom», só "
|
||||||
"«A-Za-z0-9» son válidos"
|
"«A-Za-z0-9» son válidos"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1249
|
#: ../src/ui/theme.c:1231
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||||
@@ -821,7 +779,7 @@ msgstr ""
|
|||||||
"O formato de «gtk:custom» é «gtk:custom(nome_de_cor,nome_alternativo», «%s» "
|
"O formato de «gtk:custom» é «gtk:custom(nome_de_cor,nome_alternativo», «%s» "
|
||||||
"non respecta o formato"
|
"non respecta o formato"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1294
|
#: ../src/ui/theme.c:1276
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||||
@@ -830,7 +788,7 @@ msgstr ""
|
|||||||
"A especificación de cor do GTK debe ter o estado entre parénteses, exemplo. "
|
"A especificación de cor do GTK debe ter o estado entre parénteses, exemplo. "
|
||||||
"gtk:fg[NORMAL] onde NORMAL é o estado; non foi posíbel analizar «%s»"
|
"gtk:fg[NORMAL] onde NORMAL é o estado; non foi posíbel analizar «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1308
|
#: ../src/ui/theme.c:1290
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||||
@@ -840,17 +798,17 @@ msgstr ""
|
|||||||
"estado, exemplo. gtk:fg[NORMAL] onde NORMAL é o estado; non foi posíbel "
|
"estado, exemplo. gtk:fg[NORMAL] onde NORMAL é o estado; non foi posíbel "
|
||||||
"analizar «%s»"
|
"analizar «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1319
|
#: ../src/ui/theme.c:1301
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Did not understand state \"%s\" in color specification"
|
msgid "Did not understand state \"%s\" in color specification"
|
||||||
msgstr "Non se entende o estado «%s» na especificación da cor"
|
msgstr "Non se entende o estado «%s» na especificación da cor"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1332
|
#: ../src/ui/theme.c:1314
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Did not understand color component \"%s\" in color specification"
|
msgid "Did not understand color component \"%s\" in color specification"
|
||||||
msgstr "Non se entende o compoñente de cor «%s» na especificación da cor"
|
msgstr "Non se entende o compoñente de cor «%s» na especificación da cor"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1361
|
#: ../src/ui/theme.c:1343
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||||
@@ -859,17 +817,17 @@ msgstr ""
|
|||||||
"O formato de blend é «blend/bg_color/fg_color/alpha», «%s»non coincide co "
|
"O formato de blend é «blend/bg_color/fg_color/alpha», «%s»non coincide co "
|
||||||
"formato"
|
"formato"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1372
|
#: ../src/ui/theme.c:1354
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||||
msgstr "Non foi posíbel analizar o valor alfa «%s» na cor mesturada"
|
msgstr "Non foi posíbel analizar o valor alfa «%s» na cor mesturada"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1382
|
#: ../src/ui/theme.c:1364
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||||
msgstr "O valor alfa «%s» na cor mesturada non está entre 0.0 e 1.0"
|
msgstr "O valor alfa «%s» na cor mesturada non está entre 0.0 e 1.0"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1429
|
#: ../src/ui/theme.c:1411
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||||
@@ -877,28 +835,28 @@ msgstr ""
|
|||||||
"O formato de sombreado é \"shade/base_color/factor\", «%s» non coincide co "
|
"O formato de sombreado é \"shade/base_color/factor\", «%s» non coincide co "
|
||||||
"formato"
|
"formato"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1440
|
#: ../src/ui/theme.c:1422
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||||
msgstr "Non foi posíbel o factor de sombreado «%s» na cor sombreada"
|
msgstr "Non foi posíbel o factor de sombreado «%s» na cor sombreada"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1450
|
#: ../src/ui/theme.c:1432
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||||
msgstr "O factor de sombreado «%s» na cor sombreada é negativo"
|
msgstr "O factor de sombreado «%s» na cor sombreada é negativo"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1479
|
#: ../src/ui/theme.c:1461
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse color \"%s\""
|
msgid "Could not parse color \"%s\""
|
||||||
msgstr "Non foi posíbel analizar a cor «%s»"
|
msgstr "Non foi posíbel analizar a cor «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1790
|
#: ../src/ui/theme.c:1778
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"A expresión de coordenadas contén un carácter «%s» que non está permitido"
|
"A expresión de coordenadas contén un carácter «%s» que non está permitido"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1817
|
#: ../src/ui/theme.c:1805
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression contains floating point number '%s' which could not be "
|
"Coordinate expression contains floating point number '%s' which could not be "
|
||||||
@@ -907,14 +865,14 @@ msgstr ""
|
|||||||
"A expresión de coordenadas contén un número de coma flotante «%s» que non "
|
"A expresión de coordenadas contén un número de coma flotante «%s» que non "
|
||||||
"foi posíbel analizar"
|
"foi posíbel analizar"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1831
|
#: ../src/ui/theme.c:1819
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"A expresión de coordenadas contén un enteiro «%s» que non foi posíbel "
|
"A expresión de coordenadas contén un enteiro «%s» que non foi posíbel "
|
||||||
"analizar"
|
"analizar"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1953
|
#: ../src/ui/theme.c:1940
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression contained unknown operator at the start of this text: "
|
"Coordinate expression contained unknown operator at the start of this text: "
|
||||||
@@ -923,17 +881,17 @@ msgstr ""
|
|||||||
"A expresión de coordenadas contén un operador non válido ao inicio do seu "
|
"A expresión de coordenadas contén un operador non válido ao inicio do seu "
|
||||||
"texto: «%s»"
|
"texto: «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2010
|
#: ../src/ui/theme.c:1997
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression was empty or not understood"
|
msgid "Coordinate expression was empty or not understood"
|
||||||
msgstr "A expresión de coordenadas está baleira ou non se entendeu"
|
msgstr "A expresión de coordenadas está baleira ou non se entendeu"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2121 ../src/ui/theme.c:2131 ../src/ui/theme.c:2165
|
#: ../src/ui/theme.c:2110 ../src/ui/theme.c:2120 ../src/ui/theme.c:2154
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression results in division by zero"
|
msgid "Coordinate expression results in division by zero"
|
||||||
msgstr "A expresión de coordenadas resultou nun erro de división por cero"
|
msgstr "A expresión de coordenadas resultou nun erro de división por cero"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2173
|
#: ../src/ui/theme.c:2162
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||||
@@ -941,25 +899,25 @@ msgstr ""
|
|||||||
"A expresión de coordenadas tentou usar un operador mod cun número de coma "
|
"A expresión de coordenadas tentou usar un operador mod cun número de coma "
|
||||||
"flotante"
|
"flotante"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2229
|
#: ../src/ui/theme.c:2218
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"A expresión de coordenadas ten un operador «%s» onde se esperaba un operando"
|
"A expresión de coordenadas ten un operador «%s» onde se esperaba un operando"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2238
|
#: ../src/ui/theme.c:2227
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had an operand where an operator was expected"
|
msgid "Coordinate expression had an operand where an operator was expected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"A expresión de coordenadas ten un operando onde se esperaba un operador"
|
"A expresión de coordenadas ten un operando onde se esperaba un operador"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2246
|
#: ../src/ui/theme.c:2235
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||||
msgstr "A expresión de coordenadas remata cun operador en vez dun operando"
|
msgstr "A expresión de coordenadas remata cun operador en vez dun operando"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2256
|
#: ../src/ui/theme.c:2245
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||||
@@ -968,42 +926,42 @@ msgstr ""
|
|||||||
"A expresión de coordenadas ten un operador \"%c\" seguido do operador \"%c\" "
|
"A expresión de coordenadas ten un operador \"%c\" seguido do operador \"%c\" "
|
||||||
"sen un operando entre eles"
|
"sen un operando entre eles"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2407 ../src/ui/theme.c:2452
|
#: ../src/ui/theme.c:2396 ../src/ui/theme.c:2441
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"A expresión de coordenadas ten unha variábel ou constante descoñecida «%s»"
|
"A expresión de coordenadas ten unha variábel ou constante descoñecida «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2506
|
#: ../src/ui/theme.c:2495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression parser overflowed its buffer."
|
msgid "Coordinate expression parser overflowed its buffer."
|
||||||
msgstr "O analizador da expresión de coordenadas desbordou o seu búfer."
|
msgstr "O analizador da expresión de coordenadas desbordou o seu búfer."
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2535
|
#: ../src/ui/theme.c:2524
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"A expresión de coordenadas ten unha paréntese pechada sen unha paréntese "
|
"A expresión de coordenadas ten unha paréntese pechada sen unha paréntese "
|
||||||
"aberta"
|
"aberta"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2599
|
#: ../src/ui/theme.c:2588
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"A expresión de coordenadas ten unha paréntese aberta sen unha paréntese "
|
"A expresión de coordenadas ten unha paréntese aberta sen unha paréntese "
|
||||||
"pechada"
|
"pechada"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2610
|
#: ../src/ui/theme.c:2599
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||||
msgstr "A expresión de coordenadas non parece ter nin operadores nin operandos"
|
msgstr "A expresión de coordenadas non parece ter nin operadores nin operandos"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2822 ../src/ui/theme.c:2842 ../src/ui/theme.c:2862
|
#: ../src/ui/theme.c:2812 ../src/ui/theme.c:2832 ../src/ui/theme.c:2852
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||||
msgstr "O tema contiña unha expresión que resultou ser un erro: %s\n"
|
msgstr "O tema contiña unha expresión que resultou ser un erro: %s\n"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:4533
|
#: ../src/ui/theme.c:4498
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||||
@@ -1012,24 +970,24 @@ msgstr ""
|
|||||||
"<button function=«%s» state=«%s» draw_ops=\"whatever\"/> débese especificar "
|
"<button function=«%s» state=«%s» draw_ops=\"whatever\"/> débese especificar "
|
||||||
"para este estilo de marco"
|
"para este estilo de marco"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5066 ../src/ui/theme.c:5091
|
#: ../src/ui/theme.c:5009 ../src/ui/theme.c:5034
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||||
msgstr "Falta <frame state=«%s» resize=«%s» focus=«%s» style=\"whatever\"/>"
|
msgstr "Falta <frame state=«%s» resize=«%s» focus=«%s» style=\"whatever\"/>"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5139
|
#: ../src/ui/theme.c:5082
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to load theme \"%s\": %s\n"
|
msgid "Failed to load theme \"%s\": %s\n"
|
||||||
msgstr "Produciuse un fallo ao cargar o tema «%s»: %s\n"
|
msgstr "Produciuse un fallo ao cargar o tema «%s»: %s\n"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5275 ../src/ui/theme.c:5282 ../src/ui/theme.c:5289
|
#: ../src/ui/theme.c:5218 ../src/ui/theme.c:5225 ../src/ui/theme.c:5232
|
||||||
#: ../src/ui/theme.c:5296 ../src/ui/theme.c:5303
|
#: ../src/ui/theme.c:5239 ../src/ui/theme.c:5246
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "No <%s> set for theme \"%s\""
|
msgid "No <%s> set for theme \"%s\""
|
||||||
msgstr "Non se configurou <%s> para o tema «%s»"
|
msgstr "Non se configurou <%s> para o tema «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5311
|
#: ../src/ui/theme.c:5254
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||||
@@ -1038,7 +996,7 @@ msgstr ""
|
|||||||
"Non hai un estilo de marco para o tipo de xanela «%s» no tema «%s», engada "
|
"Non hai un estilo de marco para o tipo de xanela «%s» no tema «%s», engada "
|
||||||
"un elemento <window type=«%s» style_set=\"whatever\"/>"
|
"un elemento <window type=«%s» style_set=\"whatever\"/>"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5709 ../src/ui/theme.c:5771 ../src/ui/theme.c:5834
|
#: ../src/ui/theme.c:5650 ../src/ui/theme.c:5712 ../src/ui/theme.c:5775
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||||
@@ -1046,7 +1004,7 @@ msgstr ""
|
|||||||
"As constantes definidas polo usuario deben comezar cunha letra maiúscula; "
|
"As constantes definidas polo usuario deben comezar cunha letra maiúscula; "
|
||||||
"«%s» non o fai"
|
"«%s» non o fai"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5717 ../src/ui/theme.c:5779 ../src/ui/theme.c:5842
|
#: ../src/ui/theme.c:5658 ../src/ui/theme.c:5720 ../src/ui/theme.c:5783
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Constant \"%s\" has already been defined"
|
msgid "Constant \"%s\" has already been defined"
|
||||||
msgstr "A constante «%s» xa foi definida"
|
msgstr "A constante «%s» xa foi definida"
|
||||||
@@ -1433,7 +1391,7 @@ msgstr "Non se permite texto dentro do elemento <%s>"
|
|||||||
msgid "<%s> specified twice for this theme"
|
msgid "<%s> specified twice for this theme"
|
||||||
msgstr "<%s> especificada dúas veces para este tema"
|
msgstr "<%s> especificada dúas veces para este tema"
|
||||||
|
|
||||||
#: ../src/ui/theme-parser.c:4348
|
#: ../src/ui/theme-parser.c:4334
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to find a valid file for theme %s\n"
|
msgid "Failed to find a valid file for theme %s\n"
|
||||||
msgstr "Non se atopou ningún ficheiro válido para o tema %s\n"
|
msgstr "Non se atopou ningún ficheiro válido para o tema %s\n"
|
||||||
@@ -1640,6 +1598,52 @@ msgstr ""
|
|||||||
"%d expresións de coordenadas interpretadas en %g segundos (%g segundos de "
|
"%d expresións de coordenadas interpretadas en %g segundos (%g segundos de "
|
||||||
"media)\n"
|
"media)\n"
|
||||||
|
|
||||||
|
#~ msgid "Comma-separated list of compositor plugins"
|
||||||
|
#~ msgstr "Lista de separadas por comas dos complementos do compositor"
|
||||||
|
|
||||||
|
#~ msgid "Live Hidden Windows"
|
||||||
|
#~ msgstr "Xanelas agochadas en vivo"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Determines whether hidden windows (i.e., minimized windows and windows on "
|
||||||
|
#~ "other workspaces than the current one) should be kept alive."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Determina se as xanelas agochadas (p.ex., xanelas minimizadas ou xanelas "
|
||||||
|
#~ "noutros espazos de traballo) deben manterse activas."
|
||||||
|
|
||||||
|
#~ msgid "Close Window"
|
||||||
|
#~ msgstr "Pechar a xanela"
|
||||||
|
|
||||||
|
#~ msgid "Window Menu"
|
||||||
|
#~ msgstr "Menú da xanela"
|
||||||
|
|
||||||
|
#~ msgid "Minimize Window"
|
||||||
|
#~ msgstr "Minimizar a xanela"
|
||||||
|
|
||||||
|
#~ msgid "Maximize Window"
|
||||||
|
#~ msgstr "Maximizar a xanela"
|
||||||
|
|
||||||
|
#~ msgid "Restore Window"
|
||||||
|
#~ msgstr "Restaurar a xanela"
|
||||||
|
|
||||||
|
#~ msgid "Roll Up Window"
|
||||||
|
#~ msgstr "Pregar a xanela"
|
||||||
|
|
||||||
|
#~ msgid "Unroll Window"
|
||||||
|
#~ msgstr "Despregar a xanela"
|
||||||
|
|
||||||
|
#~ msgid "Keep Window On Top"
|
||||||
|
#~ msgstr "Manter a xanela na parte superior"
|
||||||
|
|
||||||
|
#~ msgid "Remove Window From Top"
|
||||||
|
#~ msgstr "Quitar a xanela da parte superior"
|
||||||
|
|
||||||
|
#~ msgid "Always On Visible Workspace"
|
||||||
|
#~ msgstr "Sempre no espazo de traballo visíbel"
|
||||||
|
|
||||||
|
#~ msgid "Put Window On Only One Workspace"
|
||||||
|
#~ msgstr "Pór a xanela nun só espazo de traballo"
|
||||||
|
|
||||||
#~ msgid "Switch to workspace 1"
|
#~ msgid "Switch to workspace 1"
|
||||||
#~ msgstr "Cambiar ao espazo de traballo 1"
|
#~ msgstr "Cambiar ao espazo de traballo 1"
|
||||||
|
|
||||||
@@ -1950,9 +1954,6 @@ msgstr ""
|
|||||||
#~ msgid "Error setting clutter plugin list: %s\n"
|
#~ msgid "Error setting clutter plugin list: %s\n"
|
||||||
#~ msgstr "Erro ao definir a lista de complementos de clutter: %s\n"
|
#~ msgstr "Erro ao definir a lista de complementos de clutter: %s\n"
|
||||||
|
|
||||||
#~ msgid "Clutter Plugins"
|
|
||||||
#~ msgstr "Complementos de Clutter"
|
|
||||||
|
|
||||||
#~ msgid "Plugins to load for the Clutter-based compositing manager."
|
#~ msgid "Plugins to load for the Clutter-based compositing manager."
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Complementos a cargar polo xestor de composición baseado en Clutter."
|
#~ "Complementos a cargar polo xestor de composición baseado en Clutter."
|
||||||
|
|||||||
371
po/he.po
371
po/he.po
@@ -9,8 +9,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: metacity.HEAD.he\n"
|
"Project-Id-Version: metacity.HEAD.he\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-12-30 10:48+0200\n"
|
"POT-Creation-Date: 2012-07-10 22:43+0300\n"
|
||||||
"PO-Revision-Date: 2011-12-30 10:49+0200\n"
|
"PO-Revision-Date: 2012-07-10 22:44+0200\n"
|
||||||
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
|
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
|
||||||
"Language-Team: Hebrew <he@li.org>\n"
|
"Language-Team: Hebrew <he@li.org>\n"
|
||||||
"Language: he\n"
|
"Language: he\n"
|
||||||
@@ -20,17 +20,17 @@ msgstr ""
|
|||||||
"X-Generator: KBabel 1.10.2\n"
|
"X-Generator: KBabel 1.10.2\n"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:1
|
#: ../src/50-mutter-windows.xml.in.h:1
|
||||||
|
msgid "Windows"
|
||||||
|
msgstr "חלונות"
|
||||||
|
|
||||||
|
#: ../src/50-mutter-windows.xml.in.h:2
|
||||||
msgid "View split on left"
|
msgid "View split on left"
|
||||||
msgstr "פיצול הצפייה משמאל"
|
msgstr "פיצול הצפייה משמאל"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:2
|
#: ../src/50-mutter-windows.xml.in.h:3
|
||||||
msgid "View split on right"
|
msgid "View split on right"
|
||||||
msgstr "פיצול הצפייה מימין"
|
msgstr "פיצול הצפייה מימין"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:3
|
|
||||||
msgid "Windows"
|
|
||||||
msgstr "חלונות"
|
|
||||||
|
|
||||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||||
#. * we have no way to get it to exit
|
#. * we have no way to get it to exit
|
||||||
#: ../src/compositor/compositor.c:492
|
#: ../src/compositor/compositor.c:492
|
||||||
@@ -38,7 +38,7 @@ msgstr "חלונות"
|
|||||||
msgid "Another compositing manager is already running on screen %i on display \"%s\"."
|
msgid "Another compositing manager is already running on screen %i on display \"%s\"."
|
||||||
msgstr "מנהל תצוגת חלונות אחר כבר פועל במסך %i בתצוגה \"%s\"."
|
msgstr "מנהל תצוגת חלונות אחר כבר פועל במסך %i בתצוגה \"%s\"."
|
||||||
|
|
||||||
#: ../src/core/bell.c:307
|
#: ../src/core/bell.c:320
|
||||||
msgid "Bell event"
|
msgid "Bell event"
|
||||||
msgstr "אירוע פעמון"
|
msgstr "אירוע פעמון"
|
||||||
|
|
||||||
@@ -68,12 +68,12 @@ msgstr "ה_מתנה"
|
|||||||
msgid "_Force Quit"
|
msgid "_Force Quit"
|
||||||
msgstr "_אילוץ סגירה"
|
msgstr "_אילוץ סגירה"
|
||||||
|
|
||||||
#: ../src/core/display.c:361
|
#: ../src/core/display.c:380
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Missing %s extension required for compositing"
|
msgid "Missing %s extension required for compositing"
|
||||||
msgstr "Missing %s extension required for compositing"
|
msgstr "Missing %s extension required for compositing"
|
||||||
|
|
||||||
#: ../src/core/display.c:427
|
#: ../src/core/display.c:446
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to open X Window System display '%s'\n"
|
msgid "Failed to open X Window System display '%s'\n"
|
||||||
msgstr "Failed to open X Window System display '%s'\n"
|
msgstr "Failed to open X Window System display '%s'\n"
|
||||||
@@ -83,36 +83,36 @@ msgstr "Failed to open X Window System display '%s'\n"
|
|||||||
msgid "Some other program is already using the key %s with modifiers %x as a binding\n"
|
msgid "Some other program is already using the key %s with modifiers %x as a binding\n"
|
||||||
msgstr "תוכנית אחרת כבר משתמשת במקש %s עם המקש %x כצירוף\n"
|
msgstr "תוכנית אחרת כבר משתמשת במקש %s עם המקש %x כצירוף\n"
|
||||||
|
|
||||||
#: ../src/core/main.c:206
|
#: ../src/core/main.c:196
|
||||||
msgid "Disable connection to session manager"
|
msgid "Disable connection to session manager"
|
||||||
msgstr "Disable connection to session manager"
|
msgstr "Disable connection to session manager"
|
||||||
|
|
||||||
#: ../src/core/main.c:212
|
#: ../src/core/main.c:202
|
||||||
msgid "Replace the running window manager"
|
msgid "Replace the running window manager"
|
||||||
msgstr "Replace the running window manager"
|
msgstr "Replace the running window manager"
|
||||||
|
|
||||||
#: ../src/core/main.c:218
|
#: ../src/core/main.c:208
|
||||||
msgid "Specify session management ID"
|
msgid "Specify session management ID"
|
||||||
msgstr "Specify session management ID"
|
msgstr "Specify session management ID"
|
||||||
|
|
||||||
#: ../src/core/main.c:223
|
#: ../src/core/main.c:213
|
||||||
msgid "X Display to use"
|
msgid "X Display to use"
|
||||||
msgstr "X Display to use"
|
msgstr "X Display to use"
|
||||||
|
|
||||||
#: ../src/core/main.c:229
|
#: ../src/core/main.c:219
|
||||||
msgid "Initialize session from savefile"
|
msgid "Initialize session from savefile"
|
||||||
msgstr "Initialize session from savefile"
|
msgstr "Initialize session from savefile"
|
||||||
|
|
||||||
#: ../src/core/main.c:235
|
#: ../src/core/main.c:225
|
||||||
msgid "Make X calls synchronous"
|
msgid "Make X calls synchronous"
|
||||||
msgstr "Make X calls synchronous"
|
msgstr "Make X calls synchronous"
|
||||||
|
|
||||||
#: ../src/core/main.c:504
|
#: ../src/core/main.c:494
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to scan themes directory: %s\n"
|
msgid "Failed to scan themes directory: %s\n"
|
||||||
msgstr "Failed to scan themes directory: %s\n"
|
msgstr "Failed to scan themes directory: %s\n"
|
||||||
|
|
||||||
#: ../src/core/main.c:520
|
#: ../src/core/main.c:510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
msgid "Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||||
msgstr "Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
msgstr "Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||||
@@ -135,54 +135,54 @@ msgid "Print version"
|
|||||||
msgstr "Print version"
|
msgstr "Print version"
|
||||||
|
|
||||||
#: ../src/core/mutter.c:60
|
#: ../src/core/mutter.c:60
|
||||||
msgid "Comma-separated list of compositor plugins"
|
msgid "Mutter plugin to use"
|
||||||
msgstr "Comma-separated list of compositor plugins"
|
msgstr "תוסף ה־mutter לשימוש"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1069
|
#: ../src/core/prefs.c:1065
|
||||||
msgid "Workarounds for broken applications disabled. Some applications may not behave properly.\n"
|
msgid "Workarounds for broken applications disabled. Some applications may not behave properly.\n"
|
||||||
msgstr "Workarounds for broken applications disabled. Some applications may not behave properly.\n"
|
msgstr "Workarounds for broken applications disabled. Some applications may not behave properly.\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1144
|
#: ../src/core/prefs.c:1140
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse font description \"%s\" from GSettings key %s\n"
|
msgid "Could not parse font description \"%s\" from GSettings key %s\n"
|
||||||
msgstr "Could not parse font description \"%s\" from GSettings key %s\n"
|
msgstr "Could not parse font description \"%s\" from GSettings key %s\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1210
|
#: ../src/core/prefs.c:1206
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "\"%s\" found in configuration database is not a valid value for mouse button modifier\n"
|
msgid "\"%s\" found in configuration database is not a valid value for mouse button modifier\n"
|
||||||
msgstr "\"%s\" found in configuration database is not a valid value for mouse button modifier\n"
|
msgstr "\"%s\" found in configuration database is not a valid value for mouse button modifier\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1722
|
#: ../src/core/prefs.c:1724
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "\"%s\" found in configuration database is not a valid value for keybinding \"%s\"\n"
|
msgid "\"%s\" found in configuration database is not a valid value for keybinding \"%s\"\n"
|
||||||
msgstr "\"%s\" found in configuration database is not a valid value for keybinding \"%s\"\n"
|
msgstr "\"%s\" found in configuration database is not a valid value for keybinding \"%s\"\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1819
|
#: ../src/core/prefs.c:1821
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "סביבת עבודה %d"
|
msgstr "סביבת עבודה %d"
|
||||||
|
|
||||||
#: ../src/core/screen.c:730
|
#: ../src/core/screen.c:652
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display '%s' is invalid\n"
|
msgid "Screen %d on display '%s' is invalid\n"
|
||||||
msgstr "Screen %d on display '%s' is invalid\n"
|
msgstr "Screen %d on display '%s' is invalid\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:746
|
#: ../src/core/screen.c:668
|
||||||
#, c-format
|
#, 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"
|
msgid "Screen %d on display \"%s\" already has a window manager; try using the --replace option to replace the current window manager.\n"
|
||||||
msgstr "Screen %d on display \"%s\" already has a window manager; try using the --replace option to replace the current window manager.\n"
|
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:773
|
#: ../src/core/screen.c:695
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not acquire window manager selection on screen %d display \"%s\"\n"
|
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"
|
msgstr "Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:828
|
#: ../src/core/screen.c:750
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||||
msgstr "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:1013
|
#: ../src/core/screen.c:935
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not release screen %d on display \"%s\"\n"
|
msgid "Could not release screen %d on display \"%s\"\n"
|
||||||
msgstr "Could not release screen %d on display \"%s\"\n"
|
msgstr "Could not release screen %d on display \"%s\"\n"
|
||||||
@@ -241,45 +241,45 @@ msgstr "Unknown element %s"
|
|||||||
msgid "These windows do not support "save current setup" and will have to be restarted manually next time you log in."
|
msgid "These windows do not support "save current setup" and will have to be restarted manually next time you log in."
|
||||||
msgstr "חלונות אלו אינם תומכים ב"שמירת ההגדרות הנוכחיות", ויהיה צורך באתחול ידני בכניסה הבאה שלך."
|
msgstr "חלונות אלו אינם תומכים ב"שמירת ההגדרות הנוכחיות", ויהיה צורך באתחול ידני בכניסה הבאה שלך."
|
||||||
|
|
||||||
#: ../src/core/util.c:111
|
#: ../src/core/util.c:80
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to open debug log: %s\n"
|
msgid "Failed to open debug log: %s\n"
|
||||||
msgstr "Failed to open debug log: %s\n"
|
msgstr "Failed to open debug log: %s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:121
|
#: ../src/core/util.c:90
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to fdopen() log file %s: %s\n"
|
msgid "Failed to fdopen() log file %s: %s\n"
|
||||||
msgstr "Failed to fdopen() log file %s: %s\n"
|
msgstr "Failed to fdopen() log file %s: %s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:127
|
#: ../src/core/util.c:96
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Opened log file %s\n"
|
msgid "Opened log file %s\n"
|
||||||
msgstr "Opened log file %s\n"
|
msgstr "Opened log file %s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:146
|
#: ../src/core/util.c:115
|
||||||
#: ../src/tools/mutter-message.c:149
|
#: ../src/tools/mutter-message.c:149
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Mutter was compiled without support for verbose mode\n"
|
msgid "Mutter was compiled without support for verbose mode\n"
|
||||||
msgstr "Mutter הודר ללא תמיכה במצב פירוט\n"
|
msgstr "Mutter הודר ללא תמיכה במצב פירוט\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:290
|
#: ../src/core/util.c:259
|
||||||
msgid "Window manager: "
|
msgid "Window manager: "
|
||||||
msgstr "Window manager: "
|
msgstr "Window manager: "
|
||||||
|
|
||||||
#: ../src/core/util.c:438
|
#: ../src/core/util.c:407
|
||||||
msgid "Bug in window manager: "
|
msgid "Bug in window manager: "
|
||||||
msgstr "Bug in window manager: "
|
msgstr "Bug in window manager: "
|
||||||
|
|
||||||
#: ../src/core/util.c:471
|
#: ../src/core/util.c:438
|
||||||
msgid "Window manager warning: "
|
msgid "Window manager warning: "
|
||||||
msgstr "Window manager warning: "
|
msgstr "Window manager warning: "
|
||||||
|
|
||||||
#: ../src/core/util.c:499
|
#: ../src/core/util.c:466
|
||||||
msgid "Window manager error: "
|
msgid "Window manager error: "
|
||||||
msgstr "Window manager error: "
|
msgstr "Window manager error: "
|
||||||
|
|
||||||
#. first time through
|
#. first time through
|
||||||
#: ../src/core/window.c:7180
|
#: ../src/core/window.c:7237
|
||||||
#, c-format
|
#, 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"
|
msgid "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER window as specified in the ICCCM.\n"
|
||||||
msgstr "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER window as specified in the ICCCM.\n"
|
msgstr "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER window as specified in the ICCCM.\n"
|
||||||
@@ -291,27 +291,27 @@ msgstr "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADE
|
|||||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||||
#. * about these apps but make them work.
|
#. * about these apps but make them work.
|
||||||
#.
|
#.
|
||||||
#: ../src/core/window.c:7843
|
#: ../src/core/window.c:7902
|
||||||
#, c-format
|
#, 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"
|
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 "Window %s sets an MWM hint indicating it isn't resizable, but sets min size %d x %d and max size %d x %d; this doesn't make much sense.\n"
|
msgstr "Window %s sets an MWM hint indicating it isn't resizable, but sets min size %d x %d and max size %d x %d; this doesn't make much sense.\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:309
|
#: ../src/core/window-props.c:310
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Application set a bogus _NET_WM_PID %lu\n"
|
msgid "Application set a bogus _NET_WM_PID %lu\n"
|
||||||
msgstr "Application set a bogus _NET_WM_PID %lu\n"
|
msgstr "Application set a bogus _NET_WM_PID %lu\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:426
|
#: ../src/core/window-props.c:429
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s (on %s)"
|
msgid "%s (on %s)"
|
||||||
msgstr "%s (מעל %s)"
|
msgstr "%s (מעל %s)"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:1481
|
#: ../src/core/window-props.c:1484
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||||
msgstr "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
|
#: ../src/core/window-props.c:1495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
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"
|
msgstr "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||||
@@ -347,118 +347,74 @@ msgid "Mutter"
|
|||||||
msgstr "Mutter"
|
msgstr "Mutter"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:1
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:1
|
||||||
|
msgid "Modifier to use for extended window management operations"
|
||||||
|
msgstr "Modifier to use for extended window management operations"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:2
|
||||||
|
msgid "This key will initiate the \"overlay\", which is a combination window overview and application launching system. The default is intended to be the \"Windows key\" on PC hardware. It's expected that this binding either the default or set to the empty string."
|
||||||
|
msgstr "This key will initiate the \"overlay\", which is a combination window overview and application launching system. The default is intended to be the \"Windows key\" on PC hardware. It's expected that this binding either the default or set to the empty string."
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:3
|
||||||
msgid "Attach modal dialogs"
|
msgid "Attach modal dialogs"
|
||||||
msgstr "Attach modal dialogs"
|
msgstr "Attach modal dialogs"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:2
|
|
||||||
msgid "Cancel tab popup"
|
|
||||||
msgstr "Cancel tab popup"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:3
|
|
||||||
msgid "Determines whether hidden windows (i.e., minimized windows and windows on other workspaces than the current one) should be kept alive."
|
|
||||||
msgstr "Determines whether hidden windows (i.e., minimized windows and windows on other workspaces than the current one) should be kept alive."
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:4
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:4
|
||||||
msgid "Determines whether the use of popup and highlight frame should be disabled for window cycling."
|
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 "Determines whether the use of popup and highlight frame should be disabled for window cycling."
|
msgstr "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."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:5
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:5
|
||||||
msgid "Determines whether workspace switching should happen for windows on all monitors or only for windows on the primary monitor."
|
|
||||||
msgstr "Determines whether workspace switching should happen for windows on all monitors or only for windows on the primary monitor."
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:6
|
|
||||||
msgid "Draggable border width"
|
|
||||||
msgstr "Draggable border width"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:7
|
|
||||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
msgstr "Enable edge tiling when dropping windows on screen edges"
|
msgstr "Enable edge tiling when dropping windows on screen edges"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:8
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:6
|
||||||
msgid "If enabled, dropping windows on vertical screen edges maximizes them vertically and resizes them horizontally to cover half of the available area. Dropping windows on the top screen edge maximizes them completely."
|
msgid "If enabled, dropping windows on vertical screen edges maximizes them vertically and resizes them horizontally to cover half of the available area. Dropping windows on the top screen edge maximizes them completely."
|
||||||
msgstr "If enabled, dropping windows on vertical screen edges maximizes them vertically and resizes them horizontally to cover half of the available area. Dropping windows on the top screen edge maximizes them completely."
|
msgstr "If enabled, dropping windows on vertical screen edges maximizes them vertically and resizes them horizontally to cover half of the available area. Dropping windows on the top screen edge maximizes them completely."
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:7
|
||||||
|
msgid "Workspaces are managed dynamically"
|
||||||
|
msgstr "Workspaces are managed dynamically"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:8
|
||||||
|
msgid "Determines whether workspaces are managed dynamically or whether there's a static number of workspaces (determined by the num-workspaces key in org.gnome.desktop.wm.preferences)."
|
||||||
|
msgstr "Determines whether workspaces are managed dynamically or whether there's a static number of workspaces (determined by the num-workspaces key in org.gnome.desktop.wm.preferences)."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:9
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:9
|
||||||
msgid "Live Hidden Windows"
|
msgid "Workspaces only on primary"
|
||||||
msgstr "Live Hidden Windows"
|
msgstr "Workspaces only on primary"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:10
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:10
|
||||||
msgid "Modifier to use for extended window management operations"
|
msgid "Determines whether workspace switching should happen for windows on all monitors or only for windows on the primary monitor."
|
||||||
msgstr "Modifier to use for extended window management operations"
|
msgstr "Determines whether workspace switching should happen for windows on all monitors or only for windows on the primary monitor."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:11
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:11
|
||||||
msgid "No tab popup"
|
msgid "No tab popup"
|
||||||
msgstr "No tab popup"
|
msgstr "No tab popup"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:12
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:12
|
||||||
msgid "Select window from tab popup"
|
msgid "Determines whether the use of popup and highlight frame should be disabled for window cycling."
|
||||||
msgstr "Select window from tab popup"
|
msgstr "Determines whether the use of popup and highlight frame should be disabled for window cycling."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:13
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:13
|
||||||
|
msgid "Draggable border width"
|
||||||
|
msgstr "Draggable border width"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:14
|
||||||
msgid "The amount of total draggable borders. If the theme's visible borders are not enough, invisible borders will be added to meet this value."
|
msgid "The amount of total draggable borders. If the theme's visible borders are not enough, invisible borders will be added to meet this value."
|
||||||
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."
|
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/org.gnome.mutter.gschema.xml.in.h:14
|
|
||||||
msgid "This key will initiate the \"overlay\", which is a combination window overview and application launching system. The default is intended to be the \"Windows key\" on PC hardware. It's expected that this binding either the default or set to the empty string."
|
|
||||||
msgstr "This key will initiate the \"overlay\", which is a combination window overview and application launching system. The default is intended to be the \"Windows key\" on PC hardware. It's expected that this binding either the default or set to the empty string."
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:15
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:15
|
||||||
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."
|
msgid "Select window from tab popup"
|
||||||
msgstr "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 "Select window from tab popup"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:16
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:16
|
||||||
msgid "Workspaces only on primary"
|
msgid "Cancel tab popup"
|
||||||
msgstr "Workspaces only on primary"
|
msgstr "Cancel tab popup"
|
||||||
|
|
||||||
#: ../src/tools/mutter-message.c:123
|
#: ../src/tools/mutter-message.c:123
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Usage: %s\n"
|
msgid "Usage: %s\n"
|
||||||
msgstr "שימוש: %s\n"
|
msgstr "שימוש: %s\n"
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1157
|
|
||||||
msgid "Close Window"
|
|
||||||
msgstr "סגור חלון"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1160
|
|
||||||
msgid "Window Menu"
|
|
||||||
msgstr "תפריט חלון"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1163
|
|
||||||
msgid "Minimize Window"
|
|
||||||
msgstr "מזער חלון"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1166
|
|
||||||
msgid "Maximize Window"
|
|
||||||
msgstr "הגדל חלון"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1169
|
|
||||||
msgid "Restore Window"
|
|
||||||
msgstr "שחזר חלון"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1172
|
|
||||||
msgid "Roll Up Window"
|
|
||||||
msgstr "גלול חלון מעלה"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1175
|
|
||||||
msgid "Unroll Window"
|
|
||||||
msgstr "בטל גלילה"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1178
|
|
||||||
msgid "Keep Window On Top"
|
|
||||||
msgstr "שמור על החלון גלוי"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1181
|
|
||||||
msgid "Remove Window From Top"
|
|
||||||
msgstr "בטל שמירת החלון גלוי"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1184
|
|
||||||
msgid "Always On Visible Workspace"
|
|
||||||
msgstr "הראה בכל סביבות העבודה"
|
|
||||||
|
|
||||||
#: ../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!
|
#. Translators: Translate this string the same way as you do in libwnck!
|
||||||
#: ../src/ui/menu.c:69
|
#: ../src/ui/menu.c:69
|
||||||
msgid "Mi_nimize"
|
msgid "Mi_nimize"
|
||||||
@@ -659,247 +615,247 @@ msgstr "Mod5"
|
|||||||
msgid "%d x %d"
|
msgid "%d x %d"
|
||||||
msgstr "%d x %d"
|
msgstr "%d x %d"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:253
|
#: ../src/ui/theme.c:234
|
||||||
msgid "top"
|
msgid "top"
|
||||||
msgstr "top"
|
msgstr "top"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:255
|
#: ../src/ui/theme.c:236
|
||||||
msgid "bottom"
|
msgid "bottom"
|
||||||
msgstr "bottom"
|
msgstr "bottom"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:257
|
#: ../src/ui/theme.c:238
|
||||||
msgid "left"
|
msgid "left"
|
||||||
msgstr "left"
|
msgstr "left"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:259
|
#: ../src/ui/theme.c:240
|
||||||
msgid "right"
|
msgid "right"
|
||||||
msgstr "right"
|
msgstr "right"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:286
|
#: ../src/ui/theme.c:268
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "frame geometry does not specify \"%s\" dimension"
|
msgid "frame geometry does not specify \"%s\" dimension"
|
||||||
msgstr "frame geometry does not specify \"%s\" dimension"
|
msgstr "frame geometry does not specify \"%s\" dimension"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:305
|
#: ../src/ui/theme.c:287
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||||
msgstr "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:342
|
#: ../src/ui/theme.c:324
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Button aspect ratio %g is not reasonable"
|
msgid "Button aspect ratio %g is not reasonable"
|
||||||
msgstr "Button aspect ratio %g is not reasonable"
|
msgstr "Button aspect ratio %g is not reasonable"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:354
|
#: ../src/ui/theme.c:336
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Frame geometry does not specify size of buttons"
|
msgid "Frame geometry does not specify size of buttons"
|
||||||
msgstr "Frame geometry does not specify size of buttons"
|
msgstr "Frame geometry does not specify size of buttons"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1067
|
#: ../src/ui/theme.c:1049
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Gradients should have at least two colors"
|
msgid "Gradients should have at least two colors"
|
||||||
msgstr "Gradients should have at least two colors"
|
msgstr "Gradients should have at least two colors"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1219
|
#: ../src/ui/theme.c:1201
|
||||||
#, c-format
|
#, 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\""
|
msgid "GTK custom color specification must have color name and fallback in parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||||
msgstr "GTK custom color specification must have color name and fallback in parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
msgstr "GTK custom color specification must have color name and fallback in parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1235
|
#: ../src/ui/theme.c:1217
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-_ are valid"
|
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"
|
msgstr "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-_ are valid"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1249
|
#: ../src/ui/theme.c:1231
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%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 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:1294
|
#: ../src/ui/theme.c:1276
|
||||||
#, c-format
|
#, 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\""
|
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 color specification must have the state in brackets, e.g. gtk:fg[NORMAL] where NORMAL is the state; could not parse \"%s\""
|
msgstr "GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] where NORMAL is the state; could not parse \"%s\""
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1308
|
#: ../src/ui/theme.c:1290
|
||||||
#, c-format
|
#, 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 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 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 color specification must have a close bracket after the state, e.g. gtk:fg[NORMAL] where NORMAL is the state; could not parse \"%s\""
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1319
|
#: ../src/ui/theme.c:1301
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Did not understand state \"%s\" in color specification"
|
msgid "Did not understand state \"%s\" in color specification"
|
||||||
msgstr "Did not understand state \"%s\" in color specification"
|
msgstr "Did not understand state \"%s\" in color specification"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1332
|
#: ../src/ui/theme.c:1314
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Did not understand color component \"%s\" in color specification"
|
msgid "Did not understand color component \"%s\" in color specification"
|
||||||
msgstr "Did not understand color component \"%s\" in color specification"
|
msgstr "Did not understand color component \"%s\" in color specification"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1361
|
#: ../src/ui/theme.c:1343
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the format"
|
msgid "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the format"
|
||||||
msgstr "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the format"
|
msgstr "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the format"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1372
|
#: ../src/ui/theme.c:1354
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||||
msgstr "Could not parse alpha value \"%s\" in blended color"
|
msgstr "Could not parse alpha value \"%s\" in blended color"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1382
|
#: ../src/ui/theme.c:1364
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||||
msgstr "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
msgstr "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1429
|
#: ../src/ui/theme.c:1411
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
msgid "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||||
msgstr "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
msgstr "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1440
|
#: ../src/ui/theme.c:1422
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||||
msgstr "Could not parse shade factor \"%s\" in shaded color"
|
msgstr "Could not parse shade factor \"%s\" in shaded color"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1450
|
#: ../src/ui/theme.c:1432
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||||
msgstr "Shade factor \"%s\" in shaded color is negative"
|
msgstr "Shade factor \"%s\" in shaded color is negative"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1479
|
#: ../src/ui/theme.c:1461
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse color \"%s\""
|
msgid "Could not parse color \"%s\""
|
||||||
msgstr "Could not parse color \"%s\""
|
msgstr "Could not parse color \"%s\""
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1790
|
#: ../src/ui/theme.c:1778
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||||
msgstr "Coordinate expression contains character '%s' which is not allowed"
|
msgstr "Coordinate expression contains character '%s' which is not allowed"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1817
|
#: ../src/ui/theme.c:1805
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression contains floating point number '%s' which could not be parsed"
|
msgid "Coordinate expression contains floating point number '%s' which could not be parsed"
|
||||||
msgstr "Coordinate expression contains floating point number '%s' which could not be parsed"
|
msgstr "Coordinate expression contains floating point number '%s' which could not be parsed"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1831
|
#: ../src/ui/theme.c:1819
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||||
msgstr "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:1953
|
#: ../src/ui/theme.c:1940
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression contained unknown operator at the start of this text: \"%s\""
|
msgid "Coordinate expression contained unknown operator at the start of this text: \"%s\""
|
||||||
msgstr "Coordinate expression contained unknown operator at the start of this text: \"%s\""
|
msgstr "Coordinate expression contained unknown operator at the start of this text: \"%s\""
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2010
|
#: ../src/ui/theme.c:1997
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression was empty or not understood"
|
msgid "Coordinate expression was empty or not understood"
|
||||||
msgstr "Coordinate expression was empty or not understood"
|
msgstr "Coordinate expression was empty or not understood"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2121
|
#: ../src/ui/theme.c:2110
|
||||||
#: ../src/ui/theme.c:2131
|
#: ../src/ui/theme.c:2120
|
||||||
#: ../src/ui/theme.c:2165
|
#: ../src/ui/theme.c:2154
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression results in division by zero"
|
msgid "Coordinate expression results in division by zero"
|
||||||
msgstr "Coordinate expression results in division by zero"
|
msgstr "Coordinate expression results in division by zero"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2173
|
#: ../src/ui/theme.c:2162
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression tries to use mod operator on a floating-point number"
|
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"
|
msgstr "Coordinate expression tries to use mod operator on a floating-point number"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2229
|
#: ../src/ui/theme.c:2218
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression has an operator \"%s\" where an operand was expected"
|
msgid "Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||||
msgstr "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:2238
|
#: ../src/ui/theme.c:2227
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had an operand where an operator was expected"
|
msgid "Coordinate expression had an operand where an operator was expected"
|
||||||
msgstr "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:2246
|
#: ../src/ui/theme.c:2235
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||||
msgstr "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:2256
|
#: ../src/ui/theme.c:2245
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression has operator \"%c\" following operator \"%c\" with no operand in between"
|
msgid "Coordinate expression has operator \"%c\" following operator \"%c\" with no operand in between"
|
||||||
msgstr "Coordinate expression has operator \"%c\" following operator \"%c\" with no operand in between"
|
msgstr "Coordinate expression has operator \"%c\" following operator \"%c\" with no operand in between"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2407
|
#: ../src/ui/theme.c:2396
|
||||||
#: ../src/ui/theme.c:2452
|
#: ../src/ui/theme.c:2441
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||||
msgstr "Coordinate expression had unknown variable or constant \"%s\""
|
msgstr "Coordinate expression had unknown variable or constant \"%s\""
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2506
|
#: ../src/ui/theme.c:2495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression parser overflowed its buffer."
|
msgid "Coordinate expression parser overflowed its buffer."
|
||||||
msgstr "Coordinate expression parser overflowed its buffer."
|
msgstr "Coordinate expression parser overflowed its buffer."
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2535
|
#: ../src/ui/theme.c:2524
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||||
msgstr "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:2599
|
#: ../src/ui/theme.c:2588
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||||
msgstr "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:2610
|
#: ../src/ui/theme.c:2599
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||||
msgstr "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:2822
|
#: ../src/ui/theme.c:2812
|
||||||
#: ../src/ui/theme.c:2842
|
#: ../src/ui/theme.c:2832
|
||||||
#: ../src/ui/theme.c:2862
|
#: ../src/ui/theme.c:2852
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||||
msgstr "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:4533
|
#: ../src/ui/theme.c:4498
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be specified for this frame style"
|
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\"/> must be specified for this frame style"
|
msgstr "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be specified for this frame style"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5066
|
#: ../src/ui/theme.c:5009
|
||||||
#: ../src/ui/theme.c:5091
|
#: ../src/ui/theme.c:5034
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
msgid "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||||
msgstr "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:5139
|
#: ../src/ui/theme.c:5082
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to load theme \"%s\": %s\n"
|
msgid "Failed to load theme \"%s\": %s\n"
|
||||||
msgstr "Failed to load theme \"%s\": %s\n"
|
msgstr "Failed to load theme \"%s\": %s\n"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5275
|
#: ../src/ui/theme.c:5218
|
||||||
#: ../src/ui/theme.c:5282
|
#: ../src/ui/theme.c:5225
|
||||||
#: ../src/ui/theme.c:5289
|
#: ../src/ui/theme.c:5232
|
||||||
#: ../src/ui/theme.c:5296
|
#: ../src/ui/theme.c:5239
|
||||||
#: ../src/ui/theme.c:5303
|
#: ../src/ui/theme.c:5246
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "No <%s> set for theme \"%s\""
|
msgid "No <%s> set for theme \"%s\""
|
||||||
msgstr "No <%s> set for theme \"%s\""
|
msgstr "No <%s> set for theme \"%s\""
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5311
|
#: ../src/ui/theme.c:5254
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "No frame style set for window type \"%s\" in theme \"%s\", add a <window type=\"%s\" style_set=\"whatever\"/> element"
|
msgid "No frame style set for window type \"%s\" in theme \"%s\", add a <window type=\"%s\" style_set=\"whatever\"/> element"
|
||||||
msgstr "No frame style set for window type \"%s\" in theme \"%s\", add a <window type=\"%s\" style_set=\"whatever\"/> element"
|
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:5709
|
#: ../src/ui/theme.c:5650
|
||||||
#: ../src/ui/theme.c:5771
|
#: ../src/ui/theme.c:5712
|
||||||
#: ../src/ui/theme.c:5834
|
#: ../src/ui/theme.c:5775
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "User-defined constants must begin with a capital letter; \"%s\" does not"
|
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"
|
msgstr "User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5717
|
#: ../src/ui/theme.c:5658
|
||||||
#: ../src/ui/theme.c:5779
|
#: ../src/ui/theme.c:5720
|
||||||
#: ../src/ui/theme.c:5842
|
#: ../src/ui/theme.c:5783
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Constant \"%s\" has already been defined"
|
msgid "Constant \"%s\" has already been defined"
|
||||||
msgstr "Constant \"%s\" has already been defined"
|
msgstr "Constant \"%s\" has already been defined"
|
||||||
@@ -1271,7 +1227,7 @@ msgstr "מלל לא מורשה בתג <%s>"
|
|||||||
msgid "<%s> specified twice for this theme"
|
msgid "<%s> specified twice for this theme"
|
||||||
msgstr "<%s> צוין פעמיים עבור ערכת נושא זו"
|
msgstr "<%s> צוין פעמיים עבור ערכת נושא זו"
|
||||||
|
|
||||||
#: ../src/ui/theme-parser.c:4348
|
#: ../src/ui/theme-parser.c:4334
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to find a valid file for theme %s\n"
|
msgid "Failed to find a valid file for theme %s\n"
|
||||||
msgstr "Failed to find a valid file for theme %s\n"
|
msgstr "Failed to find a valid file for theme %s\n"
|
||||||
@@ -1468,6 +1424,52 @@ msgstr "y value was %d, %d was expected"
|
|||||||
msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
||||||
msgstr "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
msgstr "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
||||||
|
|
||||||
|
#~ msgid "Comma-separated list of compositor plugins"
|
||||||
|
#~ msgstr "Comma-separated list of compositor plugins"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Determines whether hidden windows (i.e., minimized windows and windows on "
|
||||||
|
#~ "other workspaces than the current one) should be kept alive."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Determines whether hidden windows (i.e., minimized windows and windows on "
|
||||||
|
#~ "other workspaces than the current one) should be kept alive."
|
||||||
|
|
||||||
|
#~ msgid "Live Hidden Windows"
|
||||||
|
#~ msgstr "Live Hidden Windows"
|
||||||
|
|
||||||
|
#~ msgid "Close Window"
|
||||||
|
#~ msgstr "סגור חלון"
|
||||||
|
|
||||||
|
#~ msgid "Window Menu"
|
||||||
|
#~ msgstr "תפריט חלון"
|
||||||
|
|
||||||
|
#~ msgid "Minimize Window"
|
||||||
|
#~ msgstr "מזער חלון"
|
||||||
|
|
||||||
|
#~ msgid "Maximize Window"
|
||||||
|
#~ msgstr "הגדל חלון"
|
||||||
|
|
||||||
|
#~ msgid "Restore Window"
|
||||||
|
#~ msgstr "שחזר חלון"
|
||||||
|
|
||||||
|
#~ msgid "Roll Up Window"
|
||||||
|
#~ msgstr "גלול חלון מעלה"
|
||||||
|
|
||||||
|
#~ msgid "Unroll Window"
|
||||||
|
#~ msgstr "בטל גלילה"
|
||||||
|
|
||||||
|
#~ msgid "Keep Window On Top"
|
||||||
|
#~ msgstr "שמור על החלון גלוי"
|
||||||
|
|
||||||
|
#~ msgid "Remove Window From Top"
|
||||||
|
#~ msgstr "בטל שמירת החלון גלוי"
|
||||||
|
|
||||||
|
#~ msgid "Always On Visible Workspace"
|
||||||
|
#~ msgstr "הראה בכל סביבות העבודה"
|
||||||
|
|
||||||
|
#~ msgid "Put Window On Only One Workspace"
|
||||||
|
#~ msgstr "הראה את החלון על סביבת עבודה אחת בלבד"
|
||||||
|
|
||||||
#~ msgid "Switch to workspace 1"
|
#~ msgid "Switch to workspace 1"
|
||||||
#~ msgstr "מעבר למרחב עבודה 1"
|
#~ msgstr "מעבר למרחב עבודה 1"
|
||||||
|
|
||||||
@@ -1771,9 +1773,6 @@ msgstr "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
|||||||
#~ msgid "Error setting clutter plugin list: %s\n"
|
#~ msgid "Error setting clutter plugin list: %s\n"
|
||||||
#~ msgstr "ארעה שגיאה בהגדרת רשימת התוספים של clutter: %s\n"
|
#~ msgstr "ארעה שגיאה בהגדרת רשימת התוספים של clutter: %s\n"
|
||||||
|
|
||||||
#~ msgid "Clutter Plugins"
|
|
||||||
#~ msgstr "תוספי Clutter"
|
|
||||||
|
|
||||||
#~ msgid "Plugins to load for the Clutter-based compositing manager."
|
#~ msgid "Plugins to load for the Clutter-based compositing manager."
|
||||||
#~ msgstr "Plugins to load for the Clutter-based compositing manager."
|
#~ msgstr "Plugins to load for the Clutter-based compositing manager."
|
||||||
|
|
||||||
|
|||||||
250
po/nb.po
250
po/nb.po
@@ -4,10 +4,10 @@
|
|||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: mutter 3.3.x\n"
|
"Project-Id-Version: mutter 3.5.x\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2012-01-28 17:38+0100\n"
|
"POT-Creation-Date: 2012-07-10 07:57+0200\n"
|
||||||
"PO-Revision-Date: 2012-01-28 17:38+0100\n"
|
"PO-Revision-Date: 2012-07-10 07:58+0200\n"
|
||||||
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
|
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
|
||||||
"Language-Team: Norwegian bokmål <i18n-no@lister.ping.uio.no>\n"
|
"Language-Team: Norwegian bokmål <i18n-no@lister.ping.uio.no>\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
@@ -36,7 +36,7 @@ msgid ""
|
|||||||
"\"."
|
"\"."
|
||||||
msgstr "En annen compositing manager kjører skjerm %i på display «%s»."
|
msgstr "En annen compositing manager kjører skjerm %i på display «%s»."
|
||||||
|
|
||||||
#: ../src/core/bell.c:307
|
#: ../src/core/bell.c:320
|
||||||
msgid "Bell event"
|
msgid "Bell event"
|
||||||
msgstr "Klokkehendelse"
|
msgstr "Klokkehendelse"
|
||||||
|
|
||||||
@@ -70,12 +70,12 @@ msgstr "_Vent"
|
|||||||
msgid "_Force Quit"
|
msgid "_Force Quit"
|
||||||
msgstr "_Tvungen nedstenging"
|
msgstr "_Tvungen nedstenging"
|
||||||
|
|
||||||
#: ../src/core/display.c:361
|
#: ../src/core/display.c:380
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Missing %s extension required for compositing"
|
msgid "Missing %s extension required for compositing"
|
||||||
msgstr "Mangler utvidelsen %s som kreves for komposittfunksjon"
|
msgstr "Mangler utvidelsen %s som kreves for komposittfunksjon"
|
||||||
|
|
||||||
#: ../src/core/display.c:427
|
#: ../src/core/display.c:446
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to open X Window System display '%s'\n"
|
msgid "Failed to open X Window System display '%s'\n"
|
||||||
msgstr "Feil under åpning av X Window System skjerm «%s»\n"
|
msgstr "Feil under åpning av X Window System skjerm «%s»\n"
|
||||||
@@ -89,36 +89,36 @@ msgstr ""
|
|||||||
"Et annet program bruker allerede nøkkelen %s med modifikatorer %x som "
|
"Et annet program bruker allerede nøkkelen %s med modifikatorer %x som "
|
||||||
"binding\n"
|
"binding\n"
|
||||||
|
|
||||||
#: ../src/core/main.c:206
|
#: ../src/core/main.c:196
|
||||||
msgid "Disable connection to session manager"
|
msgid "Disable connection to session manager"
|
||||||
msgstr "Deaktiver tilkobling til sesjonshåndtereren"
|
msgstr "Deaktiver tilkobling til sesjonshåndtereren"
|
||||||
|
|
||||||
#: ../src/core/main.c:212
|
#: ../src/core/main.c:202
|
||||||
msgid "Replace the running window manager"
|
msgid "Replace the running window manager"
|
||||||
msgstr "Erstatt kjørende vindushåndterer"
|
msgstr "Erstatt kjørende vindushåndterer"
|
||||||
|
|
||||||
#: ../src/core/main.c:218
|
#: ../src/core/main.c:208
|
||||||
msgid "Specify session management ID"
|
msgid "Specify session management ID"
|
||||||
msgstr "Oppgi sesjonshåndterings-ID"
|
msgstr "Oppgi sesjonshåndterings-ID"
|
||||||
|
|
||||||
#: ../src/core/main.c:223
|
#: ../src/core/main.c:213
|
||||||
msgid "X Display to use"
|
msgid "X Display to use"
|
||||||
msgstr "X-skjerm som skal brukes"
|
msgstr "X-skjerm som skal brukes"
|
||||||
|
|
||||||
#: ../src/core/main.c:229
|
#: ../src/core/main.c:219
|
||||||
msgid "Initialize session from savefile"
|
msgid "Initialize session from savefile"
|
||||||
msgstr "Initier sesjonen fra en lagret fil"
|
msgstr "Initier sesjonen fra en lagret fil"
|
||||||
|
|
||||||
#: ../src/core/main.c:235
|
#: ../src/core/main.c:225
|
||||||
msgid "Make X calls synchronous"
|
msgid "Make X calls synchronous"
|
||||||
msgstr "Gjør X-kall synkrone"
|
msgstr "Gjør X-kall synkrone"
|
||||||
|
|
||||||
#: ../src/core/main.c:504
|
#: ../src/core/main.c:494
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to scan themes directory: %s\n"
|
msgid "Failed to scan themes directory: %s\n"
|
||||||
msgstr "Feil under søk i temakatalog: %s\n"
|
msgstr "Feil under søk i temakatalog: %s\n"
|
||||||
|
|
||||||
#: ../src/core/main.c:520
|
#: ../src/core/main.c:510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||||
@@ -145,10 +145,10 @@ msgid "Print version"
|
|||||||
msgstr "Skriv versjonsnummer"
|
msgstr "Skriv versjonsnummer"
|
||||||
|
|
||||||
#: ../src/core/mutter.c:60
|
#: ../src/core/mutter.c:60
|
||||||
msgid "Comma-separated list of compositor plugins"
|
msgid "Mutter plugin to use"
|
||||||
msgstr "Kommaseparert liste av tillegg for compositor"
|
msgstr "Mutter-tillegg som skal brukes"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1069
|
#: ../src/core/prefs.c:1065
|
||||||
msgid ""
|
msgid ""
|
||||||
"Workarounds for broken applications disabled. Some applications may not "
|
"Workarounds for broken applications disabled. Some applications may not "
|
||||||
"behave properly.\n"
|
"behave properly.\n"
|
||||||
@@ -156,12 +156,12 @@ msgstr ""
|
|||||||
"Funksjonalitet for å gå rundt ødelagte programmer er deaktivert. Noen "
|
"Funksjonalitet for å gå rundt ødelagte programmer er deaktivert. Noen "
|
||||||
"programmer vil kanskje ikke oppføre seg korrekt.\n"
|
"programmer vil kanskje ikke oppføre seg korrekt.\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1144
|
#: ../src/core/prefs.c:1140
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse font description \"%s\" from GSettings key %s\n"
|
msgid "Could not parse font description \"%s\" from GSettings key %s\n"
|
||||||
msgstr "Kunne ikke tolke skriftbeskrivelsen «%s» fra GSettings-nøkkel %s\n"
|
msgstr "Kunne ikke tolke skriftbeskrivelsen «%s» fra GSettings-nøkkel %s\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1210
|
#: ../src/core/prefs.c:1206
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||||
@@ -170,7 +170,7 @@ msgstr ""
|
|||||||
"«%s» funnet i konfigurasjonsdatabasen er ikke en gyldig verdi for endring av "
|
"«%s» funnet i konfigurasjonsdatabasen er ikke en gyldig verdi for endring av "
|
||||||
"musknapp\n"
|
"musknapp\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1722
|
#: ../src/core/prefs.c:1724
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||||
@@ -179,17 +179,17 @@ msgstr ""
|
|||||||
"«%s» funnet i konfigurasjonsdatabasen er ikke en gyldig verdi for "
|
"«%s» funnet i konfigurasjonsdatabasen er ikke en gyldig verdi for "
|
||||||
"tastaturbinding «%s»\n"
|
"tastaturbinding «%s»\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1819
|
#: ../src/core/prefs.c:1821
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "Arbeidsområde %d"
|
msgstr "Arbeidsområde %d"
|
||||||
|
|
||||||
#: ../src/core/screen.c:730
|
#: ../src/core/screen.c:652
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display '%s' is invalid\n"
|
msgid "Screen %d on display '%s' is invalid\n"
|
||||||
msgstr "Skjerm %d på display «%s» er ugyldig\n"
|
msgstr "Skjerm %d på display «%s» er ugyldig\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:746
|
#: ../src/core/screen.c:668
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||||
@@ -198,19 +198,19 @@ msgstr ""
|
|||||||
"Skjerm %d på display «%s» har allerede en vindushåndterer; prøv å bruke "
|
"Skjerm %d på display «%s» har allerede en vindushåndterer; prøv å bruke "
|
||||||
"flagget --replace for å erstatte aktiv vindushåndterer.\n"
|
"flagget --replace for å erstatte aktiv vindushåndterer.\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:773
|
#: ../src/core/screen.c:695
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Kunne ikke hente utvalg fra vinduhåndterer på skjerm %d, display «%s»\n"
|
"Kunne ikke hente utvalg fra vinduhåndterer på skjerm %d, display «%s»\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:828
|
#: ../src/core/screen.c:750
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||||
msgstr "Skjerm %d på display «%s» har allerede en vinduhåndterer\n"
|
msgstr "Skjerm %d på display «%s» har allerede en vinduhåndterer\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:1013
|
#: ../src/core/screen.c:935
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not release screen %d on display \"%s\"\n"
|
msgid "Could not release screen %d on display \"%s\"\n"
|
||||||
msgstr "Kunne ikke slippe skjerm %d på display «%s»\n"
|
msgstr "Kunne ikke slippe skjerm %d på display «%s»\n"
|
||||||
@@ -270,44 +270,44 @@ msgstr ""
|
|||||||
"Disse vinduene støtter ikke "lagre aktiv konfigurasjon"og vil "
|
"Disse vinduene støtter ikke "lagre aktiv konfigurasjon"og vil "
|
||||||
"måtte startes på nytt manuelt neste gang du logger inn."
|
"måtte startes på nytt manuelt neste gang du logger inn."
|
||||||
|
|
||||||
#: ../src/core/util.c:111
|
#: ../src/core/util.c:80
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to open debug log: %s\n"
|
msgid "Failed to open debug log: %s\n"
|
||||||
msgstr "Feil under åpning av feilsøkingslogg: %s\n"
|
msgstr "Feil under åpning av feilsøkingslogg: %s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:121
|
#: ../src/core/util.c:90
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to fdopen() log file %s: %s\n"
|
msgid "Failed to fdopen() log file %s: %s\n"
|
||||||
msgstr "Feil under fdopen() av loggfil %s: %s\n"
|
msgstr "Feil under fdopen() av loggfil %s: %s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:127
|
#: ../src/core/util.c:96
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Opened log file %s\n"
|
msgid "Opened log file %s\n"
|
||||||
msgstr "Åpnet loggfil %s\n"
|
msgstr "Åpnet loggfil %s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:146 ../src/tools/mutter-message.c:149
|
#: ../src/core/util.c:115 ../src/tools/mutter-message.c:149
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Mutter was compiled without support for verbose mode\n"
|
msgid "Mutter was compiled without support for verbose mode\n"
|
||||||
msgstr "Mutter er kompilert uten støtte for «verbose» modus\n"
|
msgstr "Mutter er kompilert uten støtte for «verbose» modus\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:290
|
#: ../src/core/util.c:259
|
||||||
msgid "Window manager: "
|
msgid "Window manager: "
|
||||||
msgstr "Vindushåndterer: "
|
msgstr "Vindushåndterer: "
|
||||||
|
|
||||||
#: ../src/core/util.c:438
|
#: ../src/core/util.c:407
|
||||||
msgid "Bug in window manager: "
|
msgid "Bug in window manager: "
|
||||||
msgstr "Feil i vindushåndterer: "
|
msgstr "Feil i vindushåndterer: "
|
||||||
|
|
||||||
#: ../src/core/util.c:471
|
#: ../src/core/util.c:438
|
||||||
msgid "Window manager warning: "
|
msgid "Window manager warning: "
|
||||||
msgstr "Advarsel fra vindushåndterer: "
|
msgstr "Advarsel fra vindushåndterer: "
|
||||||
|
|
||||||
#: ../src/core/util.c:499
|
#: ../src/core/util.c:466
|
||||||
msgid "Window manager error: "
|
msgid "Window manager error: "
|
||||||
msgstr "Feil i vindushåndterer: "
|
msgstr "Feil i vindushåndterer: "
|
||||||
|
|
||||||
#. first time through
|
#. first time through
|
||||||
#: ../src/core/window.c:7219
|
#: ../src/core/window.c:7237
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||||
@@ -323,7 +323,7 @@ msgstr ""
|
|||||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||||
#. * about these apps but make them work.
|
#. * about these apps but make them work.
|
||||||
#.
|
#.
|
||||||
#: ../src/core/window.c:7882
|
#: ../src/core/window.c:7902
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||||
@@ -333,22 +333,22 @@ msgstr ""
|
|||||||
"men setter minste størrelse %d x %d og maks størrelse %d x %d; dette virker "
|
"men setter minste størrelse %d x %d og maks størrelse %d x %d; dette virker "
|
||||||
"ikke fornuftig.\n"
|
"ikke fornuftig.\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:309
|
#: ../src/core/window-props.c:310
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Application set a bogus _NET_WM_PID %lu\n"
|
msgid "Application set a bogus _NET_WM_PID %lu\n"
|
||||||
msgstr "Programmet satte en feil _NET_WM_PID %lu\n"
|
msgstr "Programmet satte en feil _NET_WM_PID %lu\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:426
|
#: ../src/core/window-props.c:429
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s (on %s)"
|
msgid "%s (on %s)"
|
||||||
msgstr "%s (på %s)"
|
msgstr "%s (på %s)"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:1481
|
#: ../src/core/window-props.c:1484
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||||
msgstr "Ugyldig WM_TRANSIENT_FOR vindu 0x%lx oppgitt for %s.\n"
|
msgstr "Ugyldig WM_TRANSIENT_FOR vindu 0x%lx oppgitt for %s.\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:1492
|
#: ../src/core/window-props.c:1495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||||
msgstr "WM_TRANSIENT_FOR vindu 0x%lx for %s ville skapt en løkke.\n"
|
msgstr "WM_TRANSIENT_FOR vindu 0x%lx for %s ville skapt en løkke.\n"
|
||||||
@@ -416,22 +416,10 @@ msgstr ""
|
|||||||
"individuelle tittellinjer."
|
"individuelle tittellinjer."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:5
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:5
|
||||||
msgid "Live Hidden Windows"
|
|
||||||
msgstr "Levende skjulte vinduer"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:6
|
|
||||||
msgid ""
|
|
||||||
"Determines whether hidden windows (i.e., minimized windows and windows on "
|
|
||||||
"other workspaces than the current one) should be kept alive."
|
|
||||||
msgstr ""
|
|
||||||
"Bestemmer om skjulte vinduer, f.eks minimerte vinduer og vinduer på andre "
|
|
||||||
"arbeidsområder enn aktivt arbeidsområde, skal holdes i live."
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:7
|
|
||||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
msgstr "Slå på kantflising ved slipp av vinduer på skjermkantene"
|
msgstr "Slå på kantflising ved slipp av vinduer på skjermkantene"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:8
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:6
|
||||||
msgid ""
|
msgid ""
|
||||||
"If enabled, dropping windows on vertical screen edges maximizes them "
|
"If enabled, dropping windows on vertical screen edges maximizes them "
|
||||||
"vertically and resizes them horizontally to cover half of the available "
|
"vertically and resizes them horizontally to cover half of the available "
|
||||||
@@ -442,6 +430,20 @@ msgstr ""
|
|||||||
"skjermkanter. Hvis vindu slippes på øverste kant av skjermen maksimeres de "
|
"skjermkanter. Hvis vindu slippes på øverste kant av skjermen maksimeres de "
|
||||||
"fullstendig."
|
"fullstendig."
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:7
|
||||||
|
msgid "Workspaces are managed dynamically"
|
||||||
|
msgstr "Arbeidsområder håndteres dynamisk"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:8
|
||||||
|
msgid ""
|
||||||
|
"Determines whether workspaces are managed dynamically or whether there's a "
|
||||||
|
"static number of workspaces (determined by the num-workspaces key in org."
|
||||||
|
"gnome.desktop.wm.preferences)."
|
||||||
|
msgstr ""
|
||||||
|
"Bestemmer om arbeidsområder skal håndteres dynamisk eller om det er et fast "
|
||||||
|
"antall arbeidsområder (bestemt av num-workspaces nøkkelen i org.gnome."
|
||||||
|
"desktop.wm.preferences)."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:9
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:9
|
||||||
msgid "Workspaces only on primary"
|
msgid "Workspaces only on primary"
|
||||||
msgstr "Arbeidsområder kun på primær skjerm"
|
msgstr "Arbeidsområder kun på primær skjerm"
|
||||||
@@ -491,50 +493,6 @@ msgstr "Avbryt tabulatordialog"
|
|||||||
msgid "Usage: %s\n"
|
msgid "Usage: %s\n"
|
||||||
msgstr " Bruk: %s\n"
|
msgstr " Bruk: %s\n"
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1157
|
|
||||||
msgid "Close Window"
|
|
||||||
msgstr "Lukk vindu"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1160
|
|
||||||
msgid "Window Menu"
|
|
||||||
msgstr "Vindumeny"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1163
|
|
||||||
msgid "Minimize Window"
|
|
||||||
msgstr "Minimer vindu"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1166
|
|
||||||
msgid "Maximize Window"
|
|
||||||
msgstr "Maksimer vindu"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1169
|
|
||||||
msgid "Restore Window"
|
|
||||||
msgstr "Gjenopprett vindu"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1172
|
|
||||||
msgid "Roll Up Window"
|
|
||||||
msgstr "Rull opp vindu"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1175
|
|
||||||
msgid "Unroll Window"
|
|
||||||
msgstr "Rull ned vindu"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1178
|
|
||||||
msgid "Keep Window On Top"
|
|
||||||
msgstr "Plasser vindu i forgrunnen"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1181
|
|
||||||
msgid "Remove Window From Top"
|
|
||||||
msgstr "Fjern vindu fra forgrunnen"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1184
|
|
||||||
msgid "Always On Visible Workspace"
|
|
||||||
msgstr "Alltid på synlig arbeidsområde"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1187
|
|
||||||
msgid "Put Window On Only One Workspace"
|
|
||||||
msgstr "Plasser vindu kun på ett arbeidsområde"
|
|
||||||
|
|
||||||
#. Translators: Translate this string the same way as you do in libwnck!
|
#. Translators: Translate this string the same way as you do in libwnck!
|
||||||
#: ../src/ui/menu.c:69
|
#: ../src/ui/menu.c:69
|
||||||
msgid "Mi_nimize"
|
msgid "Mi_nimize"
|
||||||
@@ -734,48 +692,48 @@ msgstr "Mod5"
|
|||||||
msgid "%d x %d"
|
msgid "%d x %d"
|
||||||
msgstr "%d x %d"
|
msgstr "%d x %d"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:253
|
#: ../src/ui/theme.c:234
|
||||||
msgid "top"
|
msgid "top"
|
||||||
msgstr "topp"
|
msgstr "topp"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:255
|
#: ../src/ui/theme.c:236
|
||||||
msgid "bottom"
|
msgid "bottom"
|
||||||
msgstr "bunn"
|
msgstr "bunn"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:257
|
#: ../src/ui/theme.c:238
|
||||||
msgid "left"
|
msgid "left"
|
||||||
msgstr "venstre"
|
msgstr "venstre"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:259
|
#: ../src/ui/theme.c:240
|
||||||
msgid "right"
|
msgid "right"
|
||||||
msgstr "høyre"
|
msgstr "høyre"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:286
|
#: ../src/ui/theme.c:268
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "frame geometry does not specify \"%s\" dimension"
|
msgid "frame geometry does not specify \"%s\" dimension"
|
||||||
msgstr "rammegeometrien spesifiserer ikke «%s»-dimensjon"
|
msgstr "rammegeometrien spesifiserer ikke «%s»-dimensjon"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:305
|
#: ../src/ui/theme.c:287
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||||
msgstr "rammegeometri spesifiserer ikke dimensjon «%s» for kant «%s»"
|
msgstr "rammegeometri spesifiserer ikke dimensjon «%s» for kant «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:342
|
#: ../src/ui/theme.c:324
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Button aspect ratio %g is not reasonable"
|
msgid "Button aspect ratio %g is not reasonable"
|
||||||
msgstr "Aspektrate %g for knapp er ikke fornuftig"
|
msgstr "Aspektrate %g for knapp er ikke fornuftig"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:354
|
#: ../src/ui/theme.c:336
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Frame geometry does not specify size of buttons"
|
msgid "Frame geometry does not specify size of buttons"
|
||||||
msgstr "Rammegeometrien spesifiserer ikke størrelse på knapper"
|
msgstr "Rammegeometrien spesifiserer ikke størrelse på knapper"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1067
|
#: ../src/ui/theme.c:1049
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Gradients should have at least two colors"
|
msgid "Gradients should have at least two colors"
|
||||||
msgstr "Gradienter må ha minst to farger"
|
msgstr "Gradienter må ha minst to farger"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1219
|
#: ../src/ui/theme.c:1201
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"GTK custom color specification must have color name and fallback in "
|
"GTK custom color specification must have color name and fallback in "
|
||||||
@@ -784,7 +742,7 @@ msgstr ""
|
|||||||
"Egendefinert GTK-fargespesifikasjon må ha fargenavn og reserve i parantes, f."
|
"Egendefinert GTK-fargespesifikasjon må ha fargenavn og reserve i parantes, f."
|
||||||
"eks gtk:custom(foo,bar); kunne ikke lese «%s»"
|
"eks gtk:custom(foo,bar); kunne ikke lese «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1235
|
#: ../src/ui/theme.c:1217
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||||
@@ -793,7 +751,7 @@ msgstr ""
|
|||||||
"Ugyldig tegn «%c» i parameter color_name for gtk:custom, kun A-Za-z0-9-_ er "
|
"Ugyldig tegn «%c» i parameter color_name for gtk:custom, kun A-Za-z0-9-_ er "
|
||||||
"gyldig"
|
"gyldig"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1249
|
#: ../src/ui/theme.c:1231
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||||
@@ -802,7 +760,7 @@ msgstr ""
|
|||||||
"Gtk:custom-format er «gtk:custom(color_name,fallback)», «%s» passer ikke i "
|
"Gtk:custom-format er «gtk:custom(color_name,fallback)», «%s» passer ikke i "
|
||||||
"formatet"
|
"formatet"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1294
|
#: ../src/ui/theme.c:1276
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||||
@@ -811,7 +769,7 @@ msgstr ""
|
|||||||
"GTK-fargespesifikasjon må ha tilstand i klammer, f.eks. gtk:fg[NORMAL], hvor "
|
"GTK-fargespesifikasjon må ha tilstand i klammer, f.eks. gtk:fg[NORMAL], hvor "
|
||||||
"NORMAL er tilstanden; kunne ikke lese «%s»"
|
"NORMAL er tilstanden; kunne ikke lese «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1308
|
#: ../src/ui/theme.c:1290
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||||
@@ -820,17 +778,17 @@ msgstr ""
|
|||||||
"GTK-fargespesifikasjon må ha en avsluttende klamme etter tilstanden, f.eks. "
|
"GTK-fargespesifikasjon må ha en avsluttende klamme etter tilstanden, f.eks. "
|
||||||
"gtk:fg[NORMAL], hvor NORMAL er tilstanden; kunne ikke lese «%s»"
|
"gtk:fg[NORMAL], hvor NORMAL er tilstanden; kunne ikke lese «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1319
|
#: ../src/ui/theme.c:1301
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Did not understand state \"%s\" in color specification"
|
msgid "Did not understand state \"%s\" in color specification"
|
||||||
msgstr "Forsto ikke tilstand «%s» i fargespesifikasjonen"
|
msgstr "Forsto ikke tilstand «%s» i fargespesifikasjonen"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1332
|
#: ../src/ui/theme.c:1314
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Did not understand color component \"%s\" in color specification"
|
msgid "Did not understand color component \"%s\" in color specification"
|
||||||
msgstr "Forsto ikke fargekomponent «%s» i fargespesifikasjonen"
|
msgstr "Forsto ikke fargekomponent «%s» i fargespesifikasjonen"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1361
|
#: ../src/ui/theme.c:1343
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||||
@@ -839,56 +797,56 @@ msgstr ""
|
|||||||
"Blandingsformat er «blend/bg_color/fg_color/alpha», «%s» passer ikke i "
|
"Blandingsformat er «blend/bg_color/fg_color/alpha», «%s» passer ikke i "
|
||||||
"formatet"
|
"formatet"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1372
|
#: ../src/ui/theme.c:1354
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||||
msgstr "Kunne ikke lese alpha-verdi «%s» i blandet farge"
|
msgstr "Kunne ikke lese alpha-verdi «%s» i blandet farge"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1382
|
#: ../src/ui/theme.c:1364
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||||
msgstr "Alpha-verdi «%s» i blandet farge er ikke mellom 0.0 og 1.0"
|
msgstr "Alpha-verdi «%s» i blandet farge er ikke mellom 0.0 og 1.0"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1429
|
#: ../src/ui/theme.c:1411
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Skyggeformatet er «shade/base_color/factor», «%s» passer ikke i formatet"
|
"Skyggeformatet er «shade/base_color/factor», «%s» passer ikke i formatet"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1440
|
#: ../src/ui/theme.c:1422
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||||
msgstr "Kunne ikke lese skyggefaktor «%s» i skyggelagt farge"
|
msgstr "Kunne ikke lese skyggefaktor «%s» i skyggelagt farge"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1450
|
#: ../src/ui/theme.c:1432
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||||
msgstr "Skyggefaktor «%s» i skyggelagt farge er negativ"
|
msgstr "Skyggefaktor «%s» i skyggelagt farge er negativ"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1479
|
#: ../src/ui/theme.c:1461
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse color \"%s\""
|
msgid "Could not parse color \"%s\""
|
||||||
msgstr "Kunne ikke lese farge «%s»"
|
msgstr "Kunne ikke lese farge «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1790
|
#: ../src/ui/theme.c:1778
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||||
msgstr "Koordinatuttrykk inneholder tegn «%s» som ikke er tillatt"
|
msgstr "Koordinatuttrykk inneholder tegn «%s» som ikke er tillatt"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1817
|
#: ../src/ui/theme.c:1805
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression contains floating point number '%s' which could not be "
|
"Coordinate expression contains floating point number '%s' which could not be "
|
||||||
"parsed"
|
"parsed"
|
||||||
msgstr "Koordinatuttrykk inneholder flyttall «%s» som ikke kunne tolkes"
|
msgstr "Koordinatuttrykk inneholder flyttall «%s» som ikke kunne tolkes"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1831
|
#: ../src/ui/theme.c:1819
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||||
msgstr "Koordinatuttrykk inneholder heltall «%s» som ikke kunne tolkes"
|
msgstr "Koordinatuttrykk inneholder heltall «%s» som ikke kunne tolkes"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1953
|
#: ../src/ui/theme.c:1940
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression contained unknown operator at the start of this text: "
|
"Coordinate expression contained unknown operator at the start of this text: "
|
||||||
@@ -897,39 +855,39 @@ msgstr ""
|
|||||||
"Koordinatuttrykket inneholdt en ukjent operator ved begynnelsen av denne "
|
"Koordinatuttrykket inneholdt en ukjent operator ved begynnelsen av denne "
|
||||||
"teksten: «%s»"
|
"teksten: «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2010
|
#: ../src/ui/theme.c:1997
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression was empty or not understood"
|
msgid "Coordinate expression was empty or not understood"
|
||||||
msgstr "Koordinatuttrykket var tomt eller ble ikke forstått"
|
msgstr "Koordinatuttrykket var tomt eller ble ikke forstått"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2121 ../src/ui/theme.c:2131 ../src/ui/theme.c:2165
|
#: ../src/ui/theme.c:2110 ../src/ui/theme.c:2120 ../src/ui/theme.c:2154
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression results in division by zero"
|
msgid "Coordinate expression results in division by zero"
|
||||||
msgstr "Koordinatuttrykket resulterer i divisjon med null"
|
msgstr "Koordinatuttrykket resulterer i divisjon med null"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2173
|
#: ../src/ui/theme.c:2162
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||||
msgstr "Koordinatuttrykket prøver å bruke mod-operator på et flyttall"
|
msgstr "Koordinatuttrykket prøver å bruke mod-operator på et flyttall"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2229
|
#: ../src/ui/theme.c:2218
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||||
msgstr "Koordinatuttrykket har en operator «%s» hvor en operand var ventet"
|
msgstr "Koordinatuttrykket har en operator «%s» hvor en operand var ventet"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2238
|
#: ../src/ui/theme.c:2227
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had an operand where an operator was expected"
|
msgid "Coordinate expression had an operand where an operator was expected"
|
||||||
msgstr "Koordinatuttrykket hadde en operand hvor en operator var ventet"
|
msgstr "Koordinatuttrykket hadde en operand hvor en operator var ventet"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2246
|
#: ../src/ui/theme.c:2235
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||||
msgstr "Koordinatuttrykket sluttet med en operator i stedet for en operand"
|
msgstr "Koordinatuttrykket sluttet med en operator i stedet for en operand"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2256
|
#: ../src/ui/theme.c:2245
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||||
@@ -938,38 +896,38 @@ msgstr ""
|
|||||||
"Koordinatuttrykket har en operator «%c» etter en operator «%c» og ingen "
|
"Koordinatuttrykket har en operator «%c» etter en operator «%c» og ingen "
|
||||||
"operand mellom dem."
|
"operand mellom dem."
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2407 ../src/ui/theme.c:2452
|
#: ../src/ui/theme.c:2396 ../src/ui/theme.c:2441
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||||
msgstr "Koordinatuttrykket haddeen ukjent variabel eller konstant «%s»"
|
msgstr "Koordinatuttrykket haddeen ukjent variabel eller konstant «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2506
|
#: ../src/ui/theme.c:2495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression parser overflowed its buffer."
|
msgid "Coordinate expression parser overflowed its buffer."
|
||||||
msgstr "Tolkeren for koordinatuttrykk oversteg buffergrensen."
|
msgstr "Tolkeren for koordinatuttrykk oversteg buffergrensen."
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2535
|
#: ../src/ui/theme.c:2524
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||||
msgstr "Koordinatuttrykket hadde en parantes slutt uten parantes start"
|
msgstr "Koordinatuttrykket hadde en parantes slutt uten parantes start"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2599
|
#: ../src/ui/theme.c:2588
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||||
msgstr "Koordinatuttrykket hadde en åpen parantes uten en avsluttende parantes"
|
msgstr "Koordinatuttrykket hadde en åpen parantes uten en avsluttende parantes"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2610
|
#: ../src/ui/theme.c:2599
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Koordinatuttrykket ser ikke ut til å ha noen operatorer eller operander"
|
"Koordinatuttrykket ser ikke ut til å ha noen operatorer eller operander"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2822 ../src/ui/theme.c:2842 ../src/ui/theme.c:2862
|
#: ../src/ui/theme.c:2812 ../src/ui/theme.c:2832 ../src/ui/theme.c:2852
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||||
msgstr "Tema inneholdt et uttrykk som resulterte i en feil: %s\n"
|
msgstr "Tema inneholdt et uttrykk som resulterte i en feil: %s\n"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:4533
|
#: ../src/ui/theme.c:4498
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||||
@@ -978,25 +936,25 @@ msgstr ""
|
|||||||
"<button function=«%s» state=«%s» draw_ops=«ett-eller-annet»/> må "
|
"<button function=«%s» state=«%s» draw_ops=«ett-eller-annet»/> må "
|
||||||
"spesifiseres for denne rammestilen"
|
"spesifiseres for denne rammestilen"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5066 ../src/ui/theme.c:5091
|
#: ../src/ui/theme.c:5009 ../src/ui/theme.c:5034
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Mangler <frame state=«%s» resize=«%s» focus=«%s» stil=«ett-eller-annet»/>"
|
"Mangler <frame state=«%s» resize=«%s» focus=«%s» stil=«ett-eller-annet»/>"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5139
|
#: ../src/ui/theme.c:5082
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to load theme \"%s\": %s\n"
|
msgid "Failed to load theme \"%s\": %s\n"
|
||||||
msgstr "Klarte ikke å laste tema «%s»: %s\n"
|
msgstr "Klarte ikke å laste tema «%s»: %s\n"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5275 ../src/ui/theme.c:5282 ../src/ui/theme.c:5289
|
#: ../src/ui/theme.c:5218 ../src/ui/theme.c:5225 ../src/ui/theme.c:5232
|
||||||
#: ../src/ui/theme.c:5296 ../src/ui/theme.c:5303
|
#: ../src/ui/theme.c:5239 ../src/ui/theme.c:5246
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "No <%s> set for theme \"%s\""
|
msgid "No <%s> set for theme \"%s\""
|
||||||
msgstr "<%s> er ikke satt for tema «%s»"
|
msgstr "<%s> er ikke satt for tema «%s»"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5311
|
#: ../src/ui/theme.c:5254
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||||
@@ -1005,14 +963,14 @@ msgstr ""
|
|||||||
"Ingen rammestil satt for vindutype «%s» i tema «%s», legg til et <window "
|
"Ingen rammestil satt for vindutype «%s» i tema «%s», legg til et <window "
|
||||||
"type=«%s» style_set=«ett-eller-annet»/>-element"
|
"type=«%s» style_set=«ett-eller-annet»/>-element"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5709 ../src/ui/theme.c:5771 ../src/ui/theme.c:5834
|
#: ../src/ui/theme.c:5650 ../src/ui/theme.c:5712 ../src/ui/theme.c:5775
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Brukerdefinerte konstanter må begynne med stor bokstav; «%s» gjør ikke det"
|
"Brukerdefinerte konstanter må begynne med stor bokstav; «%s» gjør ikke det"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5717 ../src/ui/theme.c:5779 ../src/ui/theme.c:5842
|
#: ../src/ui/theme.c:5658 ../src/ui/theme.c:5720 ../src/ui/theme.c:5783
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Constant \"%s\" has already been defined"
|
msgid "Constant \"%s\" has already been defined"
|
||||||
msgstr "Konstant «%s» er allerede definert"
|
msgstr "Konstant «%s» er allerede definert"
|
||||||
@@ -1393,7 +1351,7 @@ msgstr "Ingen tekst er tillatt inne i element <%s>"
|
|||||||
msgid "<%s> specified twice for this theme"
|
msgid "<%s> specified twice for this theme"
|
||||||
msgstr "<%s> spesifisert to ganger for dette temaet"
|
msgstr "<%s> spesifisert to ganger for dette temaet"
|
||||||
|
|
||||||
#: ../src/ui/theme-parser.c:4348
|
#: ../src/ui/theme-parser.c:4334
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to find a valid file for theme %s\n"
|
msgid "Failed to find a valid file for theme %s\n"
|
||||||
msgstr "Fant ikke en gyldig fil for tema %s\n"
|
msgstr "Fant ikke en gyldig fil for tema %s\n"
|
||||||
|
|||||||
1106
po/pt_BR.po
1106
po/pt_BR.po
File diff suppressed because it is too large
Load Diff
416
po/sl.po
416
po/sl.po
@@ -4,14 +4,14 @@
|
|||||||
#
|
#
|
||||||
# Andraž Tori <andraz.tori1@guest.arnes.si>, 2000.
|
# Andraž Tori <andraz.tori1@guest.arnes.si>, 2000.
|
||||||
# Matjaž Horvat <m@owca.info>, 2006.
|
# Matjaž Horvat <m@owca.info>, 2006.
|
||||||
# Matej Urbančič <mateju@svn.gnome.org>, 2007 - 2011.
|
# Matej Urbančič <mateju@svn.gnome.org>, 2007 - 2012.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: mutter master\n"
|
"Project-Id-Version: mutter master\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mutter&keywords=I18N+L10N&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-12-16 13:21+0000\n"
|
"POT-Creation-Date: 2012-06-06 11:44+0000\n"
|
||||||
"PO-Revision-Date: 2011-12-16 21:47+0100\n"
|
"PO-Revision-Date: 2012-06-08 21:23+0100\n"
|
||||||
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
|
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
|
||||||
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
|
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
@@ -24,17 +24,17 @@ msgstr ""
|
|||||||
"X-Poedit-SourceCharset: utf-8\n"
|
"X-Poedit-SourceCharset: utf-8\n"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:1
|
#: ../src/50-mutter-windows.xml.in.h:1
|
||||||
|
msgid "Windows"
|
||||||
|
msgstr "Okna"
|
||||||
|
|
||||||
|
#: ../src/50-mutter-windows.xml.in.h:2
|
||||||
msgid "View split on left"
|
msgid "View split on left"
|
||||||
msgstr "Poglej razdelek na levi"
|
msgstr "Poglej razdelek na levi"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:2
|
#: ../src/50-mutter-windows.xml.in.h:3
|
||||||
msgid "View split on right"
|
msgid "View split on right"
|
||||||
msgstr "Poglej razdelek na desni"
|
msgstr "Poglej razdelek na desni"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:3
|
|
||||||
msgid "Windows"
|
|
||||||
msgstr "Okna"
|
|
||||||
|
|
||||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||||
#. * we have no way to get it to exit
|
#. * we have no way to get it to exit
|
||||||
#: ../src/compositor/compositor.c:492
|
#: ../src/compositor/compositor.c:492
|
||||||
@@ -42,7 +42,7 @@ msgstr "Okna"
|
|||||||
msgid "Another compositing manager is already running on screen %i on display \"%s\"."
|
msgid "Another compositing manager is already running on screen %i on display \"%s\"."
|
||||||
msgstr "Drug upravljalnik sestavljanja je že zagnan na zaslonu %i prikaza \"%s\"."
|
msgstr "Drug upravljalnik sestavljanja je že zagnan na zaslonu %i prikaza \"%s\"."
|
||||||
|
|
||||||
#: ../src/core/bell.c:307
|
#: ../src/core/bell.c:320
|
||||||
msgid "Bell event"
|
msgid "Bell event"
|
||||||
msgstr "Dogodek zvonjenja"
|
msgstr "Dogodek zvonjenja"
|
||||||
|
|
||||||
@@ -72,12 +72,12 @@ msgstr "_Počakaj"
|
|||||||
msgid "_Force Quit"
|
msgid "_Force Quit"
|
||||||
msgstr "_Vsili konec"
|
msgstr "_Vsili konec"
|
||||||
|
|
||||||
#: ../src/core/display.c:361
|
#: ../src/core/display.c:380
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Missing %s extension required for compositing"
|
msgid "Missing %s extension required for compositing"
|
||||||
msgstr "Manjka razširitev %s, ki je ključna za sestavljanje"
|
msgstr "Manjka razširitev %s, ki je ključna za sestavljanje"
|
||||||
|
|
||||||
#: ../src/core/display.c:427
|
#: ../src/core/display.c:446
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to open X Window System display '%s'\n"
|
msgid "Failed to open X Window System display '%s'\n"
|
||||||
msgstr "Ni mogoče odpreti zaslona '%s' okenskega sistema X\n"
|
msgstr "Ni mogoče odpreti zaslona '%s' okenskega sistema X\n"
|
||||||
@@ -88,36 +88,36 @@ msgstr "Ni mogoče odpreti zaslona '%s' okenskega sistema X\n"
|
|||||||
msgid "Some other program is already using the key %s with modifiers %x as a binding\n"
|
msgid "Some other program is already using the key %s with modifiers %x as a binding\n"
|
||||||
msgstr "Tipko %s s spremenilnikom %x uporablja že nek drug program\n"
|
msgstr "Tipko %s s spremenilnikom %x uporablja že nek drug program\n"
|
||||||
|
|
||||||
#: ../src/core/main.c:206
|
#: ../src/core/main.c:196
|
||||||
msgid "Disable connection to session manager"
|
msgid "Disable connection to session manager"
|
||||||
msgstr "Onemogoči povezavo z upravljalnikom sej"
|
msgstr "Onemogoči povezavo z upravljalnikom sej"
|
||||||
|
|
||||||
#: ../src/core/main.c:212
|
#: ../src/core/main.c:202
|
||||||
msgid "Replace the running window manager"
|
msgid "Replace the running window manager"
|
||||||
msgstr "Zamenjaj trenutni upravljalnik oken"
|
msgstr "Zamenjaj trenutni upravljalnik oken"
|
||||||
|
|
||||||
#: ../src/core/main.c:218
|
#: ../src/core/main.c:208
|
||||||
msgid "Specify session management ID"
|
msgid "Specify session management ID"
|
||||||
msgstr "Navedite ID upravljanja seje"
|
msgstr "Navedite ID upravljanja seje"
|
||||||
|
|
||||||
#: ../src/core/main.c:223
|
#: ../src/core/main.c:213
|
||||||
msgid "X Display to use"
|
msgid "X Display to use"
|
||||||
msgstr "Zaslon X za uporabo"
|
msgstr "Zaslon X za uporabo"
|
||||||
|
|
||||||
#: ../src/core/main.c:229
|
#: ../src/core/main.c:219
|
||||||
msgid "Initialize session from savefile"
|
msgid "Initialize session from savefile"
|
||||||
msgstr "Začni sejo iz shranjene datoteke"
|
msgstr "Začni sejo iz shranjene datoteke"
|
||||||
|
|
||||||
#: ../src/core/main.c:235
|
#: ../src/core/main.c:225
|
||||||
msgid "Make X calls synchronous"
|
msgid "Make X calls synchronous"
|
||||||
msgstr "Uskladi klice X"
|
msgstr "Uskladi klice X"
|
||||||
|
|
||||||
#: ../src/core/main.c:504
|
#: ../src/core/main.c:494
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to scan themes directory: %s\n"
|
msgid "Failed to scan themes directory: %s\n"
|
||||||
msgstr "Ni mogoče preiskati mape tem: %s\n"
|
msgstr "Ni mogoče preiskati mape tem: %s\n"
|
||||||
|
|
||||||
#: ../src/core/main.c:520
|
#: ../src/core/main.c:510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
msgid "Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||||
msgstr "Ni mogoče najti teme! Prepričajte se, da %s obstaja in vsebuje običajni zapis teme.\n"
|
msgstr "Ni mogoče najti teme! Prepričajte se, da %s obstaja in vsebuje običajni zapis teme.\n"
|
||||||
@@ -140,55 +140,55 @@ msgid "Print version"
|
|||||||
msgstr "Izpiši različico"
|
msgstr "Izpiši različico"
|
||||||
|
|
||||||
#: ../src/core/mutter.c:60
|
#: ../src/core/mutter.c:60
|
||||||
msgid "Comma-separated list of compositor plugins"
|
msgid "Mutter plugin to use"
|
||||||
msgstr "Z vejico ločen seznam vstavkov sestavljanja"
|
msgstr "Vstavek Mutter za uporabo"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1067
|
#: ../src/core/prefs.c:1064
|
||||||
msgid "Workarounds for broken applications disabled. Some applications may not behave properly.\n"
|
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"
|
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:1142
|
#: ../src/core/prefs.c:1139
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse font description \"%s\" from GSettings key %s\n"
|
msgid "Could not parse font description \"%s\" from GSettings key %s\n"
|
||||||
msgstr "Ni mogoče razčleniti opisa pisave \"%s\" iz ključa GSettings %s\n"
|
msgstr "Ni mogoče razčleniti opisa pisave \"%s\" iz ključa GSettings %s\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1208
|
#: ../src/core/prefs.c:1205
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "\"%s\" found in configuration database is not a valid value for mouse button modifier\n"
|
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"
|
msgstr "\"%s\", najden v podatkovni zbirki nastavitev, ni veljaven spremenilnik za miškine gumbe.\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1720
|
#: ../src/core/prefs.c:1723
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "\"%s\" found in configuration database is not a valid value for keybinding \"%s\"\n"
|
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"
|
msgstr "\"%s\", najden v podatkovni zbirki nastavitev, ni veljaven ključ za tipkovno bližnjico \"%s\"\n"
|
||||||
|
|
||||||
# G:1 K:0 O:0
|
# G:1 K:0 O:0
|
||||||
#: ../src/core/prefs.c:1817
|
#: ../src/core/prefs.c:1820
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "Delovna površina %d"
|
msgstr "Delovna površina %d"
|
||||||
|
|
||||||
#: ../src/core/screen.c:730
|
#: ../src/core/screen.c:652
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display '%s' is invalid\n"
|
msgid "Screen %d on display '%s' is invalid\n"
|
||||||
msgstr "Zaslon %d na prikazu '%s' ni veljaven\n"
|
msgstr "Zaslon %d na prikazu '%s' ni veljaven\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:746
|
#: ../src/core/screen.c:668
|
||||||
#, c-format
|
#, 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"
|
msgid "Screen %d on display \"%s\" already has a window manager; try using the --replace option to replace the current window manager.\n"
|
||||||
msgstr "Zaslon %d na prikazu \"%s\" je že upravljan z upravljalnikom oken; poskušajte uporabiti možnost --replace za zamenjavo trenutnega.\n"
|
msgstr "Zaslon %d na prikazu \"%s\" je že upravljan z upravljalnikom oken; poskušajte uporabiti možnost --replace za zamenjavo trenutnega.\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:773
|
#: ../src/core/screen.c:695
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not acquire window manager selection on screen %d display \"%s\"\n"
|
msgid "Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||||
msgstr "Ni mogoče dobiti izbire upravljalnika oken na zaslonu %d prikaza \"%s\"\n"
|
msgstr "Ni mogoče dobiti izbire upravljalnika oken na zaslonu %d prikaza \"%s\"\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:828
|
#: ../src/core/screen.c:750
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||||
msgstr "Zaslon %d na prikazu \"%s\" je že upravljan z upravljalnikom oken\n"
|
msgstr "Zaslon %d na prikazu \"%s\" je že upravljan z upravljalnikom oken\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:1013
|
#: ../src/core/screen.c:935
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not release screen %d on display \"%s\"\n"
|
msgid "Could not release screen %d on display \"%s\"\n"
|
||||||
msgstr "Ni mogoče opustiti zaslona %d na prikazu \"%s\"\n"
|
msgstr "Ni mogoče opustiti zaslona %d na prikazu \"%s\"\n"
|
||||||
@@ -249,46 +249,46 @@ msgstr "Neznan predmet %s"
|
|||||||
msgid "These windows do not support "save current setup" and will have to be restarted manually next time you log in."
|
msgid "These windows do not support "save current setup" and will have to be restarted manually next time you log in."
|
||||||
msgstr "Ta okna ne podpirajo možnosti "shranjevanja trenutnih nastavitev", zato jih bo treba ob naslednji prijavi zagnati ročno."
|
msgstr "Ta okna ne podpirajo možnosti "shranjevanja trenutnih nastavitev", zato jih bo treba ob naslednji prijavi zagnati ročno."
|
||||||
|
|
||||||
#: ../src/core/util.c:111
|
#: ../src/core/util.c:80
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to open debug log: %s\n"
|
msgid "Failed to open debug log: %s\n"
|
||||||
msgstr "Napaka med odpiranjem dnevnika razhroščevanja: %s\n"
|
msgstr "Napaka med odpiranjem dnevnika razhroščevanja: %s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:121
|
#: ../src/core/util.c:90
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to fdopen() log file %s: %s\n"
|
msgid "Failed to fdopen() log file %s: %s\n"
|
||||||
msgstr "Napaka ukaza fdopen() dnevniške datoteke %s: %s\n"
|
msgstr "Napaka ukaza fdopen() dnevniške datoteke %s: %s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:127
|
#: ../src/core/util.c:96
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Opened log file %s\n"
|
msgid "Opened log file %s\n"
|
||||||
msgstr "Odprta dnevniška datoteka %s\n"
|
msgstr "Odprta dnevniška datoteka %s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:146
|
#: ../src/core/util.c:115
|
||||||
#: ../src/tools/mutter-message.c:149
|
#: ../src/tools/mutter-message.c:149
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Mutter was compiled without support for verbose mode\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"
|
msgstr "Program Mutter je kodno preveden brez podpore za podrobni način izpisovanja\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:290
|
#: ../src/core/util.c:259
|
||||||
msgid "Window manager: "
|
msgid "Window manager: "
|
||||||
msgstr "Upravljalnik oken: "
|
msgstr "Upravljalnik oken: "
|
||||||
|
|
||||||
# G:4 K:0 O:0
|
# G:4 K:0 O:0
|
||||||
#: ../src/core/util.c:438
|
#: ../src/core/util.c:407
|
||||||
msgid "Bug in window manager: "
|
msgid "Bug in window manager: "
|
||||||
msgstr "Hrošč v upravljalniku oken: "
|
msgstr "Hrošč v upravljalniku oken: "
|
||||||
|
|
||||||
#: ../src/core/util.c:471
|
#: ../src/core/util.c:438
|
||||||
msgid "Window manager warning: "
|
msgid "Window manager warning: "
|
||||||
msgstr "Opozorilo upravljalnika oken: "
|
msgstr "Opozorilo upravljalnika oken: "
|
||||||
|
|
||||||
#: ../src/core/util.c:499
|
#: ../src/core/util.c:466
|
||||||
msgid "Window manager error: "
|
msgid "Window manager error: "
|
||||||
msgstr "Napaka upravljalnika oken: "
|
msgstr "Napaka upravljalnika oken: "
|
||||||
|
|
||||||
#. first time through
|
#. first time through
|
||||||
#: ../src/core/window.c:7180
|
#: ../src/core/window.c:7234
|
||||||
#, c-format
|
#, 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"
|
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"
|
msgstr "Okno %s nastavi svoj SM_CLIENT_ID, namesto, da bi nastavilo WM_CLIENT_LEADER kot je zavedeno v ICCCM.\n"
|
||||||
@@ -300,27 +300,27 @@ 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
|
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||||
#. * about these apps but make them work.
|
#. * about these apps but make them work.
|
||||||
#.
|
#.
|
||||||
#: ../src/core/window.c:7843
|
#: ../src/core/window.c:7899
|
||||||
#, c-format
|
#, 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"
|
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"
|
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"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:309
|
#: ../src/core/window-props.c:310
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Application set a bogus _NET_WM_PID %lu\n"
|
msgid "Application set a bogus _NET_WM_PID %lu\n"
|
||||||
msgstr "Program je nastavil pokvarjen _NET_WM_PID %lu\n"
|
msgstr "Program je nastavil pokvarjen _NET_WM_PID %lu\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:426
|
#: ../src/core/window-props.c:429
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s (on %s)"
|
msgid "%s (on %s)"
|
||||||
msgstr "%s (na %s)"
|
msgstr "%s (na %s)"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:1481
|
#: ../src/core/window-props.c:1484
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
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"
|
msgstr "Neveljaven WM_TRANSIENT_FOR za okno 0x%lx naveden za %s.\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:1492
|
#: ../src/core/window-props.c:1495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
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"
|
msgstr "Predmet WM_TRANSIENT_FOR okna 0x%lx za %s lahko ustvari zanko.\n"
|
||||||
@@ -356,122 +356,74 @@ msgid "Mutter"
|
|||||||
msgstr "Mutter"
|
msgstr "Mutter"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:1
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:1
|
||||||
|
msgid "Modifier to use for extended window management operations"
|
||||||
|
msgstr "Spremenilnik, ki naj se uporabi za upravljanje oken"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:2
|
||||||
|
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/org.gnome.mutter.gschema.xml.in.h:3
|
||||||
msgid "Attach modal dialogs"
|
msgid "Attach modal dialogs"
|
||||||
msgstr "Pripni modalna pogovorna okna"
|
msgstr "Pripni modalna pogovorna okna"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:2
|
|
||||||
msgid "Cancel tab popup"
|
|
||||||
msgstr "Prekliči pojavni zavihek"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:3
|
|
||||||
msgid "Determines whether hidden windows (i.e., minimized windows and windows on other workspaces than the current one) should be kept alive."
|
|
||||||
msgstr "Določa ali naj se skrita okna (skrčena okna in okna na drugih delovnih površinah) ohranjajo odprta."
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:4
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:4
|
||||||
msgid "Determines whether the use of popup and highlight frame should be disabled for window cycling."
|
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 "Določa ali naj bo uporaba pojavnih zavihkov in poudarjanja onemogočena med kroženjem oken."
|
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/org.gnome.mutter.gschema.xml.in.h:5
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:5
|
||||||
msgid "Determines whether workspace switching should happen for windows on all monitors or only for windows on the primary monitor."
|
|
||||||
msgstr "Določa ali naj se delovne površine preklapljajo na vseh zaslonih ali le na prvem, glavnem zaslonu."
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:6
|
|
||||||
msgid "Draggable border width"
|
|
||||||
msgstr "Prilagodljiva obroba pravokotnika"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:7
|
|
||||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
msgstr "Omogoči prilagajanje velikosti okna ob dotiku robov zaslona"
|
msgstr "Omogoči prilagajanje velikosti okna ob dotiku robov zaslona"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:8
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:6
|
||||||
msgid "If enabled, dropping windows on vertical screen edges maximizes them vertically and resizes them horizontally to cover half of the available area. Dropping windows on the top screen edge maximizes them completely."
|
msgid "If enabled, dropping windows on vertical screen edges maximizes them vertically and resizes them horizontally to cover half of the available area. Dropping windows on the top screen edge maximizes them completely."
|
||||||
msgstr "Izbrana možnost omogoča, da se okna, ki se dotaknejo navpičnih robov zaslona razpeta po navpični osi in razširjena na polovično širino. Dotik vrhnjega roba razpne okno čez cel zaslon."
|
msgstr "Izbrana možnost omogoča, da se okna, ki se dotaknejo navpičnih robov zaslona razpeta po navpični osi in razširjena na polovično širino. Dotik vrhnjega roba razpne okno čez cel zaslon."
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:7
|
||||||
|
msgid "Workspaces are managed dynamically"
|
||||||
|
msgstr "Število delovnih površin je spremenljivo"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:8
|
||||||
|
msgid "Determines whether workspaces are managed dynamically or whether there's a static number of workspaces (determined by the num-workspaces key in org.gnome.desktop.wm.preferences)."
|
||||||
|
msgstr "Možnost določa ali je število delovnih površin spremenljivo ali pa je to število stalno (določenih s ključem števila delovnih površin med možnostmi v org.gnome.desktop.wm.preferences)."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:9
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:9
|
||||||
msgid "Live Hidden Windows"
|
msgid "Workspaces only on primary"
|
||||||
msgstr "Ohranjena skrita okna"
|
msgstr "Delovne površine le na prvem zaslonu"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:10
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:10
|
||||||
msgid "Modifier to use for extended window management operations"
|
msgid "Determines whether workspace switching should happen for windows on all monitors or only for windows on the primary monitor."
|
||||||
msgstr "Spremenilnik, ki naj se uporabi za upravljanje oken"
|
msgstr "Določa ali naj se delovne površine preklapljajo na vseh zaslonih ali le na prvem, glavnem zaslonu."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:11
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:11
|
||||||
msgid "No tab popup"
|
msgid "No tab popup"
|
||||||
msgstr "Brez pojavnih zavihkov"
|
msgstr "Brez pojavnih zavihkov"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:12
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:12
|
||||||
msgid "Select window from tab popup"
|
msgid "Determines whether the use of popup and highlight frame should be disabled for window cycling."
|
||||||
msgstr "Izbor okna iz pojavnega zavihka"
|
msgstr "Določa ali naj bo uporaba pojavnih zavihkov in poudarjanja onemogočena med kroženjem oken."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:13
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:13
|
||||||
|
msgid "Draggable border width"
|
||||||
|
msgstr "Prilagodljiva obroba pravokotnika"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:14
|
||||||
msgid "The amount of total draggable borders. If the theme's visible borders are not enough, invisible borders will be added to meet this value."
|
msgid "The amount of total draggable borders. If the theme's visible borders are not enough, invisible borders will be added to meet this value."
|
||||||
msgstr "Delež skupne prilagodljive obrobe. V kolikor vidni robovi teme niso dovolj, so dodane nevidne obrobe, za dodatno prilagajanje."
|
msgstr "Delež skupne prilagodljive obrobe. V kolikor vidni robovi teme niso dovolj, so dodane nevidne obrobe, za dodatno prilagajanje."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:14
|
|
||||||
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/org.gnome.mutter.gschema.xml.in.h:15
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:15
|
||||||
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."
|
msgid "Select window from tab popup"
|
||||||
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."
|
msgstr "Izbor okna iz pojavnega zavihka"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:16
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:16
|
||||||
msgid "Workspaces only on primary"
|
msgid "Cancel tab popup"
|
||||||
msgstr "Delovne površine le na prvem zaslonu"
|
msgstr "Prekliči pojavni zavihek"
|
||||||
|
|
||||||
#: ../src/tools/mutter-message.c:123
|
#: ../src/tools/mutter-message.c:123
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Usage: %s\n"
|
msgid "Usage: %s\n"
|
||||||
msgstr "Uporaba: %s\n"
|
msgstr "Uporaba: %s\n"
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1157
|
|
||||||
msgid "Close Window"
|
|
||||||
msgstr "Zapri okno"
|
|
||||||
|
|
||||||
# G:1 K:1 O:0
|
|
||||||
#: ../src/ui/frames.c:1160
|
|
||||||
msgid "Window Menu"
|
|
||||||
msgstr "Meni okna"
|
|
||||||
|
|
||||||
# G:0 K:1 O:0
|
|
||||||
#: ../src/ui/frames.c:1163
|
|
||||||
msgid "Minimize Window"
|
|
||||||
msgstr "Skrči okno"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1166
|
|
||||||
msgid "Maximize Window"
|
|
||||||
msgstr "Razpni okno"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1169
|
|
||||||
msgid "Restore Window"
|
|
||||||
msgstr "Obnovi okno"
|
|
||||||
|
|
||||||
# G:2 K:0 O:0
|
|
||||||
#: ../src/ui/frames.c:1172
|
|
||||||
msgid "Roll Up Window"
|
|
||||||
msgstr "Zavij okno"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1175
|
|
||||||
msgid "Unroll Window"
|
|
||||||
msgstr "Odvij okno"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1178
|
|
||||||
msgid "Keep Window On Top"
|
|
||||||
msgstr "Ohrani okno na vrhu"
|
|
||||||
|
|
||||||
#: ../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:1184
|
|
||||||
msgid "Always On Visible Workspace"
|
|
||||||
msgstr "Vedno na vidni delovni površini"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1187
|
|
||||||
msgid "Put Window On Only One Workspace"
|
|
||||||
msgstr "Postavi okno na samo eno delovno površino"
|
|
||||||
|
|
||||||
#. Translators: Translate this string the same way as you do in libwnck!
|
#. Translators: Translate this string the same way as you do in libwnck!
|
||||||
#: ../src/ui/menu.c:69
|
#: ../src/ui/menu.c:69
|
||||||
msgid "Mi_nimize"
|
msgid "Mi_nimize"
|
||||||
@@ -690,251 +642,251 @@ msgstr "Mod5"
|
|||||||
msgid "%d x %d"
|
msgid "%d x %d"
|
||||||
msgstr "%d x %d"
|
msgstr "%d x %d"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:253
|
#: ../src/ui/theme.c:234
|
||||||
msgid "top"
|
msgid "top"
|
||||||
msgstr "zgoraj"
|
msgstr "zgoraj"
|
||||||
|
|
||||||
# G:12 K:5 O:0
|
# G:12 K:5 O:0
|
||||||
#: ../src/ui/theme.c:255
|
#: ../src/ui/theme.c:236
|
||||||
msgid "bottom"
|
msgid "bottom"
|
||||||
msgstr "spodaj"
|
msgstr "spodaj"
|
||||||
|
|
||||||
# G:10 K:4 O:0
|
# G:10 K:4 O:0
|
||||||
#: ../src/ui/theme.c:257
|
#: ../src/ui/theme.c:238
|
||||||
msgid "left"
|
msgid "left"
|
||||||
msgstr "levo"
|
msgstr "levo"
|
||||||
|
|
||||||
# G:1 K:0 O:0
|
# G:1 K:0 O:0
|
||||||
#: ../src/ui/theme.c:259
|
#: ../src/ui/theme.c:240
|
||||||
msgid "right"
|
msgid "right"
|
||||||
msgstr "desno"
|
msgstr "desno"
|
||||||
|
|
||||||
# G:1 K:0 O:0
|
# G:1 K:0 O:0
|
||||||
#: ../src/ui/theme.c:286
|
#: ../src/ui/theme.c:268
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "frame geometry does not specify \"%s\" dimension"
|
msgid "frame geometry does not specify \"%s\" dimension"
|
||||||
msgstr "geometrija okvirja ne navaja dimenzije \"%s\""
|
msgstr "geometrija okvirja ne navaja dimenzije \"%s\""
|
||||||
|
|
||||||
#: ../src/ui/theme.c:305
|
#: ../src/ui/theme.c:287
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||||
msgstr "geometrija okvirja ne navaja dimenzije \"%s\" za rob \"%s\""
|
msgstr "geometrija okvirja ne navaja dimenzije \"%s\" za rob \"%s\""
|
||||||
|
|
||||||
#: ../src/ui/theme.c:342
|
#: ../src/ui/theme.c:324
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Button aspect ratio %g is not reasonable"
|
msgid "Button aspect ratio %g is not reasonable"
|
||||||
msgstr "Vrednost razmerja gumba %g ni smiselna"
|
msgstr "Vrednost razmerja gumba %g ni smiselna"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:354
|
#: ../src/ui/theme.c:336
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Frame geometry does not specify size of buttons"
|
msgid "Frame geometry does not specify size of buttons"
|
||||||
msgstr "Geometrija okvirja ne navaja velikosti gumbov"
|
msgstr "Geometrija okvirja ne navaja velikosti gumbov"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1067
|
#: ../src/ui/theme.c:1049
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Gradients should have at least two colors"
|
msgid "Gradients should have at least two colors"
|
||||||
msgstr "Prelivi bi morali imeti vsaj dve barvi"
|
msgstr "Prelivi bi morali imeti vsaj dve barvi"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1219
|
#: ../src/ui/theme.c:1201
|
||||||
#, c-format
|
#, 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\""
|
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\""
|
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:1235
|
#: ../src/ui/theme.c:1217
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-_ are valid"
|
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-_."
|
msgstr "Neveljaven znak '%c' v imenu barve gtk:izbirno; dovoljeni znaki so le A-Za-z0-9-_."
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1249
|
#: ../src/ui/theme.c:1231
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not fit the 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."
|
msgstr "Gtk:zapis po meri \"gtk:izbirno(ime_barve,povrnjena_barva)\", \"%s\" ne ustreza pravilni obliki."
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1294
|
#: ../src/ui/theme.c:1276
|
||||||
#, c-format
|
#, 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\""
|
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\""
|
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:1308
|
#: ../src/ui/theme.c:1290
|
||||||
#, c-format
|
#, 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 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\""
|
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:1319
|
#: ../src/ui/theme.c:1301
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Did not understand state \"%s\" in color specification"
|
msgid "Did not understand state \"%s\" in color specification"
|
||||||
msgstr "Ni mogoče razumeti stanja \"%s\" v navedbi barve "
|
msgstr "Ni mogoče razumeti stanja \"%s\" v navedbi barve "
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1332
|
#: ../src/ui/theme.c:1314
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Did not understand color component \"%s\" in color specification"
|
msgid "Did not understand color component \"%s\" in color specification"
|
||||||
msgstr "Ni mogoče razumeti barvne komponente \"%s\" v navedbi barve"
|
msgstr "Ni mogoče razumeti barvne komponente \"%s\" v navedbi barve"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1361
|
#: ../src/ui/theme.c:1343
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the 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"
|
msgstr "Oblika zapisa preliva je \"blend/bg_color/fg_color/alpha\", \"%s\" ne ustreza pravilni obliki"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1372
|
#: ../src/ui/theme.c:1354
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||||
msgstr "V prelivni barvi ni mogoče razčleniti vrednosti alfa \"%s\""
|
msgstr "V prelivni barvi ni mogoče razčleniti vrednosti alfa \"%s\""
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1382
|
#: ../src/ui/theme.c:1364
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
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"
|
msgstr "V prelivni barvi alfa vrednost \"%s\" ni med 0.0 in 1.0"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1429
|
#: ../src/ui/theme.c:1411
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the 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."
|
msgstr "Oblika zapisa barve senčenja je \"shade/base_color/factor\", \"%s\" ne ustreza pravilni obliki."
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1440
|
#: ../src/ui/theme.c:1422
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||||
msgstr "Ni mogoče razčleniti vrednosti senčenja \"%s\" v senčeni barvi"
|
msgstr "Ni mogoče razčleniti vrednosti senčenja \"%s\" v senčeni barvi"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1450
|
#: ../src/ui/theme.c:1432
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||||
msgstr "V senčeni barvi je vrednost senčenja \"%s\" negativna"
|
msgstr "V senčeni barvi je vrednost senčenja \"%s\" negativna"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1479
|
#: ../src/ui/theme.c:1461
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse color \"%s\""
|
msgid "Could not parse color \"%s\""
|
||||||
msgstr "Ni mogoče razčleniti barve \"%s\""
|
msgstr "Ni mogoče razčleniti barve \"%s\""
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1790
|
#: ../src/ui/theme.c:1778
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||||
msgstr "Izraz koordinat vsebuje znak '%s', ki pa ni dovoljen"
|
msgstr "Izraz koordinat vsebuje znak '%s', ki pa ni dovoljen"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1817
|
#: ../src/ui/theme.c:1805
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression contains floating point number '%s' which could not be parsed"
|
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"
|
msgstr "Izraz koordinat vsebuje številko s plavajočo vejico '%s', ki je ni mogoče razčleniti"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1831
|
#: ../src/ui/theme.c:1819
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
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"
|
msgstr "Izraz koordinat vsebuje celo število '%s', ki ga ni mogoče razčleniti"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1953
|
#: ../src/ui/theme.c:1940
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression contained unknown operator at the start of this text: \"%s\""
|
msgid "Coordinate expression contained unknown operator at the start of this text: \"%s\""
|
||||||
msgstr "Izraz koordinat vsebuje neznan operator na začetku besedila: \"%s\""
|
msgstr "Izraz koordinat vsebuje neznan operator na začetku besedila: \"%s\""
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2010
|
#: ../src/ui/theme.c:1997
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression was empty or not understood"
|
msgid "Coordinate expression was empty or not understood"
|
||||||
msgstr "Izraz koordinat je prazen ali pa ni v razumljivem zapisu"
|
msgstr "Izraz koordinat je prazen ali pa ni v razumljivem zapisu"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2121
|
#: ../src/ui/theme.c:2110
|
||||||
#: ../src/ui/theme.c:2131
|
#: ../src/ui/theme.c:2120
|
||||||
#: ../src/ui/theme.c:2165
|
#: ../src/ui/theme.c:2154
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression results in division by zero"
|
msgid "Coordinate expression results in division by zero"
|
||||||
msgstr "Izraz koordinat povzroči deljenje z vrednostjo nič"
|
msgstr "Izraz koordinat povzroči deljenje z vrednostjo nič"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2173
|
#: ../src/ui/theme.c:2162
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression tries to use mod operator on a floating-point number"
|
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"
|
msgstr "Izraz koordinat poskuša uporabiti operator mod ali številko s plavajočo vejico"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2229
|
#: ../src/ui/theme.c:2218
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression has an operator \"%s\" where an operand was expected"
|
msgid "Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||||
msgstr "Izraz koordinat vsebuje operator \"%s\", kjer je pričakovan operand"
|
msgstr "Izraz koordinat vsebuje operator \"%s\", kjer je pričakovan operand"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2238
|
#: ../src/ui/theme.c:2227
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had an operand where an operator was expected"
|
msgid "Coordinate expression had an operand where an operator was expected"
|
||||||
msgstr "Izraz koordinat vsebuje operand kjer je pričakovan operator"
|
msgstr "Izraz koordinat vsebuje operand kjer je pričakovan operator"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2246
|
#: ../src/ui/theme.c:2235
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||||
msgstr "Izraz koordinat se konča z operatorjem namesto z operandom"
|
msgstr "Izraz koordinat se konča z operatorjem namesto z operandom"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2256
|
#: ../src/ui/theme.c:2245
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression has operator \"%c\" following operator \"%c\" with no operand in between"
|
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"
|
msgstr "Izraz koordinat vsebuje operator \"%c\", ki sledi operatorju \"%c\", brez vmesnega operanda"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2407
|
#: ../src/ui/theme.c:2396
|
||||||
#: ../src/ui/theme.c:2452
|
#: ../src/ui/theme.c:2441
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||||
msgstr "Izraz koordinat vsebuje neznano spremenljivko ali konstanto \"%s\""
|
msgstr "Izraz koordinat vsebuje neznano spremenljivko ali konstanto \"%s\""
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2506
|
#: ../src/ui/theme.c:2495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression parser overflowed its buffer."
|
msgid "Coordinate expression parser overflowed its buffer."
|
||||||
msgstr "Razčlenjevalnik izrazov koordinat je preplavil medpomnilnik."
|
msgstr "Razčlenjevalnik izrazov koordinat je preplavil medpomnilnik."
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2535
|
#: ../src/ui/theme.c:2524
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||||
msgstr "Izraz koordinat vsebuje zaklepaj, ne pa tudi uklepaja"
|
msgstr "Izraz koordinat vsebuje zaklepaj, ne pa tudi uklepaja"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2599
|
#: ../src/ui/theme.c:2588
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||||
msgstr "Izraz koordinat vsebuje uklepaj, vendar je brez zaklepaja"
|
msgstr "Izraz koordinat vsebuje uklepaj, vendar je brez zaklepaja"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2610
|
#: ../src/ui/theme.c:2599
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||||
msgstr "Videti je, da izraz koordinat ne vsebuje operatorjev ali operandov"
|
msgstr "Videti je, da izraz koordinat ne vsebuje operatorjev ali operandov"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2822
|
#: ../src/ui/theme.c:2812
|
||||||
#: ../src/ui/theme.c:2842
|
#: ../src/ui/theme.c:2832
|
||||||
#: ../src/ui/theme.c:2862
|
#: ../src/ui/theme.c:2852
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||||
msgstr "Tema vsebuje izraz, ki povzroča napako: %s\n"
|
msgstr "Tema vsebuje izraz, ki povzroča napako: %s\n"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:4533
|
#: ../src/ui/theme.c:4498
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be specified for this frame style"
|
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\"/>"
|
msgstr "Za ta slog okvirja mora biti naveden <button function=\"%s\" state=\"%s\" draw_ops=\"karkoli\"/>"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5066
|
#: ../src/ui/theme.c:5009
|
||||||
#: ../src/ui/theme.c:5091
|
#: ../src/ui/theme.c:5034
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
msgid "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||||
msgstr "Manjka <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"karkoli\"/>"
|
msgstr "Manjka <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"karkoli\"/>"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5139
|
#: ../src/ui/theme.c:5082
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to load theme \"%s\": %s\n"
|
msgid "Failed to load theme \"%s\": %s\n"
|
||||||
msgstr "Napaka med nalaganjem teme \"%s\": %s\n"
|
msgstr "Napaka med nalaganjem teme \"%s\": %s\n"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5275
|
#: ../src/ui/theme.c:5218
|
||||||
#: ../src/ui/theme.c:5282
|
#: ../src/ui/theme.c:5225
|
||||||
#: ../src/ui/theme.c:5289
|
#: ../src/ui/theme.c:5232
|
||||||
#: ../src/ui/theme.c:5296
|
#: ../src/ui/theme.c:5239
|
||||||
#: ../src/ui/theme.c:5303
|
#: ../src/ui/theme.c:5246
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "No <%s> set for theme \"%s\""
|
msgid "No <%s> set for theme \"%s\""
|
||||||
msgstr "Ni nastavljena vrednost <%s> za temo \"%s\""
|
msgstr "Ni nastavljena vrednost <%s> za temo \"%s\""
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5311
|
#: ../src/ui/theme.c:5254
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "No frame style set for window type \"%s\" in theme \"%s\", add a <window type=\"%s\" style_set=\"whatever\"/> element"
|
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\"/>"
|
msgstr "Ni določenega sloga okvirja okna vrste \"%s\" v temi \"%s\". Dodajte predmet <window type=\"%s\" style_set=\"whatever\"/>"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5709
|
#: ../src/ui/theme.c:5650
|
||||||
#: ../src/ui/theme.c:5771
|
#: ../src/ui/theme.c:5712
|
||||||
#: ../src/ui/theme.c:5834
|
#: ../src/ui/theme.c:5775
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "User-defined constants must begin with a capital letter; \"%s\" does not"
|
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"
|
msgstr "Uporabniško določene konstante se morajo začeti z veliko črko; vrednost \"%s\" se ne"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5717
|
#: ../src/ui/theme.c:5658
|
||||||
#: ../src/ui/theme.c:5779
|
#: ../src/ui/theme.c:5720
|
||||||
#: ../src/ui/theme.c:5842
|
#: ../src/ui/theme.c:5783
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Constant \"%s\" has already been defined"
|
msgid "Constant \"%s\" has already been defined"
|
||||||
msgstr "Konstanta \"%s\" je že določena"
|
msgstr "Konstanta \"%s\" je že določena"
|
||||||
@@ -1306,7 +1258,7 @@ msgstr "Znotraj predmeta <%s> besedilo ni dovoljeno"
|
|||||||
msgid "<%s> specified twice for this theme"
|
msgid "<%s> specified twice for this theme"
|
||||||
msgstr "Vrednost <%s> je za to temo navedena dvakrat"
|
msgstr "Vrednost <%s> je za to temo navedena dvakrat"
|
||||||
|
|
||||||
#: ../src/ui/theme-parser.c:4348
|
#: ../src/ui/theme-parser.c:4334
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to find a valid file for theme %s\n"
|
msgid "Failed to find a valid file for theme %s\n"
|
||||||
msgstr "Ni mogoče najti veljavne datoteke za temo %s\n"
|
msgstr "Ni mogoče najti veljavne datoteke za temo %s\n"
|
||||||
@@ -1503,84 +1455,18 @@ msgstr "vrednost y je %d, pričakovana pa je %d"
|
|||||||
msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
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"
|
msgstr "%d izjav koordinat razčlenjenih v %g sekundah (%g sekund v povprečju)\n"
|
||||||
|
|
||||||
#~ msgid "Switch to workspace 1"
|
#~ msgid "Comma-separated list of compositor plugins"
|
||||||
#~ msgstr "Preklopi na delovno površino 1"
|
#~ msgstr "Z vejico ločen seznam vstavkov sestavljanja"
|
||||||
|
|
||||||
#~ msgid "Switch to workspace 2"
|
#~ msgid "Live Hidden Windows"
|
||||||
#~ msgstr "Preklopi na delovno površino 2"
|
#~ msgstr "Ohranjena skrita okna"
|
||||||
|
|
||||||
#~ msgid "Switch to workspace 3"
|
|
||||||
#~ msgstr "Preklopi na delovno površino 3"
|
|
||||||
|
|
||||||
#~ msgid "Switch to workspace 4"
|
|
||||||
#~ msgstr "Preklopi na delovno površino 4"
|
|
||||||
|
|
||||||
#~ msgid "Switch to workspace 5"
|
|
||||||
#~ msgstr "Preklopi na delovno površino 5"
|
|
||||||
|
|
||||||
#~ msgid "Switch to workspace 6"
|
|
||||||
#~ msgstr "Preklopi na delovno površino 6"
|
|
||||||
|
|
||||||
#~ msgid "Switch to workspace 7"
|
|
||||||
#~ msgstr "Preklopi na delovno površino 7"
|
|
||||||
|
|
||||||
#~ msgid "Switch to workspace 8"
|
|
||||||
#~ msgstr "Preklopi na delovno površino 8"
|
|
||||||
|
|
||||||
#~ msgid "Switch to workspace 9"
|
|
||||||
#~ msgstr "Preklopi na delovno površino 9"
|
|
||||||
|
|
||||||
#~ msgid "Switch to workspace 10"
|
|
||||||
#~ msgstr "Preklopi na delovno površino 10"
|
|
||||||
|
|
||||||
#~ msgid "Switch to workspace 11"
|
|
||||||
#~ msgstr "Preklopi na delovno površino 11"
|
|
||||||
|
|
||||||
#~ msgid "Switch to workspace 12"
|
|
||||||
#~ msgstr "Preklopi na delovno površino 12"
|
|
||||||
|
|
||||||
#~ msgid "Switch to workspace on the left of the current workspace"
|
|
||||||
#~ msgstr "Preklopi na delovno površino na levi od trenutne delovne površine"
|
|
||||||
|
|
||||||
#~ msgid "Switch to workspace on the right of the current workspace"
|
|
||||||
#~ msgstr "Preklopi na delovno površino na desni od trenutne delovne površine"
|
|
||||||
|
|
||||||
#~ msgid "Switch to workspace above the current workspace"
|
|
||||||
#~ msgstr "Preklopi na delovno površino nad trenutno delovno površino"
|
|
||||||
|
|
||||||
#~ msgid "Switch to workspace below the current workspace"
|
|
||||||
#~ msgstr "Preklopi na delovno površino pod trenutno delovno površino"
|
|
||||||
|
|
||||||
#~ msgid "Move between windows of an application, using a popup window"
|
|
||||||
#~ msgstr "Premakni med okni programa s pojavnim oknom"
|
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "Move backward between windows of an application, using a popup window"
|
#~ "Determines whether hidden windows (i.e., minimized windows and windows on "
|
||||||
#~ msgstr "Premakni nazaj med okni programa s pojavnim oknom"
|
#~ "other workspaces than the current one) should be kept alive."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Določa ali naj se skrita okna (skrčena okna in okna na drugih delovnih "
|
||||||
|
#~ "površinah) ohranjajo odprta."
|
||||||
|
|
||||||
#~ msgid "Move between windows, using a popup window"
|
#~ msgid "Close Window"
|
||||||
#~ msgstr "Premakni med okni s pojavnim oknom"
|
#~ msgstr "Zapri okno"
|
||||||
|
|
||||||
#~ msgid "Move backward between windows, using a popup window"
|
|
||||||
#~ msgstr "Premakni nazaj med okni s pojavnim oknom"
|
|
||||||
|
|
||||||
#~ msgid "Move between panels and the desktop, using a popup window"
|
|
||||||
#~ msgstr "Premakni med pulti in namizjem s pojavnim oknom"
|
|
||||||
|
|
||||||
#~ msgid "Move backward between panels and the desktop, using a popup window"
|
|
||||||
#~ msgstr "Premakni nazaj med pulti in namizjem s pojavnim oknom"
|
|
||||||
|
|
||||||
#~ msgid "Move between windows of an application immediately"
|
|
||||||
#~ msgstr "Takoj premakni med okni programa"
|
|
||||||
|
|
||||||
#~ msgid "Move backward between windows of an application immediately"
|
|
||||||
#~ msgstr "Takoj premakni nazaj med okni programa"
|
|
||||||
|
|
||||||
#~ msgid "Move between windows immediately"
|
|
||||||
#~ msgstr "Takoj premakni med okni"
|
|
||||||
|
|
||||||
#~ msgid "Move backward between windows immediately"
|
|
||||||
#~ msgstr "Takoj premakni nazaj med okni"
|
|
||||||
|
|
||||||
#~ msgid "Move between panels and the desktop immediately"
|
|
||||||
#~ msgstr "Takoj premakni med pulti in namizjem"
|
|
||||||
|
|||||||
1043
po/sr@latin.po
1043
po/sr@latin.po
File diff suppressed because it is too large
Load Diff
266
po/tr.po
266
po/tr.po
@@ -6,14 +6,14 @@
|
|||||||
# Baris Cicek <baris@teamforce.name.tr>, 2004, 2005, 2008, 2009.
|
# Baris Cicek <baris@teamforce.name.tr>, 2004, 2005, 2008, 2009.
|
||||||
# İlker DAĞLI <ilker@ilkerdagli.info>, 2011.
|
# İlker DAĞLI <ilker@ilkerdagli.info>, 2011.
|
||||||
# Muhammed EKEN <gnome@m-eken.com>, 2011.
|
# Muhammed EKEN <gnome@m-eken.com>, 2011.
|
||||||
# Muhammet Kara <muhammet.k@gmail.com>, 2011.
|
# Muhammet Kara <muhammet.k@gmail.com>, 2011, 2012.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: mutter master\n"
|
"Project-Id-Version: mutter master\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
||||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||||
"POT-Creation-Date: 2011-12-13 13:41+0000\n"
|
"POT-Creation-Date: 2012-03-15 21:29+0000\n"
|
||||||
"PO-Revision-Date: 2011-12-24 16:54+0200\n"
|
"PO-Revision-Date: 2012-03-23 21:56+0000\n"
|
||||||
"Last-Translator: Muhammet Kara <muhammet.k@gmail.com>\n"
|
"Last-Translator: Muhammet Kara <muhammet.k@gmail.com>\n"
|
||||||
"Language-Team: Turkish <gnome-turk@gnome.org>\n"
|
"Language-Team: Turkish <gnome-turk@gnome.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@@ -24,18 +24,17 @@ msgstr ""
|
|||||||
"Language: tr\n"
|
"Language: tr\n"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:1
|
#: ../src/50-mutter-windows.xml.in.h:1
|
||||||
|
msgid "Windows"
|
||||||
|
msgstr "Pencereler"
|
||||||
|
|
||||||
|
#: ../src/50-mutter-windows.xml.in.h:2
|
||||||
msgid "View split on left"
|
msgid "View split on left"
|
||||||
msgstr "Solda bölünmüş olarak göster"
|
msgstr "Solda bölünmüş olarak göster"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:2
|
#: ../src/50-mutter-windows.xml.in.h:3
|
||||||
msgid "View split on right"
|
msgid "View split on right"
|
||||||
msgstr "Sağda bölünmüş olarak göster"
|
msgstr "Sağda bölünmüş olarak göster"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:3
|
|
||||||
#| msgid "_Windows"
|
|
||||||
msgid "Windows"
|
|
||||||
msgstr "Pencereler"
|
|
||||||
|
|
||||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||||
#. * we have no way to get it to exit
|
#. * we have no way to get it to exit
|
||||||
#: ../src/compositor/compositor.c:492
|
#: ../src/compositor/compositor.c:492
|
||||||
@@ -81,12 +80,12 @@ msgstr "_Bekle"
|
|||||||
msgid "_Force Quit"
|
msgid "_Force Quit"
|
||||||
msgstr "_Sonlandır"
|
msgstr "_Sonlandır"
|
||||||
|
|
||||||
#: ../src/core/display.c:365
|
#: ../src/core/display.c:387
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Missing %s extension required for compositing"
|
msgid "Missing %s extension required for compositing"
|
||||||
msgstr "Kompozisyon için gerekli olan %s eklentisi eksik"
|
msgstr "Kompozisyon için gerekli olan %s eklentisi eksik"
|
||||||
|
|
||||||
#: ../src/core/display.c:431
|
#: ../src/core/display.c:453
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to open X Window System display '%s'\n"
|
msgid "Failed to open X Window System display '%s'\n"
|
||||||
msgstr "X Pencere Sistemi '%s' ekranı açılamadı\n"
|
msgstr "X Pencere Sistemi '%s' ekranı açılamadı\n"
|
||||||
@@ -137,7 +136,7 @@ msgstr ""
|
|||||||
"Hiç tema bulunamadı! %s varlığından ve bildiğimiz temaları içerdiğinden emin "
|
"Hiç tema bulunamadı! %s varlığından ve bildiğimiz temaları içerdiğinden emin "
|
||||||
"olun.\n"
|
"olun.\n"
|
||||||
|
|
||||||
#: ../src/core/mutter.c:42
|
#: ../src/core/mutter.c:40
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"mutter %s\n"
|
"mutter %s\n"
|
||||||
@@ -151,15 +150,15 @@ msgstr ""
|
|||||||
"Bu bir özgür yazılımdır; telif koşullarını öğrenmek için kaynak koda bakın.\n"
|
"Bu bir özgür yazılımdır; telif koşullarını öğrenmek için kaynak koda bakın.\n"
|
||||||
"Hiç bir garantisi, BELİRLİ BİR AMACA UYGUNLUĞU için dahi, YOKTUR.\n"
|
"Hiç bir garantisi, BELİRLİ BİR AMACA UYGUNLUĞU için dahi, YOKTUR.\n"
|
||||||
|
|
||||||
#: ../src/core/mutter.c:56
|
#: ../src/core/mutter.c:54
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Sürümü yazdır"
|
msgstr "Sürümü yazdır"
|
||||||
|
|
||||||
#: ../src/core/mutter.c:62
|
#: ../src/core/mutter.c:60
|
||||||
msgid "Comma-separated list of compositor plugins"
|
msgid "Comma-separated list of compositor plugins"
|
||||||
msgstr "Kompozisyon eklentilerinin listesi (virgül ile ayrılmış)"
|
msgstr "Kompozisyon eklentilerinin listesi (virgül ile ayrılmış)"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1067
|
#: ../src/core/prefs.c:1077
|
||||||
msgid ""
|
msgid ""
|
||||||
"Workarounds for broken applications disabled. Some applications may not "
|
"Workarounds for broken applications disabled. Some applications may not "
|
||||||
"behave properly.\n"
|
"behave properly.\n"
|
||||||
@@ -167,14 +166,13 @@ msgstr ""
|
|||||||
"Hatalı uygulamalara yönelik çözümler devre dışı. Bazı uygulamalar düzgün "
|
"Hatalı uygulamalara yönelik çözümler devre dışı. Bazı uygulamalar düzgün "
|
||||||
"işlemeyebilir.\n"
|
"işlemeyebilir.\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1142
|
#: ../src/core/prefs.c:1152
|
||||||
#, c-format
|
#, c-format
|
||||||
#| msgid "Could not parse font description \"%s\" from GConf key %s\n"
|
|
||||||
msgid "Could not parse font description \"%s\" from GSettings key %s\n"
|
msgid "Could not parse font description \"%s\" from GSettings key %s\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\"%s\" yazıtipi tanımlaması, %s GSettings anahtarından ayrıştırılamadı\n"
|
"\"%s\" yazıtipi tanımlaması, %s GSettings anahtarından ayrıştırılamadı\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1208
|
#: ../src/core/prefs.c:1218
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||||
@@ -183,7 +181,7 @@ msgstr ""
|
|||||||
"Yapılandırma veritabanında bulunan \"%s\", fare düğme düzenleyicisi olarak "
|
"Yapılandırma veritabanında bulunan \"%s\", fare düğme düzenleyicisi olarak "
|
||||||
"geçerli bir değer değil\n"
|
"geçerli bir değer değil\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1720
|
#: ../src/core/prefs.c:1739
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||||
@@ -192,17 +190,17 @@ msgstr ""
|
|||||||
"Yapılandırma veritabanında bulunan \"%s\", \"%s\" tuş bağı olarak geçerli "
|
"Yapılandırma veritabanında bulunan \"%s\", \"%s\" tuş bağı olarak geçerli "
|
||||||
"bir değer değil\n"
|
"bir değer değil\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1817
|
#: ../src/core/prefs.c:1836
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "Çalışma Alanı %d"
|
msgstr "Çalışma Alanı %d"
|
||||||
|
|
||||||
#: ../src/core/screen.c:741
|
#: ../src/core/screen.c:730
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display '%s' is invalid\n"
|
msgid "Screen %d on display '%s' is invalid\n"
|
||||||
msgstr "'%2$s' X oturumundaki ekran %1$d geçersiz\n"
|
msgstr "'%2$s' X oturumundaki ekran %1$d geçersiz\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:757
|
#: ../src/core/screen.c:746
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||||
@@ -212,7 +210,7 @@ msgstr ""
|
|||||||
"geçerli pencere yöneticisinin yerine bir başkasını koymak için --replace "
|
"geçerli pencere yöneticisinin yerine bir başkasını koymak için --replace "
|
||||||
"seçeneğini kullanmayı deneyin.\n"
|
"seçeneğini kullanmayı deneyin.\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:784
|
#: ../src/core/screen.c:773
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||||
@@ -220,13 +218,13 @@ msgstr ""
|
|||||||
"\"%2$s\" X oturumundaki ekran %1$d hangi pencere yöneticisine "
|
"\"%2$s\" X oturumundaki ekran %1$d hangi pencere yöneticisine "
|
||||||
"sahipöğrenilemedi\n"
|
"sahipöğrenilemedi\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:839
|
#: ../src/core/screen.c:828
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\"%2$s\" X oturumundaki ekran %1$d bir pencere yöneticisine zaten sahip\n"
|
"\"%2$s\" X oturumundaki ekran %1$d bir pencere yöneticisine zaten sahip\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:1024
|
#: ../src/core/screen.c:1013
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not release screen %d on display \"%s\"\n"
|
msgid "Could not release screen %d on display \"%s\"\n"
|
||||||
msgstr "\"%2$s\" X oturumundaki ekran %1$d serberst bırakılamadı\"\n"
|
msgstr "\"%2$s\" X oturumundaki ekran %1$d serberst bırakılamadı\"\n"
|
||||||
@@ -325,7 +323,7 @@ msgid "Window manager error: "
|
|||||||
msgstr "Pencere yöneticisi hatası: "
|
msgstr "Pencere yöneticisi hatası: "
|
||||||
|
|
||||||
#. first time through
|
#. first time through
|
||||||
#: ../src/core/window.c:7145
|
#: ../src/core/window.c:7269
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||||
@@ -341,7 +339,7 @@ msgstr ""
|
|||||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||||
#. * about these apps but make them work.
|
#. * about these apps but make them work.
|
||||||
#.
|
#.
|
||||||
#: ../src/core/window.c:7808
|
#: ../src/core/window.c:7932
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
|
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
|
||||||
@@ -404,14 +402,40 @@ msgid "Mutter"
|
|||||||
msgstr "Mutter"
|
msgstr "Mutter"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:1
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:1
|
||||||
|
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/org.gnome.mutter.gschema.xml.in.h:2
|
||||||
|
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 ""
|
||||||
|
"Bu anahtar, pencere genel görünümü ve uygulama başlatma sisteminin bir "
|
||||||
|
"birleşimi olan \"bindirme\" işlemini başlatır. Öntanımlı olarak PC "
|
||||||
|
"donanımındaki \"windows tuşu\" olması tasarlanmıştır. Bağlayıcı varsayılan "
|
||||||
|
"olarak veya boş dize olarak ayarlanması beklenir."
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:3
|
||||||
msgid "Attach modal dialogs"
|
msgid "Attach modal dialogs"
|
||||||
msgstr "Yardımcı diyalogları ekle"
|
msgstr "Yardımcı diyalogları ekle"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:2
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:4
|
||||||
msgid "Cancel tab popup"
|
msgid ""
|
||||||
msgstr "Sekmeyi yeni pencerede açmayı iptal et"
|
"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 ""
|
||||||
|
"Eğer \"doğru\" ise, bağımsız başlık çubuklarına sahip olduğundan, yardım "
|
||||||
|
"diyalogları üst pencerenin başlık çubuğunda ekli gözükür ve üst pencere ile "
|
||||||
|
"birlikte hareket eder."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:3
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:5
|
||||||
|
msgid "Live Hidden Windows"
|
||||||
|
msgstr "Çalışır Durumdaki Gizli Pencereler"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:6
|
||||||
msgid ""
|
msgid ""
|
||||||
"Determines whether hidden windows (i.e., minimized windows and windows on "
|
"Determines whether hidden windows (i.e., minimized windows and windows on "
|
||||||
"other workspaces than the current one) should be kept alive."
|
"other workspaces than the current one) should be kept alive."
|
||||||
@@ -419,27 +443,6 @@ msgstr ""
|
|||||||
"Gizli pencerelerin (ö.r. küçültülmüş pencereler ve diğer çalışma alanındaki "
|
"Gizli pencerelerin (ö.r. küçültülmüş pencereler ve diğer çalışma alanındaki "
|
||||||
"pencereler) çalışır bırakılıp bırakılmayacağını belirler."
|
"pencereler) çalışır bırakılıp bırakılmayacağını belirler."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:4
|
|
||||||
msgid ""
|
|
||||||
"Determines whether the use of popup and highlight frame should be disabled "
|
|
||||||
"for window cycling."
|
|
||||||
msgstr ""
|
|
||||||
"Pencere geçişinde çerçeve vurgulanması ve açılır pencere kullanımının "
|
|
||||||
"kapatılıp "
|
|
||||||
"kapatılmayacağını belirler."
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:5
|
|
||||||
msgid ""
|
|
||||||
"Determines whether workspace switching should happen for windows on all "
|
|
||||||
"monitors or only for windows on the primary monitor."
|
|
||||||
msgstr ""
|
|
||||||
"Çalışma alanı değiştirilmesinin, tüm monitörlerdeki pencerelerde mi yoksa "
|
|
||||||
"sadece birincil monitördekilerde mi gerçekleşeceğini belirler."
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:6
|
|
||||||
msgid "Draggable border width"
|
|
||||||
msgstr "Sürüklenebilir kenarlık genişliği"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:7
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:7
|
||||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -452,30 +455,54 @@ msgid ""
|
|||||||
"area. Dropping windows on the top screen edge maximizes them completely."
|
"area. Dropping windows on the top screen edge maximizes them completely."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Eğer etkinleştirilirse, dikey ekran kenarlarına bırakılan pencereler dikey "
|
"Eğer etkinleştirilirse, dikey ekran kenarlarına bırakılan pencereler dikey "
|
||||||
"olarak "
|
"olarak ekranı kaplar ve yatayda kullanılabilir alanın yarısını kaplayacak "
|
||||||
"ekranı kaplar ve yatayda kullanılabilir alanın yarısını kaplayacak şekilde "
|
"şekilde yeniden boyutlandırılır. Ekranın tepedeki kenarına bırakılan "
|
||||||
"yeniden "
|
"pencereler ekranı tamamen kaplar."
|
||||||
"boyutlandırılır. Ekranın tepedeki kenarına bırakılan pencereler ekranı "
|
|
||||||
"tamamen kaplar."
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:9
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:9
|
||||||
msgid "Live Hidden Windows"
|
msgid "Workspaces are managed dynamically"
|
||||||
msgstr "Çalışır Durumdaki Gizli Pencereler"
|
msgstr "Çalışma alanları dinamik olarak yönetilir"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:10
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:10
|
||||||
msgid "Modifier to use for extended window management operations"
|
msgid ""
|
||||||
msgstr "Genişletilmiş pencere yönetimi işlemleri için kullanılacak değiştirici"
|
"Determines whether workspaces are managed dynamically or whether there's a "
|
||||||
|
"static number of workspaces (determined by the num-workspaces key in org."
|
||||||
|
"gnome.desktop.wm.preferences)."
|
||||||
|
msgstr ""
|
||||||
|
"Çalışma alanlarının dinamik olarak mı yönetileceğini yoksa sabit sayıda "
|
||||||
|
"çalışma alanı mı olacağını "
|
||||||
|
"belirler (org.gnome.desktop.wm.preferences içindeki num-workspaces değişkeni "
|
||||||
|
"tarafından belirlenir)."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:11
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:11
|
||||||
|
msgid "Workspaces only on primary"
|
||||||
|
msgstr "Sadece birincil monitördeki çalışma alanları"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:12
|
||||||
|
msgid ""
|
||||||
|
"Determines whether workspace switching should happen for windows on all "
|
||||||
|
"monitors or only for windows on the primary monitor."
|
||||||
|
msgstr ""
|
||||||
|
"Çalışma alanı değiştirilmesinin, tüm monitörlerdeki pencerelerde mi yoksa "
|
||||||
|
"sadece birincil monitördekilerde mi gerçekleşeceğini belirler."
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:13
|
||||||
msgid "No tab popup"
|
msgid "No tab popup"
|
||||||
msgstr "Sekme açılır penceresi yok"
|
msgstr "Sekme açılır penceresi yok"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:12
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:14
|
||||||
#| msgid "Remove Window From Top"
|
msgid ""
|
||||||
msgid "Select window from tab popup"
|
"Determines whether the use of popup and highlight frame should be disabled "
|
||||||
msgstr "Pencereyi, sekme açılır penceresinden seç"
|
"for window cycling."
|
||||||
|
msgstr ""
|
||||||
|
"Pencere geçişinde çerçeve vurgulanması ve açılır pencere kullanımının "
|
||||||
|
"kapatılıp kapatılmayacağını belirler."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:13
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:15
|
||||||
|
msgid "Draggable border width"
|
||||||
|
msgstr "Sürüklenebilir kenarlık genişliği"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:16
|
||||||
msgid ""
|
msgid ""
|
||||||
"The amount of total draggable borders. If the theme's visible borders are "
|
"The amount of total draggable borders. If the theme's visible borders are "
|
||||||
"not enough, invisible borders will be added to meet this value."
|
"not enough, invisible borders will be added to meet this value."
|
||||||
@@ -484,81 +511,19 @@ msgstr ""
|
|||||||
"kenarlıkları yetersiz gelirse, bu değere ulaşmak için görünmez kenarlıklar "
|
"kenarlıkları yetersiz gelirse, bu değere ulaşmak için görünmez kenarlıklar "
|
||||||
"eklenir."
|
"eklenir."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:14
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:17
|
||||||
msgid ""
|
msgid "Select window from tab popup"
|
||||||
"This key will initiate the \"overlay\", which is a combination window "
|
msgstr "Pencereyi, sekme açılır penceresinden seç"
|
||||||
"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 ""
|
|
||||||
"Bu anahtar, pencere genel görünümü ve uygulama başlatma sisteminin bir "
|
|
||||||
"birleşimi olan \"bindirme\" işlemini başlatır. Öntanımlı olarak PC "
|
|
||||||
"donanımındaki \"windows tuşu\" olması tasarlanmıştır. Bağlayıcı varsayılan "
|
|
||||||
"olarak veya boş dize olarak ayarlanması beklenir."
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:15
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:18
|
||||||
msgid ""
|
msgid "Cancel tab popup"
|
||||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
msgstr "Sekmeyi yeni pencerede açmayı iptal et"
|
||||||
"attached to the titlebar of the parent window and are moved together with "
|
|
||||||
"the parent window."
|
|
||||||
msgstr ""
|
|
||||||
"Eğer \"doğru\" ise, bağımsız başlık çubuklarına sahip olduğundan, yardım "
|
|
||||||
"diyalogları üst pencerenin başlık çubuğunda ekli gözükür ve üst pencere ile "
|
|
||||||
"birlikte hareket eder."
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:16
|
|
||||||
msgid "Workspaces only on primary"
|
|
||||||
msgstr "Sadece birincil monitördeki çalışma alanları"
|
|
||||||
|
|
||||||
#: ../src/tools/mutter-message.c:123
|
#: ../src/tools/mutter-message.c:123
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Usage: %s\n"
|
msgid "Usage: %s\n"
|
||||||
msgstr "Kullanım: %s\n"
|
msgstr "Kullanım: %s\n"
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1157
|
|
||||||
msgid "Close Window"
|
|
||||||
msgstr "Pencereyi Kapat"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1160
|
|
||||||
msgid "Window Menu"
|
|
||||||
msgstr "Pencere Menüsü"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1163
|
|
||||||
msgid "Minimize Window"
|
|
||||||
msgstr "Pencereyi Küçült"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1166
|
|
||||||
msgid "Maximize Window"
|
|
||||||
msgstr "Pencereyi Büyült"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1169
|
|
||||||
msgid "Restore Window"
|
|
||||||
msgstr "Pencere Geri Getir"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1172
|
|
||||||
msgid "Roll Up Window"
|
|
||||||
msgstr "Pencereyi Yukarı Sar"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1175
|
|
||||||
msgid "Unroll Window"
|
|
||||||
msgstr "Pencereyi Geri Sar"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1178
|
|
||||||
msgid "Keep Window On Top"
|
|
||||||
msgstr "Pencereyi Üstte Tut"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1181
|
|
||||||
msgid "Remove Window From Top"
|
|
||||||
msgstr "Pencereyi Üstten Kaldır"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1184
|
|
||||||
msgid "Always On Visible Workspace"
|
|
||||||
msgstr "Her Zaman Görünen Çalışma Alanında"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1187
|
|
||||||
msgid "Put Window On Only One Workspace"
|
|
||||||
msgstr "Pencereyi Sadece Bir Çalışma Alanına Yerleştir"
|
|
||||||
|
|
||||||
#. Translators: Translate this string the same way as you do in libwnck!
|
#. Translators: Translate this string the same way as you do in libwnck!
|
||||||
#: ../src/ui/menu.c:69
|
#: ../src/ui/menu.c:69
|
||||||
msgid "Mi_nimize"
|
msgid "Mi_nimize"
|
||||||
@@ -1629,6 +1594,39 @@ msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"%d kordinat ifadesi %g saniye içinde ayrıştırıldı (%g saniye ortalama ile)\n"
|
"%d kordinat ifadesi %g saniye içinde ayrıştırıldı (%g saniye ortalama ile)\n"
|
||||||
|
|
||||||
|
#~ msgid "Close Window"
|
||||||
|
#~ msgstr "Pencereyi Kapat"
|
||||||
|
|
||||||
|
#~ msgid "Window Menu"
|
||||||
|
#~ msgstr "Pencere Menüsü"
|
||||||
|
|
||||||
|
#~ msgid "Minimize Window"
|
||||||
|
#~ msgstr "Pencereyi Küçült"
|
||||||
|
|
||||||
|
#~ msgid "Maximize Window"
|
||||||
|
#~ msgstr "Pencereyi Büyült"
|
||||||
|
|
||||||
|
#~ msgid "Restore Window"
|
||||||
|
#~ msgstr "Pencere Geri Getir"
|
||||||
|
|
||||||
|
#~ msgid "Roll Up Window"
|
||||||
|
#~ msgstr "Pencereyi Yukarı Sar"
|
||||||
|
|
||||||
|
#~ msgid "Unroll Window"
|
||||||
|
#~ msgstr "Pencereyi Geri Sar"
|
||||||
|
|
||||||
|
#~ msgid "Keep Window On Top"
|
||||||
|
#~ msgstr "Pencereyi Üstte Tut"
|
||||||
|
|
||||||
|
#~ msgid "Remove Window From Top"
|
||||||
|
#~ msgstr "Pencereyi Üstten Kaldır"
|
||||||
|
|
||||||
|
#~ msgid "Always On Visible Workspace"
|
||||||
|
#~ msgstr "Her Zaman Görünen Çalışma Alanında"
|
||||||
|
|
||||||
|
#~ msgid "Put Window On Only One Workspace"
|
||||||
|
#~ msgstr "Pencereyi Sadece Bir Çalışma Alanına Yerleştir"
|
||||||
|
|
||||||
#~ msgid "Switch to workspace 1"
|
#~ msgid "Switch to workspace 1"
|
||||||
#~ msgstr "Çalışma alanı 1'e geç"
|
#~ msgstr "Çalışma alanı 1'e geç"
|
||||||
|
|
||||||
|
|||||||
1100
po/zh_CN.po
1100
po/zh_CN.po
File diff suppressed because it is too large
Load Diff
413
po/zh_HK.po
413
po/zh_HK.po
@@ -9,8 +9,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: metacity 3.3.4\n"
|
"Project-Id-Version: metacity 3.3.4\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2012-01-29 23:38+0800\n"
|
"POT-Creation-Date: 2012-07-17 15:17+0800\n"
|
||||||
"PO-Revision-Date: 2012-01-29 23:38+0800\n"
|
"PO-Revision-Date: 2012-07-17 15:17+0800\n"
|
||||||
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
|
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
|
||||||
"Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
|
"Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
@@ -20,17 +20,17 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:1
|
#: ../src/50-mutter-windows.xml.in.h:1
|
||||||
|
msgid "Windows"
|
||||||
|
msgstr "視窗"
|
||||||
|
|
||||||
|
#: ../src/50-mutter-windows.xml.in.h:2
|
||||||
msgid "View split on left"
|
msgid "View split on left"
|
||||||
msgstr "檢視分割於左側"
|
msgstr "檢視分割於左側"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:2
|
#: ../src/50-mutter-windows.xml.in.h:3
|
||||||
msgid "View split on right"
|
msgid "View split on right"
|
||||||
msgstr "檢視分割於右側"
|
msgstr "檢視分割於右側"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:3
|
|
||||||
msgid "Windows"
|
|
||||||
msgstr "視窗"
|
|
||||||
|
|
||||||
# FIXME: I'm still unclear about the meaning of XGetSelectionOwner -- Abel
|
# FIXME: I'm still unclear about the meaning of XGetSelectionOwner -- Abel
|
||||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||||
#. * we have no way to get it to exit
|
#. * we have no way to get it to exit
|
||||||
@@ -41,7 +41,7 @@ msgid ""
|
|||||||
"\"."
|
"\"."
|
||||||
msgstr "在畫面「%2$s」中的第 %1$i 個螢幕中已啟動另一個組合視窗管理員。"
|
msgstr "在畫面「%2$s」中的第 %1$i 個螢幕中已啟動另一個組合視窗管理員。"
|
||||||
|
|
||||||
#: ../src/core/bell.c:307
|
#: ../src/core/bell.c:320
|
||||||
msgid "Bell event"
|
msgid "Bell event"
|
||||||
msgstr "響鈴事件"
|
msgstr "響鈴事件"
|
||||||
|
|
||||||
@@ -50,76 +50,76 @@ msgstr "響鈴事件"
|
|||||||
msgid "Unknown window information request: %d"
|
msgid "Unknown window information request: %d"
|
||||||
msgstr "未知的視窗資訊要求:%d"
|
msgstr "未知的視窗資訊要求:%d"
|
||||||
|
|
||||||
#: ../src/core/delete.c:111
|
|
||||||
#, c-format
|
|
||||||
msgid "<tt>%s</tt> is not responding."
|
|
||||||
msgstr "<tt>%s</tt> 沒有回應。"
|
|
||||||
|
|
||||||
#: ../src/core/delete.c:114
|
#: ../src/core/delete.c:114
|
||||||
|
#, c-format
|
||||||
|
msgid "%s is not responding."
|
||||||
|
msgstr "%s 沒有回應。"
|
||||||
|
|
||||||
|
#: ../src/core/delete.c:118
|
||||||
msgid "Application is not responding."
|
msgid "Application is not responding."
|
||||||
msgstr "應用程式沒有回應。"
|
msgstr "應用程式沒有回應。"
|
||||||
|
|
||||||
#: ../src/core/delete.c:119
|
#: ../src/core/delete.c:123
|
||||||
msgid ""
|
msgid ""
|
||||||
"You may choose to wait a short while for it to continue or force the "
|
"You may choose to wait a short while for it to continue or force the "
|
||||||
"application to quit entirely."
|
"application to quit entirely."
|
||||||
msgstr "你可以選擇稍等一下,或者強制程式立即結束。"
|
msgstr "你可以選擇稍等一下,或者強制程式立即結束。"
|
||||||
|
|
||||||
#: ../src/core/delete.c:126
|
#: ../src/core/delete.c:130
|
||||||
msgid "_Wait"
|
msgid "_Wait"
|
||||||
msgstr "等待(_W)"
|
msgstr "等待(_W)"
|
||||||
|
|
||||||
#: ../src/core/delete.c:126
|
#: ../src/core/delete.c:130
|
||||||
msgid "_Force Quit"
|
msgid "_Force Quit"
|
||||||
msgstr "強制結束(_F)"
|
msgstr "強制結束(_F)"
|
||||||
|
|
||||||
#: ../src/core/display.c:361
|
#: ../src/core/display.c:380
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Missing %s extension required for compositing"
|
msgid "Missing %s extension required for compositing"
|
||||||
msgstr "遺失複合視窗管理所需的 %s 延伸功能"
|
msgstr "遺失複合視窗管理所需的 %s 延伸功能"
|
||||||
|
|
||||||
#: ../src/core/display.c:427
|
#: ../src/core/display.c:446
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to open X Window System display '%s'\n"
|
msgid "Failed to open X Window System display '%s'\n"
|
||||||
msgstr "無法開啟 X Window 畫面‘%s’\n"
|
msgstr "無法開啟 X Window 畫面‘%s’\n"
|
||||||
|
|
||||||
#: ../src/core/keybindings.c:852
|
#: ../src/core/keybindings.c:844
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Some other program is already using the key %s with modifiers %x as a "
|
"Some other program is already using the key %s with modifiers %x as a "
|
||||||
"binding\n"
|
"binding\n"
|
||||||
msgstr "其它程式已經使用了按鍵 %s 加上特殊按鍵 %x 作為按鍵組合\n"
|
msgstr "其它程式已經使用了按鍵 %s 加上特殊按鍵 %x 作為按鍵組合\n"
|
||||||
|
|
||||||
#: ../src/core/main.c:206
|
#: ../src/core/main.c:196
|
||||||
msgid "Disable connection to session manager"
|
msgid "Disable connection to session manager"
|
||||||
msgstr "停用到作業階段管理程式的連線"
|
msgstr "停用到作業階段管理程式的連線"
|
||||||
|
|
||||||
#: ../src/core/main.c:212
|
#: ../src/core/main.c:202
|
||||||
msgid "Replace the running window manager"
|
msgid "Replace the running window manager"
|
||||||
msgstr "取代執行中的視窗管理員"
|
msgstr "取代執行中的視窗管理員"
|
||||||
|
|
||||||
#: ../src/core/main.c:218
|
#: ../src/core/main.c:208
|
||||||
msgid "Specify session management ID"
|
msgid "Specify session management ID"
|
||||||
msgstr "指定作業階段管理 ID"
|
msgstr "指定作業階段管理 ID"
|
||||||
|
|
||||||
#: ../src/core/main.c:223
|
#: ../src/core/main.c:213
|
||||||
msgid "X Display to use"
|
msgid "X Display to use"
|
||||||
msgstr "使用的 X 畫面"
|
msgstr "使用的 X 畫面"
|
||||||
|
|
||||||
#: ../src/core/main.c:229
|
#: ../src/core/main.c:219
|
||||||
msgid "Initialize session from savefile"
|
msgid "Initialize session from savefile"
|
||||||
msgstr "以 savefile 初始化作業階段"
|
msgstr "以 savefile 初始化作業階段"
|
||||||
|
|
||||||
#: ../src/core/main.c:235
|
#: ../src/core/main.c:225
|
||||||
msgid "Make X calls synchronous"
|
msgid "Make X calls synchronous"
|
||||||
msgstr "使用同步方式調用 X 函數"
|
msgstr "使用同步方式調用 X 函數"
|
||||||
|
|
||||||
#: ../src/core/main.c:504
|
#: ../src/core/main.c:494
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to scan themes directory: %s\n"
|
msgid "Failed to scan themes directory: %s\n"
|
||||||
msgstr "找不到佈景主題目錄:%s\n"
|
msgstr "找不到佈景主題目錄:%s\n"
|
||||||
|
|
||||||
#: ../src/core/main.c:520
|
#: ../src/core/main.c:510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||||
@@ -144,28 +144,28 @@ msgid "Print version"
|
|||||||
msgstr "顯示版本"
|
msgstr "顯示版本"
|
||||||
|
|
||||||
#: ../src/core/mutter.c:60
|
#: ../src/core/mutter.c:60
|
||||||
msgid "Comma-separated list of compositor plugins"
|
msgid "Mutter plugin to use"
|
||||||
msgstr "以逗號分隔的複合視窗外掛程式清單"
|
msgstr "要使用的 Mutter 外掛程式"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1069
|
#: ../src/core/prefs.c:1065
|
||||||
msgid ""
|
msgid ""
|
||||||
"Workarounds for broken applications disabled. Some applications may not "
|
"Workarounds for broken applications disabled. Some applications may not "
|
||||||
"behave properly.\n"
|
"behave properly.\n"
|
||||||
msgstr "關閉了對不合規格的程式的支援。某些程式可能無法正常運作。\n"
|
msgstr "關閉了對不合規格的程式的支援。某些程式可能無法正常運作。\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1144
|
#: ../src/core/prefs.c:1140
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse font description \"%s\" from GSettings key %s\n"
|
msgid "Could not parse font description \"%s\" from GSettings key %s\n"
|
||||||
msgstr "無法從 GSettings 設定鍵 %2$s 分析字型描述文字「%1$s」\n"
|
msgstr "無法從 GSettings 設定鍵 %2$s 分析字型描述文字「%1$s」\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1210
|
#: ../src/core/prefs.c:1206
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||||
"modifier\n"
|
"modifier\n"
|
||||||
msgstr "組態資料庫中的“%s”設定值不是有效的滑鼠按鈕修改功能鍵\n"
|
msgstr "組態資料庫中的“%s”設定值不是有效的滑鼠按鈕修改功能鍵\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1722
|
#: ../src/core/prefs.c:1724
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||||
@@ -173,17 +173,17 @@ msgid ""
|
|||||||
msgstr "組態資料庫中的“%s”不是按鍵組合“%s”的有效設定值\n"
|
msgstr "組態資料庫中的“%s”不是按鍵組合“%s”的有效設定值\n"
|
||||||
|
|
||||||
# (Abel) take care of the same string in libwnck
|
# (Abel) take care of the same string in libwnck
|
||||||
#: ../src/core/prefs.c:1819
|
#: ../src/core/prefs.c:1821
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "工作區 %d"
|
msgstr "工作區 %d"
|
||||||
|
|
||||||
#: ../src/core/screen.c:730
|
#: ../src/core/screen.c:652
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display '%s' is invalid\n"
|
msgid "Screen %d on display '%s' is invalid\n"
|
||||||
msgstr "畫面‘%2$s’中的第 %1$d 個螢幕無效\n"
|
msgstr "畫面‘%2$s’中的第 %1$d 個螢幕無效\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:746
|
#: ../src/core/screen.c:668
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||||
@@ -191,18 +191,18 @@ msgid ""
|
|||||||
msgstr "畫面‘%2$s’中的第 %1$d 個螢幕已經有了視窗管理員;請嘗試使用 --replace 選項來替換目前的視窗管理員。\n"
|
msgstr "畫面‘%2$s’中的第 %1$d 個螢幕已經有了視窗管理員;請嘗試使用 --replace 選項來替換目前的視窗管理員。\n"
|
||||||
|
|
||||||
# FIXME: I'm still unclear about the meaning of XGetSelectionOwner -- Abel
|
# FIXME: I'm still unclear about the meaning of XGetSelectionOwner -- Abel
|
||||||
#: ../src/core/screen.c:773
|
#: ../src/core/screen.c:695
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||||
msgstr "無法在畫面“%2$s”中的第 %1$d 個螢幕進行視窗管理員選擇程序\n"
|
msgstr "無法在畫面“%2$s”中的第 %1$d 個螢幕進行視窗管理員選擇程序\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:828
|
#: ../src/core/screen.c:750
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||||
msgstr "畫面“%2$s”中的第 %1$d 個螢幕已經有了視窗總管\n"
|
msgstr "畫面“%2$s”中的第 %1$d 個螢幕已經有了視窗總管\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:1013
|
#: ../src/core/screen.c:935
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not release screen %d on display \"%s\"\n"
|
msgid "Could not release screen %d on display \"%s\"\n"
|
||||||
msgstr "無法釋放畫面“%2$s”中的第 %1$d 個螢幕\n"
|
msgstr "無法釋放畫面“%2$s”中的第 %1$d 個螢幕\n"
|
||||||
@@ -260,44 +260,44 @@ msgid ""
|
|||||||
"be restarted manually next time you log in."
|
"be restarted manually next time you log in."
|
||||||
msgstr "這些視窗不支援 "儲存目前的設定" ,必須在下次登入後自行啟動。"
|
msgstr "這些視窗不支援 "儲存目前的設定" ,必須在下次登入後自行啟動。"
|
||||||
|
|
||||||
#: ../src/core/util.c:111
|
#: ../src/core/util.c:80
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to open debug log: %s\n"
|
msgid "Failed to open debug log: %s\n"
|
||||||
msgstr "無法開啟偵錯記錄檔:%s\n"
|
msgstr "無法開啟偵錯記錄檔:%s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:121
|
#: ../src/core/util.c:90
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to fdopen() log file %s: %s\n"
|
msgid "Failed to fdopen() log file %s: %s\n"
|
||||||
msgstr "無法 fdopen() 記錄檔 %s:%s\n"
|
msgstr "無法 fdopen() 記錄檔 %s:%s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:127
|
#: ../src/core/util.c:96
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Opened log file %s\n"
|
msgid "Opened log file %s\n"
|
||||||
msgstr "已開啟記錄檔 %s\n"
|
msgstr "已開啟記錄檔 %s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:146 ../src/tools/mutter-message.c:149
|
#: ../src/core/util.c:115 ../src/tools/mutter-message.c:149
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Mutter was compiled without support for verbose mode\n"
|
msgid "Mutter was compiled without support for verbose mode\n"
|
||||||
msgstr "編譯 Mutter 時並沒有加入詳細偵錯模式的支援\n"
|
msgstr "編譯 Mutter 時並沒有加入詳細偵錯模式的支援\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:290
|
#: ../src/core/util.c:259
|
||||||
msgid "Window manager: "
|
msgid "Window manager: "
|
||||||
msgstr "視窗管理員:"
|
msgstr "視窗管理員:"
|
||||||
|
|
||||||
#: ../src/core/util.c:438
|
#: ../src/core/util.c:407
|
||||||
msgid "Bug in window manager: "
|
msgid "Bug in window manager: "
|
||||||
msgstr "視窗總管出現錯誤:"
|
msgstr "視窗總管出現錯誤:"
|
||||||
|
|
||||||
#: ../src/core/util.c:471
|
#: ../src/core/util.c:438
|
||||||
msgid "Window manager warning: "
|
msgid "Window manager warning: "
|
||||||
msgstr "視窗總管警告:"
|
msgstr "視窗總管警告:"
|
||||||
|
|
||||||
#: ../src/core/util.c:499
|
#: ../src/core/util.c:466
|
||||||
msgid "Window manager error: "
|
msgid "Window manager error: "
|
||||||
msgstr "視窗總管錯誤:"
|
msgstr "視窗總管錯誤:"
|
||||||
|
|
||||||
#. first time through
|
#. first time through
|
||||||
#: ../src/core/window.c:7219
|
#: ../src/core/window.c:7234
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||||
@@ -311,29 +311,29 @@ msgstr "視窗 %s 將 SM_CLIENT_ID 設定為該視窗本身,而不是 ICCCM
|
|||||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||||
#. * about these apps but make them work.
|
#. * about these apps but make them work.
|
||||||
#.
|
#.
|
||||||
#: ../src/core/window.c:7882
|
#: ../src/core/window.c:7899
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
"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"
|
"%d x %d and max size %d x %d; this doesn't make much sense.\n"
|
||||||
msgstr "視窗 %s 設定了 MWM 提示,表示它不可以調整大小,但又將大小下限定為 %d×%d 及將大小上限定為 %d×%d;這種做法不符合常理。\n"
|
msgstr "視窗 %s 設定了 MWM 提示,表示它不可以調整大小,但又將大小下限定為 %d×%d 及將大小上限定為 %d×%d;這種做法不符合常理。\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:309
|
#: ../src/core/window-props.c:310
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Application set a bogus _NET_WM_PID %lu\n"
|
msgid "Application set a bogus _NET_WM_PID %lu\n"
|
||||||
msgstr "程式設定了多餘的 _NET_WM_PID %lu\n"
|
msgstr "程式設定了多餘的 _NET_WM_PID %lu\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:426
|
#: ../src/core/window-props.c:429
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s (on %s)"
|
msgid "%s (on %s)"
|
||||||
msgstr "%s(在 %s)"
|
msgstr "%s(在 %s)"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:1481
|
#: ../src/core/window-props.c:1484
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||||
msgstr "%2$s 指定了無效的 WM_TRANSIENT_FOR 視窗 0x%1$lx。\n"
|
msgstr "%2$s 指定了無效的 WM_TRANSIENT_FOR 視窗 0x%1$lx。\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:1492
|
#: ../src/core/window-props.c:1495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||||
msgstr "%2$s 的 WM_TRANSIENT_FOR 視窗 0x%1$lx 會造成迴圈。\n"
|
msgstr "%2$s 的 WM_TRANSIENT_FOR 視窗 0x%1$lx 會造成迴圈。\n"
|
||||||
@@ -369,69 +369,10 @@ msgid "Mutter"
|
|||||||
msgstr "Mutter"
|
msgstr "Mutter"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:1
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:1
|
||||||
msgid "Attach modal dialogs"
|
|
||||||
msgstr "附加模態對話盒"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:2
|
|
||||||
msgid "Cancel tab popup"
|
|
||||||
msgstr "取消分頁彈出項"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:3
|
|
||||||
msgid ""
|
|
||||||
"Determines whether hidden windows (i.e., minimized windows and windows on "
|
|
||||||
"other workspaces than the current one) should be kept alive."
|
|
||||||
msgstr "決定隱藏的視窗(如最小化的視窗和位於目前以外工作區的視窗)是否保持活動。"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:4
|
|
||||||
msgid ""
|
|
||||||
"Determines whether the use of popup and highlight frame should be disabled "
|
|
||||||
"for window cycling."
|
|
||||||
msgstr "決定當視窗輪換時是否使用彈出式和強調框架。"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:5
|
|
||||||
msgid ""
|
|
||||||
"Determines whether workspace switching should happen for windows on all "
|
|
||||||
"monitors or only for windows on the primary monitor."
|
|
||||||
msgstr "決定工作區切換是否使用於所有螢幕的視窗或只用於主要螢幕的視窗。"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:6
|
|
||||||
msgid "Draggable border width"
|
|
||||||
msgstr "可拖曳邊框闊度"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:7
|
|
||||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
|
||||||
msgstr "在螢幕邊緣放下視窗時啟用邊緣拼貼"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:8
|
|
||||||
msgid ""
|
|
||||||
"If enabled, dropping windows on vertical screen edges maximizes them "
|
|
||||||
"vertically and resizes them horizontally to cover half of the available "
|
|
||||||
"area. Dropping windows on the top screen edge maximizes them completely."
|
|
||||||
msgstr "如果啟用,將視窗拖放到螢幕垂直邊緣時會讓它們垂直最大化並調整水平方向大小覆蓋可用區域的一半。拖放視窗到螢幕頂端邊緣則會讓它們完全最大化。"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:9
|
|
||||||
msgid "Live Hidden Windows"
|
|
||||||
msgstr "活動中的隱藏 Windows"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:10
|
|
||||||
msgid "Modifier to use for extended window management operations"
|
msgid "Modifier to use for extended window management operations"
|
||||||
msgstr "用於延伸視窗管理操作程序的特殊按鍵"
|
msgstr "用於延伸視窗管理操作程序的特殊按鍵"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:11
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:2
|
||||||
msgid "No tab popup"
|
|
||||||
msgstr "沒有分頁彈出項"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:12
|
|
||||||
msgid "Select window from tab popup"
|
|
||||||
msgstr "從分頁彈出項選擇視窗"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:13
|
|
||||||
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/org.gnome.mutter.gschema.xml.in.h:14
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"This key will initiate the \"overlay\", which is a combination window "
|
"This key will initiate the \"overlay\", which is a combination window "
|
||||||
"overview and application launching system. The default is intended to be the "
|
"overview and application launching system. The default is intended to be the "
|
||||||
@@ -439,67 +380,82 @@ msgid ""
|
|||||||
"default or set to the empty string."
|
"default or set to the empty string."
|
||||||
msgstr "這個設定鍵會初始化「overlay」,這是一個複合視窗概覽與應用程式執行系統。預設是要成為 PC 硬件上的「Windows key」。預期這個按鍵組含不是預設值就是設定為空字串。"
|
msgstr "這個設定鍵會初始化「overlay」,這是一個複合視窗概覽與應用程式執行系統。預設是要成為 PC 硬件上的「Windows key」。預期這個按鍵組含不是預設值就是設定為空字串。"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:15
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:3
|
||||||
|
msgid "Attach modal dialogs"
|
||||||
|
msgstr "附加模態對話盒"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:4
|
||||||
msgid ""
|
msgid ""
|
||||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||||
"attached to the titlebar of the parent window and are moved together with "
|
"attached to the titlebar of the parent window and are moved together with "
|
||||||
"the parent window."
|
"the parent window."
|
||||||
msgstr "當設為「true」,將不會有獨立的標題列,模態對話盒會附加在上層視窗的標題列並與上層視窗一起移動。"
|
msgstr "當設為「true」,將不會有獨立的標題列,模態對話盒會附加在上層視窗的標題列並與上層視窗一起移動。"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:16
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:5
|
||||||
|
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
|
msgstr "在螢幕邊緣放下視窗時啟用邊緣拼貼"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:6
|
||||||
|
msgid ""
|
||||||
|
"If enabled, dropping windows on vertical screen edges maximizes them "
|
||||||
|
"vertically and resizes them horizontally to cover half of the available "
|
||||||
|
"area. Dropping windows on the top screen edge maximizes them completely."
|
||||||
|
msgstr "如果啟用,將視窗拖放到螢幕垂直邊緣時會讓它們垂直最大化並調整水平方向大小覆蓋可用區域的一半。拖放視窗到螢幕頂端邊緣則會讓它們完全最大化。"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:7
|
||||||
|
msgid "Workspaces are managed dynamically"
|
||||||
|
msgstr "工作區以動態方式管理"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:8
|
||||||
|
msgid ""
|
||||||
|
"Determines whether workspaces are managed dynamically or whether there's a "
|
||||||
|
"static number of workspaces (determined by the num-workspaces key in org."
|
||||||
|
"gnome.desktop.wm.preferences)."
|
||||||
|
msgstr "決定工作區以動態方式管理或是有固定數量的工作區 (以 org.gnome.desktop.wm.preferences 中的 num-workspaces 鍵值來決定)。"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:9
|
||||||
msgid "Workspaces only on primary"
|
msgid "Workspaces only on primary"
|
||||||
msgstr "只有主要螢幕的工作區"
|
msgstr "只有主要螢幕的工作區"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:10
|
||||||
|
msgid ""
|
||||||
|
"Determines whether workspace switching should happen for windows on all "
|
||||||
|
"monitors or only for windows on the primary monitor."
|
||||||
|
msgstr "決定工作區切換是否使用於所有螢幕的視窗或只用於主要螢幕的視窗。"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:11
|
||||||
|
msgid "No tab popup"
|
||||||
|
msgstr "沒有分頁彈出項"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:12
|
||||||
|
msgid ""
|
||||||
|
"Determines whether the use of popup and highlight frame should be disabled "
|
||||||
|
"for window cycling."
|
||||||
|
msgstr "決定當視窗輪換時是否使用彈出式和強調框架。"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:13
|
||||||
|
msgid "Draggable border width"
|
||||||
|
msgstr "可拖曳邊框闊度"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:14
|
||||||
|
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/org.gnome.mutter.gschema.xml.in.h:15
|
||||||
|
msgid "Select window from tab popup"
|
||||||
|
msgstr "從分頁彈出項選擇視窗"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:16
|
||||||
|
msgid "Cancel tab popup"
|
||||||
|
msgstr "取消分頁彈出項"
|
||||||
|
|
||||||
#: ../src/tools/mutter-message.c:123
|
#: ../src/tools/mutter-message.c:123
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Usage: %s\n"
|
msgid "Usage: %s\n"
|
||||||
msgstr "用法:%s\n"
|
msgstr "用法:%s\n"
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1157
|
|
||||||
msgid "Close Window"
|
|
||||||
msgstr "關閉視窗"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1160
|
|
||||||
msgid "Window Menu"
|
|
||||||
msgstr "視窗選單"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1163
|
|
||||||
msgid "Minimize Window"
|
|
||||||
msgstr "視窗最小化"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1166
|
|
||||||
msgid "Maximize Window"
|
|
||||||
msgstr "視窗最大化"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1169
|
|
||||||
msgid "Restore Window"
|
|
||||||
msgstr "還原視窗"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1172
|
|
||||||
msgid "Roll Up Window"
|
|
||||||
msgstr "捲起視窗(_U)"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1175
|
|
||||||
msgid "Unroll Window"
|
|
||||||
msgstr "放下視窗"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1178
|
|
||||||
msgid "Keep Window On Top"
|
|
||||||
msgstr "視窗保留在最上層"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1181
|
|
||||||
msgid "Remove Window From Top"
|
|
||||||
msgstr "視窗移離最上層"
|
|
||||||
|
|
||||||
# (Abel) take care of the same string in libwnck
|
|
||||||
#: ../src/ui/frames.c:1184
|
|
||||||
msgid "Always On Visible Workspace"
|
|
||||||
msgstr "在所有工作區顯示"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1187
|
|
||||||
msgid "Put Window On Only One Workspace"
|
|
||||||
msgstr "視窗只置於一個工作區"
|
|
||||||
|
|
||||||
# (Abel) take care of the same string in libwnck
|
# (Abel) take care of the same string in libwnck
|
||||||
#. Translators: Translate this string the same way as you do in libwnck!
|
#. Translators: Translate this string the same way as you do in libwnck!
|
||||||
#: ../src/ui/menu.c:69
|
#: ../src/ui/menu.c:69
|
||||||
@@ -715,261 +671,261 @@ msgstr "Mod5"
|
|||||||
msgid "%d x %d"
|
msgid "%d x %d"
|
||||||
msgstr "%d x %d"
|
msgstr "%d x %d"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:253
|
#: ../src/ui/theme.c:234
|
||||||
msgid "top"
|
msgid "top"
|
||||||
msgstr "頂"
|
msgstr "頂"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:255
|
#: ../src/ui/theme.c:236
|
||||||
msgid "bottom"
|
msgid "bottom"
|
||||||
msgstr "底"
|
msgstr "底"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:257
|
#: ../src/ui/theme.c:238
|
||||||
msgid "left"
|
msgid "left"
|
||||||
msgstr "左"
|
msgstr "左"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:259
|
#: ../src/ui/theme.c:240
|
||||||
msgid "right"
|
msgid "right"
|
||||||
msgstr "右"
|
msgstr "右"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:286
|
#: ../src/ui/theme.c:268
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "frame geometry does not specify \"%s\" dimension"
|
msgid "frame geometry does not specify \"%s\" dimension"
|
||||||
msgstr "邊框的位置大小中沒有指定“%s”部分的大小"
|
msgstr "邊框的位置大小中沒有指定“%s”部分的大小"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:305
|
#: ../src/ui/theme.c:287
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||||
msgstr "邊框的位置大小中沒有指定“%2$s”邊框中的“%1$s”部分"
|
msgstr "邊框的位置大小中沒有指定“%2$s”邊框中的“%1$s”部分"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:342
|
#: ../src/ui/theme.c:324
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Button aspect ratio %g is not reasonable"
|
msgid "Button aspect ratio %g is not reasonable"
|
||||||
msgstr "按鈕的長寬比 %g 不合理"
|
msgstr "按鈕的長寬比 %g 不合理"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:354
|
#: ../src/ui/theme.c:336
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Frame geometry does not specify size of buttons"
|
msgid "Frame geometry does not specify size of buttons"
|
||||||
msgstr "邊框的位置大小規格內未有指定按鈕的大小"
|
msgstr "邊框的位置大小規格內未有指定按鈕的大小"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1067
|
#: ../src/ui/theme.c:1049
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Gradients should have at least two colors"
|
msgid "Gradients should have at least two colors"
|
||||||
msgstr "漸變色至少應該有兩種顏色"
|
msgstr "漸變色至少應該有兩種顏色"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1219
|
#: ../src/ui/theme.c:1201
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"GTK custom color specification must have color name and fallback in "
|
"GTK custom color specification must have color name and fallback in "
|
||||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||||
msgstr "GTK 自選顏色規格規定必須有顏色名稱並加上封閉括號,例如 gtk:custom(foo,bar);無法分析「%s」"
|
msgstr "GTK 自選顏色規格規定必須有顏色名稱並加上封閉括號,例如 gtk:custom(foo,bar);無法分析「%s」"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1235
|
#: ../src/ui/theme.c:1217
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||||
"_ are valid"
|
"_ are valid"
|
||||||
msgstr "gtk:custom 的 color_name 參數 '%c' 中有無效字符,只能使用 A-Za-z0-9-_ "
|
msgstr "gtk:custom 的 color_name 參數 '%c' 中有無效字符,只能使用 A-Za-z0-9-_ "
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1249
|
#: ../src/ui/theme.c:1231
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||||
"fit the format"
|
"fit the format"
|
||||||
msgstr "Gtk:custom 的格式是「gtk:custom(color_name,fallback)」,但「%s」不符合格式"
|
msgstr "Gtk:custom 的格式是「gtk:custom(color_name,fallback)」,但「%s」不符合格式"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1294
|
#: ../src/ui/theme.c:1276
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||||
"where NORMAL is the state; could not parse \"%s\""
|
"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:1308
|
#: ../src/ui/theme.c:1290
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
"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\""
|
"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:1319
|
#: ../src/ui/theme.c:1301
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Did not understand state \"%s\" in color specification"
|
msgid "Did not understand state \"%s\" in color specification"
|
||||||
msgstr "無法將“%s”理解為色彩規格中的狀態"
|
msgstr "無法將“%s”理解為色彩規格中的狀態"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1332
|
#: ../src/ui/theme.c:1314
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Did not understand color component \"%s\" in color specification"
|
msgid "Did not understand color component \"%s\" in color specification"
|
||||||
msgstr "無法將“%s”理解為色彩規格中的色彩部分"
|
msgstr "無法將“%s”理解為色彩規格中的色彩部分"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1361
|
#: ../src/ui/theme.c:1343
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||||
"format"
|
"format"
|
||||||
msgstr "指定混色的格式是“blend/背景顏色/前景顏色/透明度”,“%s”不符合規格"
|
msgstr "指定混色的格式是“blend/背景顏色/前景顏色/透明度”,“%s”不符合規格"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1372
|
#: ../src/ui/theme.c:1354
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||||
msgstr "無法理解“%s”作為混色的透明度數值"
|
msgstr "無法理解“%s”作為混色的透明度數值"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1382
|
#: ../src/ui/theme.c:1364
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||||
msgstr "混色的透明度數值“%s”不是在 0.0 至 1.0 之間"
|
msgstr "混色的透明度數值“%s”不是在 0.0 至 1.0 之間"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1429
|
#: ../src/ui/theme.c:1411
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||||
msgstr "陰影的格式是“shade/基本顏色/比重”,但“%s”不符合格式"
|
msgstr "陰影的格式是“shade/基本顏色/比重”,但“%s”不符合格式"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1440
|
#: ../src/ui/theme.c:1422
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||||
msgstr "在陰影顏色中無法將“%s”理解為陰影比重"
|
msgstr "在陰影顏色中無法將“%s”理解為陰影比重"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1450
|
#: ../src/ui/theme.c:1432
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||||
msgstr "在陰影顏色中陰影比重“%s”是負數"
|
msgstr "在陰影顏色中陰影比重“%s”是負數"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1479
|
#: ../src/ui/theme.c:1461
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse color \"%s\""
|
msgid "Could not parse color \"%s\""
|
||||||
msgstr "無法分析顏色“%s”"
|
msgstr "無法分析顏色“%s”"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1790
|
#: ../src/ui/theme.c:1778
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||||
msgstr "座標表達式中出現不可接受的字符‘%s’"
|
msgstr "座標表達式中出現不可接受的字符‘%s’"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1817
|
#: ../src/ui/theme.c:1805
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression contains floating point number '%s' which could not be "
|
"Coordinate expression contains floating point number '%s' which could not be "
|
||||||
"parsed"
|
"parsed"
|
||||||
msgstr "座標表達式中出現無法分析的浮點小數‘%s’"
|
msgstr "座標表達式中出現無法分析的浮點小數‘%s’"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1831
|
#: ../src/ui/theme.c:1819
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||||
msgstr "座標表達式中出現無法分析的整數‘%s’"
|
msgstr "座標表達式中出現無法分析的整數‘%s’"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1953
|
#: ../src/ui/theme.c:1940
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression contained unknown operator at the start of this text: "
|
"Coordinate expression contained unknown operator at the start of this text: "
|
||||||
"\"%s\""
|
"\"%s\""
|
||||||
msgstr "在座標表達式中,以下文字的開始部分含有不明的運算符:“%s”"
|
msgstr "在座標表達式中,以下文字的開始部分含有不明的運算符:“%s”"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2010
|
#: ../src/ui/theme.c:1997
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression was empty or not understood"
|
msgid "Coordinate expression was empty or not understood"
|
||||||
msgstr "座標表達式是空白的或是無法分析"
|
msgstr "座標表達式是空白的或是無法分析"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2121 ../src/ui/theme.c:2131 ../src/ui/theme.c:2165
|
#: ../src/ui/theme.c:2110 ../src/ui/theme.c:2120 ../src/ui/theme.c:2154
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression results in division by zero"
|
msgid "Coordinate expression results in division by zero"
|
||||||
msgstr "座標表達式中出現被 0 整除的錯誤"
|
msgstr "座標表達式中出現被 0 整除的錯誤"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2173
|
#: ../src/ui/theme.c:2162
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||||
msgstr "座標表達式中出現將浮點數使用於餘數運算符 (mod) 的錯誤"
|
msgstr "座標表達式中出現將浮點數使用於餘數運算符 (mod) 的錯誤"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2229
|
#: ../src/ui/theme.c:2218
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||||
msgstr "在座標表達式中,應該有運算子的地方出現了運算符“%s”"
|
msgstr "在座標表達式中,應該有運算子的地方出現了運算符“%s”"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2238
|
#: ../src/ui/theme.c:2227
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had an operand where an operator was expected"
|
msgid "Coordinate expression had an operand where an operator was expected"
|
||||||
msgstr "在座標表達式中,應該有運算符的地方出現了運算子"
|
msgstr "在座標表達式中,應該有運算符的地方出現了運算子"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2246
|
#: ../src/ui/theme.c:2235
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||||
msgstr "結束座標表達式的是一個運算符而非運算子"
|
msgstr "結束座標表達式的是一個運算符而非運算子"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2256
|
#: ../src/ui/theme.c:2245
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||||
"operand in between"
|
"operand in between"
|
||||||
msgstr "在座標表達式中,運算符“%c”緊隨運算符“%c”出現,但中間沒有任何運算子"
|
msgstr "在座標表達式中,運算符“%c”緊隨運算符“%c”出現,但中間沒有任何運算子"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2407 ../src/ui/theme.c:2452
|
#: ../src/ui/theme.c:2396 ../src/ui/theme.c:2441
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||||
msgstr "座標表達式中出現不明的變數或常數“%s”"
|
msgstr "座標表達式中出現不明的變數或常數“%s”"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2506
|
#: ../src/ui/theme.c:2495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression parser overflowed its buffer."
|
msgid "Coordinate expression parser overflowed its buffer."
|
||||||
msgstr "座標表達式分析器令緩衝溢位。"
|
msgstr "座標表達式分析器令緩衝溢位。"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2535
|
#: ../src/ui/theme.c:2524
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||||
msgstr "座標表達式中的閉括號沒有相應的開括號"
|
msgstr "座標表達式中的閉括號沒有相應的開括號"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2599
|
#: ../src/ui/theme.c:2588
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||||
msgstr "座標表達式中的開括號沒有相應的閉括號"
|
msgstr "座標表達式中的開括號沒有相應的閉括號"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2610
|
#: ../src/ui/theme.c:2599
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||||
msgstr "座標表達式中似乎沒有任何運算符或運算子"
|
msgstr "座標表達式中似乎沒有任何運算符或運算子"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2822 ../src/ui/theme.c:2842 ../src/ui/theme.c:2862
|
#: ../src/ui/theme.c:2812 ../src/ui/theme.c:2832 ../src/ui/theme.c:2852
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||||
msgstr "佈景主題中含有引致錯誤的表達式:%s\n"
|
msgstr "佈景主題中含有引致錯誤的表達式:%s\n"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:4533
|
#: ../src/ui/theme.c:4498
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||||
"specified for this frame style"
|
"specified for this frame style"
|
||||||
msgstr "此邊框款式必須指定 <button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/>"
|
msgstr "此邊框款式必須指定 <button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/>"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5066 ../src/ui/theme.c:5091
|
#: ../src/ui/theme.c:5009 ../src/ui/theme.c:5034
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||||
msgstr "缺少了 <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
msgstr "缺少了 <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5139
|
#: ../src/ui/theme.c:5082
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to load theme \"%s\": %s\n"
|
msgid "Failed to load theme \"%s\": %s\n"
|
||||||
msgstr "無法載入佈景主題“%s”:%s\n"
|
msgstr "無法載入佈景主題“%s”:%s\n"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5275 ../src/ui/theme.c:5282 ../src/ui/theme.c:5289
|
#: ../src/ui/theme.c:5218 ../src/ui/theme.c:5225 ../src/ui/theme.c:5232
|
||||||
#: ../src/ui/theme.c:5296 ../src/ui/theme.c:5303
|
#: ../src/ui/theme.c:5239 ../src/ui/theme.c:5246
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "No <%s> set for theme \"%s\""
|
msgid "No <%s> set for theme \"%s\""
|
||||||
msgstr "佈景主題“%s”未指定 <%s>"
|
msgstr "佈景主題“%s”未指定 <%s>"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5311
|
#: ../src/ui/theme.c:5254
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||||
"type=\"%s\" style_set=\"whatever\"/> element"
|
"type=\"%s\" style_set=\"whatever\"/> element"
|
||||||
msgstr "在佈景主題“%2$s”中,視窗類型“%1$s”沒有指定任何邊框款式。請加上 <window type=\"%3$s\" style_set=\"whatever\"/> 元素"
|
msgstr "在佈景主題“%2$s”中,視窗類型“%1$s”沒有指定任何邊框款式。請加上 <window type=\"%3$s\" style_set=\"whatever\"/> 元素"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5709 ../src/ui/theme.c:5771 ../src/ui/theme.c:5834
|
#: ../src/ui/theme.c:5650 ../src/ui/theme.c:5712 ../src/ui/theme.c:5775
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||||
msgstr "自行定義的常數必須以大寫字母開始;但“%s”不是"
|
msgstr "自行定義的常數必須以大寫字母開始;但“%s”不是"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5717 ../src/ui/theme.c:5779 ../src/ui/theme.c:5842
|
#: ../src/ui/theme.c:5658 ../src/ui/theme.c:5720 ../src/ui/theme.c:5783
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Constant \"%s\" has already been defined"
|
msgid "Constant \"%s\" has already been defined"
|
||||||
msgstr "已定義了“%s”常數"
|
msgstr "已定義了“%s”常數"
|
||||||
@@ -1331,7 +1287,7 @@ msgstr "<%s> 元素內不可出現任何文字"
|
|||||||
msgid "<%s> specified twice for this theme"
|
msgid "<%s> specified twice for this theme"
|
||||||
msgstr "<%s> 指定了這個佈景主題兩次"
|
msgstr "<%s> 指定了這個佈景主題兩次"
|
||||||
|
|
||||||
#: ../src/ui/theme-parser.c:4348
|
#: ../src/ui/theme-parser.c:4334
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to find a valid file for theme %s\n"
|
msgid "Failed to find a valid file for theme %s\n"
|
||||||
msgstr "無法佈景主題的有效檔案 %s\n"
|
msgstr "無法佈景主題的有效檔案 %s\n"
|
||||||
@@ -1533,3 +1489,42 @@ msgstr "y 的數值是 %d,%d是預期中的數值"
|
|||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
||||||
msgstr "分析 %d 座標表現需時 %g 秒(平均 %g 秒)\n"
|
msgstr "分析 %d 座標表現需時 %g 秒(平均 %g 秒)\n"
|
||||||
|
|
||||||
|
#~ msgid "Comma-separated list of compositor plugins"
|
||||||
|
#~ msgstr "以逗號分隔的複合視窗外掛程式清單"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Determines whether hidden windows (i.e., minimized windows and windows on "
|
||||||
|
#~ "other workspaces than the current one) should be kept alive."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "決定隱藏的視窗(如最小化的視窗和位於目前以外工作區的視窗)是否保持活動。"
|
||||||
|
|
||||||
|
#~ msgid "Live Hidden Windows"
|
||||||
|
#~ msgstr "活動中的隱藏 Windows"
|
||||||
|
|
||||||
|
#~ msgid "Close Window"
|
||||||
|
#~ msgstr "關閉視窗"
|
||||||
|
|
||||||
|
#~ msgid "Window Menu"
|
||||||
|
#~ msgstr "視窗選單"
|
||||||
|
|
||||||
|
#~ msgid "Minimize Window"
|
||||||
|
#~ msgstr "視窗最小化"
|
||||||
|
|
||||||
|
#~ msgid "Maximize Window"
|
||||||
|
#~ msgstr "視窗最大化"
|
||||||
|
|
||||||
|
#~ msgid "Restore Window"
|
||||||
|
#~ msgstr "還原視窗"
|
||||||
|
|
||||||
|
#~ msgid "Roll Up Window"
|
||||||
|
#~ msgstr "捲起視窗(_U)"
|
||||||
|
|
||||||
|
#~ msgid "Unroll Window"
|
||||||
|
#~ msgstr "放下視窗"
|
||||||
|
|
||||||
|
#~ msgid "Keep Window On Top"
|
||||||
|
#~ msgstr "視窗保留在最上層"
|
||||||
|
|
||||||
|
#~ msgid "Remove Window From Top"
|
||||||
|
#~ msgstr "視窗移離最上層"
|
||||||
|
|||||||
422
po/zh_TW.po
422
po/zh_TW.po
@@ -9,8 +9,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: metacity 3.3.4\n"
|
"Project-Id-Version: metacity 3.3.4\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2012-01-29 23:38+0800\n"
|
"POT-Creation-Date: 2012-07-17 15:17+0800\n"
|
||||||
"PO-Revision-Date: 2011-09-05 20:16+0800\n"
|
"PO-Revision-Date: 2012-07-16 11:21+0800\n"
|
||||||
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\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-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
@@ -20,17 +20,17 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:1
|
#: ../src/50-mutter-windows.xml.in.h:1
|
||||||
|
msgid "Windows"
|
||||||
|
msgstr "視窗"
|
||||||
|
|
||||||
|
#: ../src/50-mutter-windows.xml.in.h:2
|
||||||
msgid "View split on left"
|
msgid "View split on left"
|
||||||
msgstr "檢視分割於左側"
|
msgstr "檢視分割於左側"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:2
|
#: ../src/50-mutter-windows.xml.in.h:3
|
||||||
msgid "View split on right"
|
msgid "View split on right"
|
||||||
msgstr "檢視分割於右側"
|
msgstr "檢視分割於右側"
|
||||||
|
|
||||||
#: ../src/50-mutter-windows.xml.in.h:3
|
|
||||||
msgid "Windows"
|
|
||||||
msgstr "視窗"
|
|
||||||
|
|
||||||
# FIXME: I'm still unclear about the meaning of XGetSelectionOwner -- Abel
|
# FIXME: I'm still unclear about the meaning of XGetSelectionOwner -- Abel
|
||||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||||
#. * we have no way to get it to exit
|
#. * we have no way to get it to exit
|
||||||
@@ -41,7 +41,7 @@ msgid ""
|
|||||||
"\"."
|
"\"."
|
||||||
msgstr "在畫面「%2$s」中的第 %1$i 個螢幕中已啟動另一個組合視窗管理員。"
|
msgstr "在畫面「%2$s」中的第 %1$i 個螢幕中已啟動另一個組合視窗管理員。"
|
||||||
|
|
||||||
#: ../src/core/bell.c:307
|
#: ../src/core/bell.c:320
|
||||||
msgid "Bell event"
|
msgid "Bell event"
|
||||||
msgstr "響鈴事件"
|
msgstr "響鈴事件"
|
||||||
|
|
||||||
@@ -50,76 +50,76 @@ msgstr "響鈴事件"
|
|||||||
msgid "Unknown window information request: %d"
|
msgid "Unknown window information request: %d"
|
||||||
msgstr "未知的視窗資訊要求:%d"
|
msgstr "未知的視窗資訊要求:%d"
|
||||||
|
|
||||||
#: ../src/core/delete.c:111
|
|
||||||
#, c-format
|
|
||||||
msgid "<tt>%s</tt> is not responding."
|
|
||||||
msgstr "<tt>%s</tt> 沒有回應。"
|
|
||||||
|
|
||||||
#: ../src/core/delete.c:114
|
#: ../src/core/delete.c:114
|
||||||
|
#, c-format
|
||||||
|
msgid "%s is not responding."
|
||||||
|
msgstr "%s 沒有回應。"
|
||||||
|
|
||||||
|
#: ../src/core/delete.c:118
|
||||||
msgid "Application is not responding."
|
msgid "Application is not responding."
|
||||||
msgstr "應用程式沒有回應。"
|
msgstr "應用程式沒有回應。"
|
||||||
|
|
||||||
#: ../src/core/delete.c:119
|
#: ../src/core/delete.c:123
|
||||||
msgid ""
|
msgid ""
|
||||||
"You may choose to wait a short while for it to continue or force the "
|
"You may choose to wait a short while for it to continue or force the "
|
||||||
"application to quit entirely."
|
"application to quit entirely."
|
||||||
msgstr "您可以選擇稍等一下,或者強制程式立即結束。"
|
msgstr "您可以選擇稍等一下,或者強制程式立即結束。"
|
||||||
|
|
||||||
#: ../src/core/delete.c:126
|
#: ../src/core/delete.c:130
|
||||||
msgid "_Wait"
|
msgid "_Wait"
|
||||||
msgstr "等待(_W)"
|
msgstr "等待(_W)"
|
||||||
|
|
||||||
#: ../src/core/delete.c:126
|
#: ../src/core/delete.c:130
|
||||||
msgid "_Force Quit"
|
msgid "_Force Quit"
|
||||||
msgstr "強制結束(_F)"
|
msgstr "強制結束(_F)"
|
||||||
|
|
||||||
#: ../src/core/display.c:361
|
#: ../src/core/display.c:380
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Missing %s extension required for compositing"
|
msgid "Missing %s extension required for compositing"
|
||||||
msgstr "遺失複合視窗管理所需的 %s 延伸功能"
|
msgstr "遺失複合視窗管理所需的 %s 延伸功能"
|
||||||
|
|
||||||
#: ../src/core/display.c:427
|
#: ../src/core/display.c:446
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to open X Window System display '%s'\n"
|
msgid "Failed to open X Window System display '%s'\n"
|
||||||
msgstr "無法開啟 X Window 畫面‘%s’\n"
|
msgstr "無法開啟 X Window 畫面‘%s’\n"
|
||||||
|
|
||||||
#: ../src/core/keybindings.c:852
|
#: ../src/core/keybindings.c:844
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Some other program is already using the key %s with modifiers %x as a "
|
"Some other program is already using the key %s with modifiers %x as a "
|
||||||
"binding\n"
|
"binding\n"
|
||||||
msgstr "其它程式已經使用了按鍵 %s 加上特殊按鍵 %x 作為按鍵組合\n"
|
msgstr "其它程式已經使用了按鍵 %s 加上特殊按鍵 %x 作為按鍵組合\n"
|
||||||
|
|
||||||
#: ../src/core/main.c:206
|
#: ../src/core/main.c:196
|
||||||
msgid "Disable connection to session manager"
|
msgid "Disable connection to session manager"
|
||||||
msgstr "停用到作業階段管理程式的連線"
|
msgstr "停用到作業階段管理程式的連線"
|
||||||
|
|
||||||
#: ../src/core/main.c:212
|
#: ../src/core/main.c:202
|
||||||
msgid "Replace the running window manager"
|
msgid "Replace the running window manager"
|
||||||
msgstr "取代執行中的視窗管理員"
|
msgstr "取代執行中的視窗管理員"
|
||||||
|
|
||||||
#: ../src/core/main.c:218
|
#: ../src/core/main.c:208
|
||||||
msgid "Specify session management ID"
|
msgid "Specify session management ID"
|
||||||
msgstr "指定作業階段管理 ID"
|
msgstr "指定作業階段管理 ID"
|
||||||
|
|
||||||
#: ../src/core/main.c:223
|
#: ../src/core/main.c:213
|
||||||
msgid "X Display to use"
|
msgid "X Display to use"
|
||||||
msgstr "使用的 X 畫面"
|
msgstr "使用的 X 畫面"
|
||||||
|
|
||||||
#: ../src/core/main.c:229
|
#: ../src/core/main.c:219
|
||||||
msgid "Initialize session from savefile"
|
msgid "Initialize session from savefile"
|
||||||
msgstr "以 savefile 初始化作業階段"
|
msgstr "以 savefile 初始化作業階段"
|
||||||
|
|
||||||
#: ../src/core/main.c:235
|
#: ../src/core/main.c:225
|
||||||
msgid "Make X calls synchronous"
|
msgid "Make X calls synchronous"
|
||||||
msgstr "使用同步方式調用 X 函式"
|
msgstr "使用同步方式調用 X 函式"
|
||||||
|
|
||||||
#: ../src/core/main.c:504
|
#: ../src/core/main.c:494
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to scan themes directory: %s\n"
|
msgid "Failed to scan themes directory: %s\n"
|
||||||
msgstr "找不到佈景主題目錄:%s\n"
|
msgstr "找不到佈景主題目錄:%s\n"
|
||||||
|
|
||||||
#: ../src/core/main.c:520
|
#: ../src/core/main.c:510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
|
||||||
@@ -144,28 +144,28 @@ msgid "Print version"
|
|||||||
msgstr "顯示版本"
|
msgstr "顯示版本"
|
||||||
|
|
||||||
#: ../src/core/mutter.c:60
|
#: ../src/core/mutter.c:60
|
||||||
msgid "Comma-separated list of compositor plugins"
|
msgid "Mutter plugin to use"
|
||||||
msgstr "以逗號分隔的複合視窗外掛程式清單"
|
msgstr "要使用的 Mutter 外掛程式"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1069
|
#: ../src/core/prefs.c:1065
|
||||||
msgid ""
|
msgid ""
|
||||||
"Workarounds for broken applications disabled. Some applications may not "
|
"Workarounds for broken applications disabled. Some applications may not "
|
||||||
"behave properly.\n"
|
"behave properly.\n"
|
||||||
msgstr "關閉了對不合規格的程式的支援。某些程式可能無法正常運作。\n"
|
msgstr "關閉了對不合規格的程式的支援。某些程式可能無法正常運作。\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1144
|
#: ../src/core/prefs.c:1140
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse font description \"%s\" from GSettings key %s\n"
|
msgid "Could not parse font description \"%s\" from GSettings key %s\n"
|
||||||
msgstr "無法從 GSettings 設定鍵 %2$s 分析字型描述文字「%1$s」\n"
|
msgstr "無法從 GSettings 設定鍵 %2$s 分析字型描述文字「%1$s」\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1210
|
#: ../src/core/prefs.c:1206
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"%s\" found in configuration database is not a valid value for mouse button "
|
"\"%s\" found in configuration database is not a valid value for mouse button "
|
||||||
"modifier\n"
|
"modifier\n"
|
||||||
msgstr "組態資料庫中的“%s”設定值不是有效的滑鼠按鈕修改功能鍵\n"
|
msgstr "組態資料庫中的“%s”設定值不是有效的滑鼠按鈕修改功能鍵\n"
|
||||||
|
|
||||||
#: ../src/core/prefs.c:1722
|
#: ../src/core/prefs.c:1724
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\"%s\" found in configuration database is not a valid value for keybinding "
|
"\"%s\" found in configuration database is not a valid value for keybinding "
|
||||||
@@ -173,17 +173,17 @@ msgid ""
|
|||||||
msgstr "組態資料庫中的“%s”不是按鍵組合“%s”的有效設定值\n"
|
msgstr "組態資料庫中的“%s”不是按鍵組合“%s”的有效設定值\n"
|
||||||
|
|
||||||
# (Abel) take care of the same string in libwnck
|
# (Abel) take care of the same string in libwnck
|
||||||
#: ../src/core/prefs.c:1819
|
#: ../src/core/prefs.c:1821
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "工作區 %d"
|
msgstr "工作區 %d"
|
||||||
|
|
||||||
#: ../src/core/screen.c:730
|
#: ../src/core/screen.c:652
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display '%s' is invalid\n"
|
msgid "Screen %d on display '%s' is invalid\n"
|
||||||
msgstr "畫面‘%2$s’中的第 %1$d 個螢幕無效\n"
|
msgstr "畫面‘%2$s’中的第 %1$d 個螢幕無效\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:746
|
#: ../src/core/screen.c:668
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||||
@@ -193,18 +193,18 @@ msgstr ""
|
|||||||
"換目前的視窗管理員。\n"
|
"換目前的視窗管理員。\n"
|
||||||
|
|
||||||
# FIXME: I'm still unclear about the meaning of XGetSelectionOwner -- Abel
|
# FIXME: I'm still unclear about the meaning of XGetSelectionOwner -- Abel
|
||||||
#: ../src/core/screen.c:773
|
#: ../src/core/screen.c:695
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||||
msgstr "無法在畫面“%2$s”中的第 %1$d 個螢幕進行視窗管理員選擇程序\n"
|
msgstr "無法在畫面“%2$s”中的第 %1$d 個螢幕進行視窗管理員選擇程序\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:828
|
#: ../src/core/screen.c:750
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||||
msgstr "畫面“%2$s”中的第 %1$d 個螢幕已經有了視窗總管\n"
|
msgstr "畫面“%2$s”中的第 %1$d 個螢幕已經有了視窗總管\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:1013
|
#: ../src/core/screen.c:935
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not release screen %d on display \"%s\"\n"
|
msgid "Could not release screen %d on display \"%s\"\n"
|
||||||
msgstr "無法釋放畫面“%2$s”中的第 %1$d 個螢幕\n"
|
msgstr "無法釋放畫面“%2$s”中的第 %1$d 個螢幕\n"
|
||||||
@@ -262,44 +262,44 @@ msgid ""
|
|||||||
"be restarted manually next time you log in."
|
"be restarted manually next time you log in."
|
||||||
msgstr "這些視窗不支援 "儲存目前的設定" ,必須在下次登入後自行啟動。"
|
msgstr "這些視窗不支援 "儲存目前的設定" ,必須在下次登入後自行啟動。"
|
||||||
|
|
||||||
#: ../src/core/util.c:111
|
#: ../src/core/util.c:80
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to open debug log: %s\n"
|
msgid "Failed to open debug log: %s\n"
|
||||||
msgstr "無法開啟偵錯記錄檔:%s\n"
|
msgstr "無法開啟偵錯記錄檔:%s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:121
|
#: ../src/core/util.c:90
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to fdopen() log file %s: %s\n"
|
msgid "Failed to fdopen() log file %s: %s\n"
|
||||||
msgstr "無法 fdopen() 記錄檔 %s:%s\n"
|
msgstr "無法 fdopen() 記錄檔 %s:%s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:127
|
#: ../src/core/util.c:96
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Opened log file %s\n"
|
msgid "Opened log file %s\n"
|
||||||
msgstr "已開啟記錄檔 %s\n"
|
msgstr "已開啟記錄檔 %s\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:146 ../src/tools/mutter-message.c:149
|
#: ../src/core/util.c:115 ../src/tools/mutter-message.c:149
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Mutter was compiled without support for verbose mode\n"
|
msgid "Mutter was compiled without support for verbose mode\n"
|
||||||
msgstr "編譯 Mutter 時並沒有加入詳細偵錯模式的支援\n"
|
msgstr "編譯 Mutter 時並沒有加入詳細偵錯模式的支援\n"
|
||||||
|
|
||||||
#: ../src/core/util.c:290
|
#: ../src/core/util.c:259
|
||||||
msgid "Window manager: "
|
msgid "Window manager: "
|
||||||
msgstr "視窗管理員:"
|
msgstr "視窗管理員:"
|
||||||
|
|
||||||
#: ../src/core/util.c:438
|
#: ../src/core/util.c:407
|
||||||
msgid "Bug in window manager: "
|
msgid "Bug in window manager: "
|
||||||
msgstr "視窗總管出現錯誤:"
|
msgstr "視窗總管出現錯誤:"
|
||||||
|
|
||||||
#: ../src/core/util.c:471
|
#: ../src/core/util.c:438
|
||||||
msgid "Window manager warning: "
|
msgid "Window manager warning: "
|
||||||
msgstr "視窗總管警告:"
|
msgstr "視窗總管警告:"
|
||||||
|
|
||||||
#: ../src/core/util.c:499
|
#: ../src/core/util.c:466
|
||||||
msgid "Window manager error: "
|
msgid "Window manager error: "
|
||||||
msgstr "視窗總管錯誤:"
|
msgstr "視窗總管錯誤:"
|
||||||
|
|
||||||
#. first time through
|
#. first time through
|
||||||
#: ../src/core/window.c:7219
|
#: ../src/core/window.c:7234
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||||
@@ -315,7 +315,7 @@ msgstr ""
|
|||||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||||
#. * about these apps but make them work.
|
#. * about these apps but make them work.
|
||||||
#.
|
#.
|
||||||
#: ../src/core/window.c:7882
|
#: ../src/core/window.c:7899
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||||
@@ -324,22 +324,22 @@ msgstr ""
|
|||||||
"視窗 %s 設定了 MWM 提示,表示它不可以調整大小,但又將大小下限定為 %d×%d 及將"
|
"視窗 %s 設定了 MWM 提示,表示它不可以調整大小,但又將大小下限定為 %d×%d 及將"
|
||||||
"大小上限定為 %d×%d;這種做法不符合常理。\n"
|
"大小上限定為 %d×%d;這種做法不符合常理。\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:309
|
#: ../src/core/window-props.c:310
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Application set a bogus _NET_WM_PID %lu\n"
|
msgid "Application set a bogus _NET_WM_PID %lu\n"
|
||||||
msgstr "程式設定了多餘的 _NET_WM_PID %lu\n"
|
msgstr "程式設定了多餘的 _NET_WM_PID %lu\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:426
|
#: ../src/core/window-props.c:429
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s (on %s)"
|
msgid "%s (on %s)"
|
||||||
msgstr "%s(在 %s)"
|
msgstr "%s(在 %s)"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:1481
|
#: ../src/core/window-props.c:1484
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||||
msgstr "%2$s 指定了無效的 WM_TRANSIENT_FOR 視窗 0x%1$lx。\n"
|
msgstr "%2$s 指定了無效的 WM_TRANSIENT_FOR 視窗 0x%1$lx。\n"
|
||||||
|
|
||||||
#: ../src/core/window-props.c:1492
|
#: ../src/core/window-props.c:1495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||||
msgstr "%2$s 的 WM_TRANSIENT_FOR 視窗 0x%1$lx 會造成迴圈。\n"
|
msgstr "%2$s 的 WM_TRANSIENT_FOR 視窗 0x%1$lx 會造成迴圈。\n"
|
||||||
@@ -375,73 +375,10 @@ msgid "Mutter"
|
|||||||
msgstr "Mutter"
|
msgstr "Mutter"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:1
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:1
|
||||||
msgid "Attach modal dialogs"
|
|
||||||
msgstr "附加模態對話盒"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:2
|
|
||||||
msgid "Cancel tab popup"
|
|
||||||
msgstr "取消分頁彈出項"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:3
|
|
||||||
msgid ""
|
|
||||||
"Determines whether hidden windows (i.e., minimized windows and windows on "
|
|
||||||
"other workspaces than the current one) should be kept alive."
|
|
||||||
msgstr ""
|
|
||||||
"決定隱藏的視窗(如最小化的視窗和位於目前以外工作區的視窗)是否保持活動。"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:4
|
|
||||||
msgid ""
|
|
||||||
"Determines whether the use of popup and highlight frame should be disabled "
|
|
||||||
"for window cycling."
|
|
||||||
msgstr "決定當視窗輪換時是否使用彈出式和強調框架。"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:5
|
|
||||||
msgid ""
|
|
||||||
"Determines whether workspace switching should happen for windows on all "
|
|
||||||
"monitors or only for windows on the primary monitor."
|
|
||||||
msgstr "決定工作區切換是否使用於所有螢幕的視窗或只用於主要螢幕的視窗。"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:6
|
|
||||||
msgid "Draggable border width"
|
|
||||||
msgstr "可拖曳邊框寬度"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:7
|
|
||||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
|
||||||
msgstr "在螢幕邊緣放下視窗時啟用邊緣拼貼"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:8
|
|
||||||
msgid ""
|
|
||||||
"If enabled, dropping windows on vertical screen edges maximizes them "
|
|
||||||
"vertically and resizes them horizontally to cover half of the available "
|
|
||||||
"area. Dropping windows on the top screen edge maximizes them completely."
|
|
||||||
msgstr ""
|
|
||||||
"如果啟用,將視窗拖放到螢幕垂直邊緣時會讓它們垂直最大化並調整水平方向大小覆蓋"
|
|
||||||
"可用區域的一半。拖放視窗到螢幕頂端邊緣則會讓它們完全最大化。"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:9
|
|
||||||
msgid "Live Hidden Windows"
|
|
||||||
msgstr "活動中的隱藏 Windows"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:10
|
|
||||||
msgid "Modifier to use for extended window management operations"
|
msgid "Modifier to use for extended window management operations"
|
||||||
msgstr "用於延伸視窗管理操作程序的特殊按鍵"
|
msgstr "用於延伸視窗管理操作程序的特殊按鍵"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:11
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:2
|
||||||
msgid "No tab popup"
|
|
||||||
msgstr "沒有分頁彈出項"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:12
|
|
||||||
msgid "Select window from tab popup"
|
|
||||||
msgstr "從分頁彈出項選擇視窗"
|
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:13
|
|
||||||
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/org.gnome.mutter.gschema.xml.in.h:14
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"This key will initiate the \"overlay\", which is a combination window "
|
"This key will initiate the \"overlay\", which is a combination window "
|
||||||
"overview and application launching system. The default is intended to be the "
|
"overview and application launching system. The default is intended to be the "
|
||||||
@@ -452,7 +389,11 @@ msgstr ""
|
|||||||
"要成為 PC 硬體上的「Windows key」。預期這個按鍵組含不是預設值就是設定為空字"
|
"要成為 PC 硬體上的「Windows key」。預期這個按鍵組含不是預設值就是設定為空字"
|
||||||
"串。"
|
"串。"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:15
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:3
|
||||||
|
msgid "Attach modal dialogs"
|
||||||
|
msgstr "附加模態對話盒"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:4
|
||||||
msgid ""
|
msgid ""
|
||||||
"When true, instead of having independent titlebars, modal dialogs appear "
|
"When true, instead of having independent titlebars, modal dialogs appear "
|
||||||
"attached to the titlebar of the parent window and are moved together with "
|
"attached to the titlebar of the parent window and are moved together with "
|
||||||
@@ -461,60 +402,76 @@ msgstr ""
|
|||||||
"當設為「true」,將不會有獨立的標題列,模態對話盒會附加在上層視窗的標題列並與"
|
"當設為「true」,將不會有獨立的標題列,模態對話盒會附加在上層視窗的標題列並與"
|
||||||
"上層視窗一起移動。"
|
"上層視窗一起移動。"
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:16
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:5
|
||||||
|
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
|
msgstr "在螢幕邊緣放下視窗時啟用邊緣拼貼"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:6
|
||||||
|
msgid ""
|
||||||
|
"If enabled, dropping windows on vertical screen edges maximizes them "
|
||||||
|
"vertically and resizes them horizontally to cover half of the available "
|
||||||
|
"area. Dropping windows on the top screen edge maximizes them completely."
|
||||||
|
msgstr ""
|
||||||
|
"如果啟用,將視窗拖放到螢幕垂直邊緣時會讓它們垂直最大化並調整水平方向大小覆蓋"
|
||||||
|
"可用區域的一半。拖放視窗到螢幕頂端邊緣則會讓它們完全最大化。"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:7
|
||||||
|
msgid "Workspaces are managed dynamically"
|
||||||
|
msgstr "工作區以動態方式管理"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:8
|
||||||
|
msgid ""
|
||||||
|
"Determines whether workspaces are managed dynamically or whether there's a "
|
||||||
|
"static number of workspaces (determined by the num-workspaces key in org."
|
||||||
|
"gnome.desktop.wm.preferences)."
|
||||||
|
msgstr ""
|
||||||
|
"決定工作區以動態方式管理或是有固定數量的工作區 (以 org.gnome.desktop.wm."
|
||||||
|
"preferences 中的 num-workspaces 鍵值來決定)。"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:9
|
||||||
msgid "Workspaces only on primary"
|
msgid "Workspaces only on primary"
|
||||||
msgstr "只有主要螢幕的工作區"
|
msgstr "只有主要螢幕的工作區"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:10
|
||||||
|
msgid ""
|
||||||
|
"Determines whether workspace switching should happen for windows on all "
|
||||||
|
"monitors or only for windows on the primary monitor."
|
||||||
|
msgstr "決定工作區切換是否使用於所有螢幕的視窗或只用於主要螢幕的視窗。"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:11
|
||||||
|
msgid "No tab popup"
|
||||||
|
msgstr "沒有分頁彈出項"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:12
|
||||||
|
msgid ""
|
||||||
|
"Determines whether the use of popup and highlight frame should be disabled "
|
||||||
|
"for window cycling."
|
||||||
|
msgstr "決定當視窗輪換時是否使用彈出式和強調框架。"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:13
|
||||||
|
msgid "Draggable border width"
|
||||||
|
msgstr "可拖曳邊框寬度"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:14
|
||||||
|
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/org.gnome.mutter.gschema.xml.in.h:15
|
||||||
|
msgid "Select window from tab popup"
|
||||||
|
msgstr "從分頁彈出項選擇視窗"
|
||||||
|
|
||||||
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:16
|
||||||
|
msgid "Cancel tab popup"
|
||||||
|
msgstr "取消分頁彈出項"
|
||||||
|
|
||||||
#: ../src/tools/mutter-message.c:123
|
#: ../src/tools/mutter-message.c:123
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Usage: %s\n"
|
msgid "Usage: %s\n"
|
||||||
msgstr "用法:%s\n"
|
msgstr "用法:%s\n"
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1157
|
|
||||||
msgid "Close Window"
|
|
||||||
msgstr "關閉視窗"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1160
|
|
||||||
msgid "Window Menu"
|
|
||||||
msgstr "視窗選單"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1163
|
|
||||||
msgid "Minimize Window"
|
|
||||||
msgstr "視窗最小化"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1166
|
|
||||||
msgid "Maximize Window"
|
|
||||||
msgstr "視窗最大化"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1169
|
|
||||||
msgid "Restore Window"
|
|
||||||
msgstr "還原視窗"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1172
|
|
||||||
msgid "Roll Up Window"
|
|
||||||
msgstr "捲起視窗(_U)"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1175
|
|
||||||
msgid "Unroll Window"
|
|
||||||
msgstr "放下視窗"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1178
|
|
||||||
msgid "Keep Window On Top"
|
|
||||||
msgstr "視窗保留在最上層"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1181
|
|
||||||
msgid "Remove Window From Top"
|
|
||||||
msgstr "視窗移離最上層"
|
|
||||||
|
|
||||||
# (Abel) take care of the same string in libwnck
|
|
||||||
#: ../src/ui/frames.c:1184
|
|
||||||
msgid "Always On Visible Workspace"
|
|
||||||
msgstr "在所有工作區顯示"
|
|
||||||
|
|
||||||
#: ../src/ui/frames.c:1187
|
|
||||||
msgid "Put Window On Only One Workspace"
|
|
||||||
msgstr "視窗只置於一個工作區"
|
|
||||||
|
|
||||||
# (Abel) take care of the same string in libwnck
|
# (Abel) take care of the same string in libwnck
|
||||||
#. Translators: Translate this string the same way as you do in libwnck!
|
#. Translators: Translate this string the same way as you do in libwnck!
|
||||||
#: ../src/ui/menu.c:69
|
#: ../src/ui/menu.c:69
|
||||||
@@ -730,48 +687,48 @@ msgstr "Mod5"
|
|||||||
msgid "%d x %d"
|
msgid "%d x %d"
|
||||||
msgstr "%d x %d"
|
msgstr "%d x %d"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:253
|
#: ../src/ui/theme.c:234
|
||||||
msgid "top"
|
msgid "top"
|
||||||
msgstr "頂"
|
msgstr "頂"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:255
|
#: ../src/ui/theme.c:236
|
||||||
msgid "bottom"
|
msgid "bottom"
|
||||||
msgstr "底"
|
msgstr "底"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:257
|
#: ../src/ui/theme.c:238
|
||||||
msgid "left"
|
msgid "left"
|
||||||
msgstr "左"
|
msgstr "左"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:259
|
#: ../src/ui/theme.c:240
|
||||||
msgid "right"
|
msgid "right"
|
||||||
msgstr "右"
|
msgstr "右"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:286
|
#: ../src/ui/theme.c:268
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "frame geometry does not specify \"%s\" dimension"
|
msgid "frame geometry does not specify \"%s\" dimension"
|
||||||
msgstr "邊框的位置大小中沒有指定“%s”部分的大小"
|
msgstr "邊框的位置大小中沒有指定“%s”部分的大小"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:305
|
#: ../src/ui/theme.c:287
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
|
||||||
msgstr "邊框的位置大小中沒有指定“%2$s”邊框中的“%1$s”部分"
|
msgstr "邊框的位置大小中沒有指定“%2$s”邊框中的“%1$s”部分"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:342
|
#: ../src/ui/theme.c:324
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Button aspect ratio %g is not reasonable"
|
msgid "Button aspect ratio %g is not reasonable"
|
||||||
msgstr "按鈕的長寬比 %g 不合理"
|
msgstr "按鈕的長寬比 %g 不合理"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:354
|
#: ../src/ui/theme.c:336
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Frame geometry does not specify size of buttons"
|
msgid "Frame geometry does not specify size of buttons"
|
||||||
msgstr "邊框的位置大小規格內未有指定按鈕的大小"
|
msgstr "邊框的位置大小規格內未有指定按鈕的大小"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1067
|
#: ../src/ui/theme.c:1049
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Gradients should have at least two colors"
|
msgid "Gradients should have at least two colors"
|
||||||
msgstr "漸層至少應該有兩種顏色"
|
msgstr "漸層至少應該有兩種顏色"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1219
|
#: ../src/ui/theme.c:1201
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"GTK custom color specification must have color name and fallback in "
|
"GTK custom color specification must have color name and fallback in "
|
||||||
@@ -780,14 +737,14 @@ msgstr ""
|
|||||||
"GTK 自訂顏色規格規定必須有顏色名稱並加上封閉括號,例如 gtk:custom(foo,bar);"
|
"GTK 自訂顏色規格規定必須有顏色名稱並加上封閉括號,例如 gtk:custom(foo,bar);"
|
||||||
"無法分析「%s」"
|
"無法分析「%s」"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1235
|
#: ../src/ui/theme.c:1217
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||||
"_ are valid"
|
"_ are valid"
|
||||||
msgstr "gtk:custom 的 color_name 參數 '%c' 中有無效字元,只能使用 A-Za-z0-9-_ "
|
msgstr "gtk:custom 的 color_name 參數 '%c' 中有無效字元,只能使用 A-Za-z0-9-_ "
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1249
|
#: ../src/ui/theme.c:1231
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||||
@@ -795,7 +752,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Gtk:custom 的格式是「gtk:custom(color_name,fallback)」,但「%s」不符合格式"
|
"Gtk:custom 的格式是「gtk:custom(color_name,fallback)」,但「%s」不符合格式"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1294
|
#: ../src/ui/theme.c:1276
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
"GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] "
|
||||||
@@ -804,7 +761,7 @@ msgstr ""
|
|||||||
"GTK 色彩規格規定必須在狀態外加上方括號,例如 gtk:fg[NORMAL],這裡 NORMAL 表示"
|
"GTK 色彩規格規定必須在狀態外加上方括號,例如 gtk:fg[NORMAL],這裡 NORMAL 表示"
|
||||||
"狀態;無法分析“%s”"
|
"狀態;無法分析“%s”"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1308
|
#: ../src/ui/theme.c:1290
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
"GTK color specification must have a close bracket after the state, e.g. gtk:"
|
||||||
@@ -813,148 +770,148 @@ msgstr ""
|
|||||||
"GTK 色彩規格規定必須在狀態後加上閉方括號,例如 gtk:fg[NORMAL],這裡 NORMAL 表"
|
"GTK 色彩規格規定必須在狀態後加上閉方括號,例如 gtk:fg[NORMAL],這裡 NORMAL 表"
|
||||||
"示狀態;無法分析“%s”"
|
"示狀態;無法分析“%s”"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1319
|
#: ../src/ui/theme.c:1301
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Did not understand state \"%s\" in color specification"
|
msgid "Did not understand state \"%s\" in color specification"
|
||||||
msgstr "無法將“%s”理解為色彩規格中的狀態"
|
msgstr "無法將“%s”理解為色彩規格中的狀態"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1332
|
#: ../src/ui/theme.c:1314
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Did not understand color component \"%s\" in color specification"
|
msgid "Did not understand color component \"%s\" in color specification"
|
||||||
msgstr "無法將“%s”理解為色彩規格中的色彩部分"
|
msgstr "無法將“%s”理解為色彩規格中的色彩部分"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1361
|
#: ../src/ui/theme.c:1343
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
"Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the "
|
||||||
"format"
|
"format"
|
||||||
msgstr "指定混色的格式是“blend/背景顏色/前景顏色/透明度”,“%s”不符合規格"
|
msgstr "指定混色的格式是“blend/背景顏色/前景顏色/透明度”,“%s”不符合規格"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1372
|
#: ../src/ui/theme.c:1354
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse alpha value \"%s\" in blended color"
|
msgid "Could not parse alpha value \"%s\" in blended color"
|
||||||
msgstr "無法理解“%s”作為混色的透明度數值"
|
msgstr "無法理解“%s”作為混色的透明度數值"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1382
|
#: ../src/ui/theme.c:1364
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
|
||||||
msgstr "混色的透明度數值“%s”不是在 0.0 至 1.0 之間"
|
msgstr "混色的透明度數值“%s”不是在 0.0 至 1.0 之間"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1429
|
#: ../src/ui/theme.c:1411
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
|
||||||
msgstr "陰影的格式是“shade/基本顏色/比重”,但“%s”不符合格式"
|
msgstr "陰影的格式是“shade/基本顏色/比重”,但“%s”不符合格式"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1440
|
#: ../src/ui/theme.c:1422
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse shade factor \"%s\" in shaded color"
|
msgid "Could not parse shade factor \"%s\" in shaded color"
|
||||||
msgstr "在陰影顏色中無法將“%s”理解為陰影比重"
|
msgstr "在陰影顏色中無法將“%s”理解為陰影比重"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1450
|
#: ../src/ui/theme.c:1432
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Shade factor \"%s\" in shaded color is negative"
|
msgid "Shade factor \"%s\" in shaded color is negative"
|
||||||
msgstr "在陰影顏色中陰影比重“%s”是負數"
|
msgstr "在陰影顏色中陰影比重“%s”是負數"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1479
|
#: ../src/ui/theme.c:1461
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not parse color \"%s\""
|
msgid "Could not parse color \"%s\""
|
||||||
msgstr "無法分析顏色“%s”"
|
msgstr "無法分析顏色“%s”"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1790
|
#: ../src/ui/theme.c:1778
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression contains character '%s' which is not allowed"
|
msgid "Coordinate expression contains character '%s' which is not allowed"
|
||||||
msgstr "座標表達式中出現不可接受的字元‘%s’"
|
msgstr "座標表達式中出現不可接受的字元‘%s’"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1817
|
#: ../src/ui/theme.c:1805
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression contains floating point number '%s' which could not be "
|
"Coordinate expression contains floating point number '%s' which could not be "
|
||||||
"parsed"
|
"parsed"
|
||||||
msgstr "座標表達式中出現無法分析的浮點小數‘%s’"
|
msgstr "座標表達式中出現無法分析的浮點小數‘%s’"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1831
|
#: ../src/ui/theme.c:1819
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
msgid "Coordinate expression contains integer '%s' which could not be parsed"
|
||||||
msgstr "座標表達式中出現無法分析的整數‘%s’"
|
msgstr "座標表達式中出現無法分析的整數‘%s’"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1953
|
#: ../src/ui/theme.c:1940
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression contained unknown operator at the start of this text: "
|
"Coordinate expression contained unknown operator at the start of this text: "
|
||||||
"\"%s\""
|
"\"%s\""
|
||||||
msgstr "在座標表達式中,以下文字的開始部分含有不明的運算符:“%s”"
|
msgstr "在座標表達式中,以下文字的開始部分含有不明的運算符:“%s”"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2010
|
#: ../src/ui/theme.c:1997
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression was empty or not understood"
|
msgid "Coordinate expression was empty or not understood"
|
||||||
msgstr "座標表達式是空白的或是無法分析"
|
msgstr "座標表達式是空白的或是無法分析"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2121 ../src/ui/theme.c:2131 ../src/ui/theme.c:2165
|
#: ../src/ui/theme.c:2110 ../src/ui/theme.c:2120 ../src/ui/theme.c:2154
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression results in division by zero"
|
msgid "Coordinate expression results in division by zero"
|
||||||
msgstr "座標表達式中出現被 0 整除的錯誤"
|
msgstr "座標表達式中出現被 0 整除的錯誤"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2173
|
#: ../src/ui/theme.c:2162
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression tries to use mod operator on a floating-point number"
|
"Coordinate expression tries to use mod operator on a floating-point number"
|
||||||
msgstr "座標表達式中出現將浮點數使用於餘數運算符 (mod) 的錯誤"
|
msgstr "座標表達式中出現將浮點數使用於餘數運算符 (mod) 的錯誤"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2229
|
#: ../src/ui/theme.c:2218
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
"Coordinate expression has an operator \"%s\" where an operand was expected"
|
||||||
msgstr "在座標表達式中,應該有運算子的地方出現了運算符“%s”"
|
msgstr "在座標表達式中,應該有運算子的地方出現了運算符“%s”"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2238
|
#: ../src/ui/theme.c:2227
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had an operand where an operator was expected"
|
msgid "Coordinate expression had an operand where an operator was expected"
|
||||||
msgstr "在座標表達式中,應該有運算符的地方出現了運算子"
|
msgstr "在座標表達式中,應該有運算符的地方出現了運算子"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2246
|
#: ../src/ui/theme.c:2235
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression ended with an operator instead of an operand"
|
msgid "Coordinate expression ended with an operator instead of an operand"
|
||||||
msgstr "結束座標表達式的是一個運算符而非運算子"
|
msgstr "結束座標表達式的是一個運算符而非運算子"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2256
|
#: ../src/ui/theme.c:2245
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
|
||||||
"operand in between"
|
"operand in between"
|
||||||
msgstr "在座標表達式中,運算符“%c”緊隨運算符“%c”出現,但中間沒有任何運算子"
|
msgstr "在座標表達式中,運算符“%c”緊隨運算符“%c”出現,但中間沒有任何運算子"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2407 ../src/ui/theme.c:2452
|
#: ../src/ui/theme.c:2396 ../src/ui/theme.c:2441
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
msgid "Coordinate expression had unknown variable or constant \"%s\""
|
||||||
msgstr "座標表達式中出現不明的變數或常數“%s”"
|
msgstr "座標表達式中出現不明的變數或常數“%s”"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2506
|
#: ../src/ui/theme.c:2495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression parser overflowed its buffer."
|
msgid "Coordinate expression parser overflowed its buffer."
|
||||||
msgstr "座標表達式分析器令緩衝溢位。"
|
msgstr "座標表達式分析器令緩衝溢位。"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2535
|
#: ../src/ui/theme.c:2524
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
|
||||||
msgstr "座標表達式中的閉括號沒有相應的開括號"
|
msgstr "座標表達式中的閉括號沒有相應的開括號"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2599
|
#: ../src/ui/theme.c:2588
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
|
||||||
msgstr "座標表達式中的開括號沒有相應的閉括號"
|
msgstr "座標表達式中的開括號沒有相應的閉括號"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2610
|
#: ../src/ui/theme.c:2599
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
msgid "Coordinate expression doesn't seem to have any operators or operands"
|
||||||
msgstr "座標表達式中似乎沒有任何運算符或運算子"
|
msgstr "座標表達式中似乎沒有任何運算符或運算子"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:2822 ../src/ui/theme.c:2842 ../src/ui/theme.c:2862
|
#: ../src/ui/theme.c:2812 ../src/ui/theme.c:2832 ../src/ui/theme.c:2852
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Theme contained an expression that resulted in an error: %s\n"
|
msgid "Theme contained an expression that resulted in an error: %s\n"
|
||||||
msgstr "佈景主題中含有引致錯誤的表達式:%s\n"
|
msgstr "佈景主題中含有引致錯誤的表達式:%s\n"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:4533
|
#: ../src/ui/theme.c:4498
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
|
||||||
@@ -963,25 +920,25 @@ msgstr ""
|
|||||||
"此邊框款式必須指定 <button function=\"%s\" state=\"%s\" draw_ops=\"whatever"
|
"此邊框款式必須指定 <button function=\"%s\" state=\"%s\" draw_ops=\"whatever"
|
||||||
"\"/>"
|
"\"/>"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5066 ../src/ui/theme.c:5091
|
#: ../src/ui/theme.c:5009 ../src/ui/theme.c:5034
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"缺少了 <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
"缺少了 <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5139
|
#: ../src/ui/theme.c:5082
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to load theme \"%s\": %s\n"
|
msgid "Failed to load theme \"%s\": %s\n"
|
||||||
msgstr "無法載入佈景主題“%s”:%s\n"
|
msgstr "無法載入佈景主題“%s”:%s\n"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5275 ../src/ui/theme.c:5282 ../src/ui/theme.c:5289
|
#: ../src/ui/theme.c:5218 ../src/ui/theme.c:5225 ../src/ui/theme.c:5232
|
||||||
#: ../src/ui/theme.c:5296 ../src/ui/theme.c:5303
|
#: ../src/ui/theme.c:5239 ../src/ui/theme.c:5246
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "No <%s> set for theme \"%s\""
|
msgid "No <%s> set for theme \"%s\""
|
||||||
msgstr "佈景主題“%s”未指定 <%s>"
|
msgstr "佈景主題“%s”未指定 <%s>"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5311
|
#: ../src/ui/theme.c:5254
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
|
||||||
@@ -990,13 +947,13 @@ msgstr ""
|
|||||||
"在佈景主題“%2$s”中,視窗類型“%1$s”沒有指定任何邊框款式。請加上 <window type="
|
"在佈景主題“%2$s”中,視窗類型“%1$s”沒有指定任何邊框款式。請加上 <window type="
|
||||||
"\"%3$s\" style_set=\"whatever\"/> 元素"
|
"\"%3$s\" style_set=\"whatever\"/> 元素"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5709 ../src/ui/theme.c:5771 ../src/ui/theme.c:5834
|
#: ../src/ui/theme.c:5650 ../src/ui/theme.c:5712 ../src/ui/theme.c:5775
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
"User-defined constants must begin with a capital letter; \"%s\" does not"
|
||||||
msgstr "自行定義的常數必須以大寫字母開始;但“%s”不是"
|
msgstr "自行定義的常數必須以大寫字母開始;但“%s”不是"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:5717 ../src/ui/theme.c:5779 ../src/ui/theme.c:5842
|
#: ../src/ui/theme.c:5658 ../src/ui/theme.c:5720 ../src/ui/theme.c:5783
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Constant \"%s\" has already been defined"
|
msgid "Constant \"%s\" has already been defined"
|
||||||
msgstr "已定義了“%s”常數"
|
msgstr "已定義了“%s”常數"
|
||||||
@@ -1366,7 +1323,7 @@ msgstr "<%s> 元素內不可出現任何文字"
|
|||||||
msgid "<%s> specified twice for this theme"
|
msgid "<%s> specified twice for this theme"
|
||||||
msgstr "<%s> 指定了這個佈景主題兩次"
|
msgstr "<%s> 指定了這個佈景主題兩次"
|
||||||
|
|
||||||
#: ../src/ui/theme-parser.c:4348
|
#: ../src/ui/theme-parser.c:4334
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to find a valid file for theme %s\n"
|
msgid "Failed to find a valid file for theme %s\n"
|
||||||
msgstr "無法佈景主題的有效檔案 %s\n"
|
msgstr "無法佈景主題的有效檔案 %s\n"
|
||||||
@@ -1568,3 +1525,42 @@ msgstr "y 的數值是 %d,%d是預期中的數值"
|
|||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
|
||||||
msgstr "分析 %d 座標表現需時 %g 秒(平均 %g 秒)\n"
|
msgstr "分析 %d 座標表現需時 %g 秒(平均 %g 秒)\n"
|
||||||
|
|
||||||
|
#~ msgid "Comma-separated list of compositor plugins"
|
||||||
|
#~ msgstr "以逗號分隔的複合視窗外掛程式清單"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Determines whether hidden windows (i.e., minimized windows and windows on "
|
||||||
|
#~ "other workspaces than the current one) should be kept alive."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "決定隱藏的視窗(如最小化的視窗和位於目前以外工作區的視窗)是否保持活動。"
|
||||||
|
|
||||||
|
#~ msgid "Live Hidden Windows"
|
||||||
|
#~ msgstr "活動中的隱藏 Windows"
|
||||||
|
|
||||||
|
#~ msgid "Close Window"
|
||||||
|
#~ msgstr "關閉視窗"
|
||||||
|
|
||||||
|
#~ msgid "Window Menu"
|
||||||
|
#~ msgstr "視窗選單"
|
||||||
|
|
||||||
|
#~ msgid "Minimize Window"
|
||||||
|
#~ msgstr "視窗最小化"
|
||||||
|
|
||||||
|
#~ msgid "Maximize Window"
|
||||||
|
#~ msgstr "視窗最大化"
|
||||||
|
|
||||||
|
#~ msgid "Restore Window"
|
||||||
|
#~ msgstr "還原視窗"
|
||||||
|
|
||||||
|
#~ msgid "Roll Up Window"
|
||||||
|
#~ msgstr "捲起視窗(_U)"
|
||||||
|
|
||||||
|
#~ msgid "Unroll Window"
|
||||||
|
#~ msgstr "放下視窗"
|
||||||
|
|
||||||
|
#~ msgid "Keep Window On Top"
|
||||||
|
#~ msgstr "視窗保留在最上層"
|
||||||
|
|
||||||
|
#~ msgid "Remove Window From Top"
|
||||||
|
#~ msgstr "視窗移離最上層"
|
||||||
|
|||||||
@@ -130,8 +130,6 @@ libmutter_la_SOURCES = \
|
|||||||
core/core.h \
|
core/core.h \
|
||||||
ui/ui.h \
|
ui/ui.h \
|
||||||
inlinepixbufs.h \
|
inlinepixbufs.h \
|
||||||
ui/fixedtip.c \
|
|
||||||
ui/fixedtip.h \
|
|
||||||
ui/frames.c \
|
ui/frames.c \
|
||||||
ui/frames.h \
|
ui/frames.h \
|
||||||
ui/menu.c \
|
ui/menu.c \
|
||||||
@@ -224,7 +222,7 @@ INTROSPECTION_GIRS = Meta-$(api_version).gir
|
|||||||
|
|
||||||
Meta-$(api_version).gir: libmutter.la
|
Meta-$(api_version).gir: libmutter.la
|
||||||
@META_GIR@_INCLUDES = GObject-2.0 GDesktopEnums-3.0 Gdk-3.0 Gtk-3.0 Clutter-1.0 xlib-2.0 xfixes-4.0
|
@META_GIR@_INCLUDES = GObject-2.0 GDesktopEnums-3.0 Gdk-3.0 Gtk-3.0 Clutter-1.0 xlib-2.0 xfixes-4.0
|
||||||
@META_GIR@_PACKAGES = clutter-1.0 gtk+-3.0
|
@META_GIR@_EXPORT_PACKAGES = libmutter
|
||||||
@META_GIR@_CFLAGS = $(INCLUDES)
|
@META_GIR@_CFLAGS = $(INCLUDES)
|
||||||
@META_GIR@_LIBS = libmutter.la
|
@META_GIR@_LIBS = libmutter.la
|
||||||
@META_GIR@_FILES = \
|
@META_GIR@_FILES = \
|
||||||
|
|||||||
@@ -55,9 +55,6 @@ struct _MetaCompScreen
|
|||||||
};
|
};
|
||||||
|
|
||||||
void meta_switch_workspace_completed (MetaScreen *screen);
|
void meta_switch_workspace_completed (MetaScreen *screen);
|
||||||
void meta_set_stage_input_region (MetaScreen *screen,
|
|
||||||
XserverRegion region);
|
|
||||||
void meta_empty_stage_input_region (MetaScreen *screen);
|
|
||||||
|
|
||||||
gboolean meta_begin_modal_for_plugin (MetaScreen *screen,
|
gboolean meta_begin_modal_for_plugin (MetaScreen *screen,
|
||||||
MetaPlugin *plugin,
|
MetaPlugin *plugin,
|
||||||
|
|||||||
@@ -557,9 +557,7 @@ meta_compositor_manage_screen (MetaCompositor *compositor,
|
|||||||
|
|
||||||
clutter_actor_hide (info->hidden_group);
|
clutter_actor_hide (info->hidden_group);
|
||||||
|
|
||||||
info->plugin_mgr =
|
info->plugin_mgr = meta_plugin_manager_new (screen);
|
||||||
meta_plugin_manager_get (screen);
|
|
||||||
meta_plugin_manager_initialize (info->plugin_mgr);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Delay the creation of the overlay window as long as we can, to avoid
|
* Delay the creation of the overlay window as long as we can, to avoid
|
||||||
@@ -871,29 +869,6 @@ meta_compositor_unmaximize_window (MetaCompositor *compositor,
|
|||||||
meta_window_actor_unmaximize (window_actor, old_rect, new_rect);
|
meta_window_actor_unmaximize (window_actor, old_rect, new_rect);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
meta_compositor_update_workspace_geometry (MetaCompositor *compositor,
|
|
||||||
MetaWorkspace *workspace)
|
|
||||||
{
|
|
||||||
#if 0
|
|
||||||
/* FIXME -- should do away with this function in favour of MetaWorkspace
|
|
||||||
* signal.
|
|
||||||
*/
|
|
||||||
MetaScreen *screen = meta_workspace_get_screen (workspace);
|
|
||||||
MetaCompScreen *info;
|
|
||||||
MetaPluginManager *mgr;
|
|
||||||
|
|
||||||
DEBUG_TRACE ("meta_compositor_update_workspace_geometry\n");
|
|
||||||
info = meta_screen_get_compositor_data (screen);
|
|
||||||
mgr = info->plugin_mgr;
|
|
||||||
|
|
||||||
if (!mgr || !workspace)
|
|
||||||
return;
|
|
||||||
|
|
||||||
meta_plugin_manager_update_workspace (mgr, workspace);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
meta_compositor_switch_workspace (MetaCompositor *compositor,
|
meta_compositor_switch_workspace (MetaCompositor *compositor,
|
||||||
MetaScreen *screen,
|
MetaScreen *screen,
|
||||||
|
|||||||
@@ -28,6 +28,9 @@
|
|||||||
#define COGL_ENABLE_EXPERIMENTAL_API
|
#define COGL_ENABLE_EXPERIMENTAL_API
|
||||||
#include <cogl/cogl-texture-pixmap-x11.h>
|
#include <cogl/cogl-texture-pixmap-x11.h>
|
||||||
|
|
||||||
|
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
||||||
|
#include <clutter/clutter.h>
|
||||||
|
|
||||||
#include <X11/Xatom.h>
|
#include <X11/Xatom.h>
|
||||||
|
|
||||||
#include "cogl-utils.h"
|
#include "cogl-utils.h"
|
||||||
@@ -252,6 +255,8 @@ meta_background_actor_dispose (GObject *object)
|
|||||||
cogl_handle_unref (priv->material);
|
cogl_handle_unref (priv->material);
|
||||||
priv->material = COGL_INVALID_HANDLE;
|
priv->material = COGL_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
G_OBJECT_CLASS (meta_background_actor_parent_class)->dispose (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -537,9 +542,11 @@ meta_background_actor_update (MetaScreen *screen)
|
|||||||
if (root_pixmap_id != None)
|
if (root_pixmap_id != None)
|
||||||
{
|
{
|
||||||
CoglHandle texture;
|
CoglHandle texture;
|
||||||
|
CoglContext *ctx = clutter_backend_get_cogl_context (clutter_get_default_backend ());
|
||||||
|
GError *error = NULL;
|
||||||
|
|
||||||
meta_error_trap_push (display);
|
meta_error_trap_push (display);
|
||||||
texture = cogl_texture_pixmap_x11_new (root_pixmap_id, FALSE);
|
texture = cogl_texture_pixmap_x11_new (ctx, root_pixmap_id, FALSE, &error);
|
||||||
meta_error_trap_pop (display);
|
meta_error_trap_pop (display);
|
||||||
|
|
||||||
if (texture != COGL_INVALID_HANDLE)
|
if (texture != COGL_INVALID_HANDLE)
|
||||||
@@ -550,6 +557,12 @@ meta_background_actor_update (MetaScreen *screen)
|
|||||||
background->have_pixmap = True;
|
background->have_pixmap = True;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_warning ("Failed to create background texture from pixmap: %s",
|
||||||
|
error->message);
|
||||||
|
g_error_free (error);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
background->have_pixmap = False;
|
background->have_pixmap = False;
|
||||||
|
|||||||
@@ -35,34 +35,32 @@
|
|||||||
|
|
||||||
#include <clutter/x11/clutter-x11.h>
|
#include <clutter/x11/clutter-x11.h>
|
||||||
|
|
||||||
static GSList *plugin_types;
|
static GType plugin_type = G_TYPE_NONE;
|
||||||
|
|
||||||
/*
|
|
||||||
* We have one "default plugin manager" that acts for the first screen,
|
|
||||||
* but also can be used before we open any screens, and additional
|
|
||||||
* plugin managers for each screen. (This is ugly. Probably we should
|
|
||||||
* have one plugin manager and only make the plugins per-screen.)
|
|
||||||
*/
|
|
||||||
static MetaPluginManager *default_plugin_manager;
|
|
||||||
|
|
||||||
struct MetaPluginManager
|
struct MetaPluginManager
|
||||||
{
|
{
|
||||||
MetaScreen *screen;
|
MetaScreen *screen;
|
||||||
|
MetaPlugin *plugin;
|
||||||
GList /* MetaPlugin */ *plugins; /* TODO -- maybe use hash table */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void
|
||||||
|
meta_plugin_manager_set_plugin_type (GType gtype)
|
||||||
|
{
|
||||||
|
if (plugin_type != G_TYPE_NONE)
|
||||||
|
meta_fatal ("Mutter plugin already set: %s", g_type_name (plugin_type));
|
||||||
|
|
||||||
|
plugin_type = gtype;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Loads the given plugin.
|
* Loads the given plugin.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
meta_plugin_manager_load (MetaPluginManager *plugin_mgr,
|
meta_plugin_manager_load (const gchar *plugin_name)
|
||||||
const gchar *plugin_name)
|
|
||||||
{
|
{
|
||||||
const gchar *dpath = MUTTER_PLUGIN_DIR "/";
|
const gchar *dpath = MUTTER_PLUGIN_DIR "/";
|
||||||
gchar *path;
|
gchar *path;
|
||||||
MetaModule *module;
|
MetaModule *module;
|
||||||
GType plugin_type;
|
|
||||||
|
|
||||||
if (g_path_is_absolute (plugin_name))
|
if (g_path_is_absolute (plugin_name))
|
||||||
path = g_strdup (plugin_name);
|
path = g_strdup (plugin_name);
|
||||||
@@ -81,162 +79,57 @@ meta_plugin_manager_load (MetaPluginManager *plugin_mgr,
|
|||||||
exit (1);
|
exit (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
plugin_type = meta_module_get_plugin_type (module);
|
meta_plugin_manager_set_plugin_type (meta_module_get_plugin_type (module));
|
||||||
meta_plugin_manager_register (plugin_mgr, plugin_type);
|
|
||||||
|
|
||||||
g_type_module_unuse (G_TYPE_MODULE (module));
|
g_type_module_unuse (G_TYPE_MODULE (module));
|
||||||
g_free (path);
|
g_free (path);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
MetaPluginManager *
|
||||||
* Registers the given plugin type
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
meta_plugin_manager_register (MetaPluginManager *plugin_mgr,
|
|
||||||
GType plugin_type)
|
|
||||||
{
|
|
||||||
MetaPlugin *plugin;
|
|
||||||
|
|
||||||
plugin_types = g_slist_prepend (plugin_types, GSIZE_TO_POINTER (plugin_type));
|
|
||||||
|
|
||||||
plugin = g_object_new (plugin_type, NULL);
|
|
||||||
plugin_mgr->plugins = g_list_prepend (plugin_mgr->plugins, plugin);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
meta_plugin_manager_initialize (MetaPluginManager *plugin_mgr)
|
|
||||||
{
|
|
||||||
GList *iter;
|
|
||||||
|
|
||||||
if (!plugin_mgr->plugins)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* If no plugins are specified, load the default plugin.
|
|
||||||
*/
|
|
||||||
meta_plugin_manager_load (plugin_mgr, "default");
|
|
||||||
}
|
|
||||||
|
|
||||||
for (iter = plugin_mgr->plugins; iter; iter = iter->next)
|
|
||||||
{
|
|
||||||
MetaPlugin *plugin = (MetaPlugin*) iter->data;
|
|
||||||
MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin);
|
|
||||||
|
|
||||||
g_object_set (plugin,
|
|
||||||
"screen", plugin_mgr->screen,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
if (klass->start)
|
|
||||||
klass->start (plugin);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static MetaPluginManager *
|
|
||||||
meta_plugin_manager_new (MetaScreen *screen)
|
meta_plugin_manager_new (MetaScreen *screen)
|
||||||
{
|
{
|
||||||
MetaPluginManager *plugin_mgr;
|
MetaPluginManager *plugin_mgr;
|
||||||
|
MetaPluginClass *klass;
|
||||||
|
MetaPlugin *plugin;
|
||||||
|
|
||||||
plugin_mgr = g_new0 (MetaPluginManager, 1);
|
plugin_mgr = g_new0 (MetaPluginManager, 1);
|
||||||
plugin_mgr->screen = screen;
|
plugin_mgr->screen = screen;
|
||||||
|
plugin_mgr->plugin = plugin = g_object_new (plugin_type, "screen", screen, NULL);
|
||||||
|
|
||||||
if (screen)
|
klass = META_PLUGIN_GET_CLASS (plugin);
|
||||||
g_object_set_data (G_OBJECT (screen), "meta-plugin-manager", plugin_mgr);
|
|
||||||
|
if (klass->start)
|
||||||
|
klass->start (plugin);
|
||||||
|
|
||||||
return plugin_mgr;
|
return plugin_mgr;
|
||||||
}
|
}
|
||||||
|
|
||||||
MetaPluginManager *
|
|
||||||
meta_plugin_manager_get_default (void)
|
|
||||||
{
|
|
||||||
if (!default_plugin_manager)
|
|
||||||
{
|
|
||||||
default_plugin_manager = meta_plugin_manager_new (NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
return default_plugin_manager;
|
|
||||||
}
|
|
||||||
|
|
||||||
MetaPluginManager *
|
|
||||||
meta_plugin_manager_get (MetaScreen *screen)
|
|
||||||
{
|
|
||||||
MetaPluginManager *plugin_mgr;
|
|
||||||
|
|
||||||
plugin_mgr = g_object_get_data (G_OBJECT (screen), "meta-plugin-manager");
|
|
||||||
if (plugin_mgr)
|
|
||||||
return plugin_mgr;
|
|
||||||
|
|
||||||
if (!default_plugin_manager)
|
|
||||||
meta_plugin_manager_get_default ();
|
|
||||||
|
|
||||||
if (!default_plugin_manager->screen)
|
|
||||||
{
|
|
||||||
/* The default plugin manager is so far unused, we can recycle it */
|
|
||||||
default_plugin_manager->screen = screen;
|
|
||||||
g_object_set_data (G_OBJECT (screen), "meta-plugin-manager", default_plugin_manager);
|
|
||||||
|
|
||||||
return default_plugin_manager;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
GSList *iter;
|
|
||||||
GType plugin_type;
|
|
||||||
MetaPlugin *plugin;
|
|
||||||
|
|
||||||
plugin_mgr = meta_plugin_manager_new (screen);
|
|
||||||
|
|
||||||
for (iter = plugin_types; iter; iter = iter->next)
|
|
||||||
{
|
|
||||||
plugin_type = (GType)GPOINTER_TO_SIZE (iter->data);
|
|
||||||
plugin = g_object_new (plugin_type, "screen", screen, NULL);
|
|
||||||
plugin_mgr->plugins = g_list_prepend (plugin_mgr->plugins, plugin);
|
|
||||||
}
|
|
||||||
|
|
||||||
return plugin_mgr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
meta_plugin_manager_kill_window_effects (MetaPluginManager *plugin_mgr,
|
meta_plugin_manager_kill_window_effects (MetaPluginManager *plugin_mgr,
|
||||||
MetaWindowActor *actor)
|
MetaWindowActor *actor)
|
||||||
{
|
{
|
||||||
GList *l = plugin_mgr->plugins;
|
MetaPlugin *plugin = plugin_mgr->plugin;
|
||||||
|
|
||||||
while (l)
|
|
||||||
{
|
|
||||||
MetaPlugin *plugin = l->data;
|
|
||||||
MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin);
|
MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin);
|
||||||
|
|
||||||
if (!meta_plugin_disabled (plugin)
|
if (klass->kill_window_effects)
|
||||||
&& klass->kill_window_effects)
|
|
||||||
klass->kill_window_effects (plugin, actor);
|
klass->kill_window_effects (plugin, actor);
|
||||||
|
|
||||||
l = l->next;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
meta_plugin_manager_kill_switch_workspace (MetaPluginManager *plugin_mgr)
|
meta_plugin_manager_kill_switch_workspace (MetaPluginManager *plugin_mgr)
|
||||||
{
|
{
|
||||||
GList *l = plugin_mgr->plugins;
|
MetaPlugin *plugin = plugin_mgr->plugin;
|
||||||
|
|
||||||
while (l)
|
|
||||||
{
|
|
||||||
MetaPlugin *plugin = l->data;
|
|
||||||
MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin);
|
MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin);
|
||||||
|
|
||||||
if (!meta_plugin_disabled (plugin)
|
if (klass->kill_switch_workspace)
|
||||||
&& (meta_plugin_features (plugin) & META_PLUGIN_SWITCH_WORKSPACE)
|
|
||||||
&& klass->kill_switch_workspace)
|
|
||||||
klass->kill_switch_workspace (plugin);
|
klass->kill_switch_workspace (plugin);
|
||||||
|
|
||||||
l = l->next;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Public method that the compositor hooks into for events that require
|
* Public method that the compositor hooks into for events that require
|
||||||
* no additional parameters.
|
* no additional parameters.
|
||||||
*
|
*
|
||||||
* Returns TRUE if at least one of the plugins handled the event type (i.e.,
|
* Returns TRUE if the plugin handled the event type (i.e.,
|
||||||
* if the return value is FALSE, there will be no subsequent call to the
|
* if the return value is FALSE, there will be no subsequent call to the
|
||||||
* manager completed() callback, and the compositor must ensure that any
|
* manager completed() callback, and the compositor must ensure that any
|
||||||
* appropriate post-effect cleanup is carried out.
|
* appropriate post-effect cleanup is carried out.
|
||||||
@@ -246,30 +139,21 @@ meta_plugin_manager_event_simple (MetaPluginManager *plugin_mgr,
|
|||||||
MetaWindowActor *actor,
|
MetaWindowActor *actor,
|
||||||
unsigned long event)
|
unsigned long event)
|
||||||
{
|
{
|
||||||
GList *l = plugin_mgr->plugins;
|
MetaPlugin *plugin = plugin_mgr->plugin;
|
||||||
gboolean retval = FALSE;
|
MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin);
|
||||||
MetaDisplay *display = meta_screen_get_display (plugin_mgr->screen);
|
MetaDisplay *display = meta_screen_get_display (plugin_mgr->screen);
|
||||||
|
gboolean retval = FALSE;
|
||||||
|
|
||||||
if (display->display_opening)
|
if (display->display_opening)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
while (l)
|
|
||||||
{
|
|
||||||
MetaPlugin *plugin = l->data;
|
|
||||||
MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin);
|
|
||||||
|
|
||||||
if (!meta_plugin_disabled (plugin) &&
|
|
||||||
(meta_plugin_features (plugin) & event))
|
|
||||||
{
|
|
||||||
retval = TRUE;
|
|
||||||
|
|
||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case META_PLUGIN_MINIMIZE:
|
case META_PLUGIN_MINIMIZE:
|
||||||
if (klass->minimize)
|
if (klass->minimize)
|
||||||
{
|
{
|
||||||
meta_plugin_manager_kill_window_effects (
|
retval = TRUE;
|
||||||
plugin_mgr,
|
meta_plugin_manager_kill_window_effects (plugin_mgr,
|
||||||
actor);
|
actor);
|
||||||
|
|
||||||
_meta_plugin_effect_started (plugin);
|
_meta_plugin_effect_started (plugin);
|
||||||
@@ -279,8 +163,8 @@ meta_plugin_manager_event_simple (MetaPluginManager *plugin_mgr,
|
|||||||
case META_PLUGIN_MAP:
|
case META_PLUGIN_MAP:
|
||||||
if (klass->map)
|
if (klass->map)
|
||||||
{
|
{
|
||||||
meta_plugin_manager_kill_window_effects (
|
retval = TRUE;
|
||||||
plugin_mgr,
|
meta_plugin_manager_kill_window_effects (plugin_mgr,
|
||||||
actor);
|
actor);
|
||||||
|
|
||||||
_meta_plugin_effect_started (plugin);
|
_meta_plugin_effect_started (plugin);
|
||||||
@@ -290,6 +174,7 @@ meta_plugin_manager_event_simple (MetaPluginManager *plugin_mgr,
|
|||||||
case META_PLUGIN_DESTROY:
|
case META_PLUGIN_DESTROY:
|
||||||
if (klass->destroy)
|
if (klass->destroy)
|
||||||
{
|
{
|
||||||
|
retval = TRUE;
|
||||||
_meta_plugin_effect_started (plugin);
|
_meta_plugin_effect_started (plugin);
|
||||||
klass->destroy (plugin, actor);
|
klass->destroy (plugin, actor);
|
||||||
}
|
}
|
||||||
@@ -297,10 +182,6 @@ meta_plugin_manager_event_simple (MetaPluginManager *plugin_mgr,
|
|||||||
default:
|
default:
|
||||||
g_warning ("Incorrect handler called for event %lu", event);
|
g_warning ("Incorrect handler called for event %lu", event);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
l = l->next;
|
|
||||||
}
|
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
@@ -309,7 +190,7 @@ meta_plugin_manager_event_simple (MetaPluginManager *plugin_mgr,
|
|||||||
* The public method that the compositor hooks into for maximize and unmaximize
|
* The public method that the compositor hooks into for maximize and unmaximize
|
||||||
* events.
|
* events.
|
||||||
*
|
*
|
||||||
* Returns TRUE if at least one of the plugins handled the event type (i.e.,
|
* Returns TRUE if the plugin handled the event type (i.e.,
|
||||||
* if the return value is FALSE, there will be no subsequent call to the
|
* if the return value is FALSE, there will be no subsequent call to the
|
||||||
* manager completed() callback, and the compositor must ensure that any
|
* manager completed() callback, and the compositor must ensure that any
|
||||||
* appropriate post-effect cleanup is carried out.
|
* appropriate post-effect cleanup is carried out.
|
||||||
@@ -323,30 +204,21 @@ meta_plugin_manager_event_maximize (MetaPluginManager *plugin_mgr,
|
|||||||
gint target_width,
|
gint target_width,
|
||||||
gint target_height)
|
gint target_height)
|
||||||
{
|
{
|
||||||
GList *l = plugin_mgr->plugins;
|
MetaPlugin *plugin = plugin_mgr->plugin;
|
||||||
gboolean retval = FALSE;
|
MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin);
|
||||||
MetaDisplay *display = meta_screen_get_display (plugin_mgr->screen);
|
MetaDisplay *display = meta_screen_get_display (plugin_mgr->screen);
|
||||||
|
gboolean retval = FALSE;
|
||||||
|
|
||||||
if (display->display_opening)
|
if (display->display_opening)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
while (l)
|
|
||||||
{
|
|
||||||
MetaPlugin *plugin = l->data;
|
|
||||||
MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin);
|
|
||||||
|
|
||||||
if (!meta_plugin_disabled (plugin) &&
|
|
||||||
(meta_plugin_features (plugin) & event))
|
|
||||||
{
|
|
||||||
retval = TRUE;
|
|
||||||
|
|
||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case META_PLUGIN_MAXIMIZE:
|
case META_PLUGIN_MAXIMIZE:
|
||||||
if (klass->maximize)
|
if (klass->maximize)
|
||||||
{
|
{
|
||||||
meta_plugin_manager_kill_window_effects (
|
retval = TRUE;
|
||||||
plugin_mgr,
|
meta_plugin_manager_kill_window_effects (plugin_mgr,
|
||||||
actor);
|
actor);
|
||||||
|
|
||||||
_meta_plugin_effect_started (plugin);
|
_meta_plugin_effect_started (plugin);
|
||||||
@@ -358,8 +230,8 @@ meta_plugin_manager_event_maximize (MetaPluginManager *plugin_mgr,
|
|||||||
case META_PLUGIN_UNMAXIMIZE:
|
case META_PLUGIN_UNMAXIMIZE:
|
||||||
if (klass->unmaximize)
|
if (klass->unmaximize)
|
||||||
{
|
{
|
||||||
meta_plugin_manager_kill_window_effects (
|
retval = TRUE;
|
||||||
plugin_mgr,
|
meta_plugin_manager_kill_window_effects (plugin_mgr,
|
||||||
actor);
|
actor);
|
||||||
|
|
||||||
_meta_plugin_effect_started (plugin);
|
_meta_plugin_effect_started (plugin);
|
||||||
@@ -371,10 +243,6 @@ meta_plugin_manager_event_maximize (MetaPluginManager *plugin_mgr,
|
|||||||
default:
|
default:
|
||||||
g_warning ("Incorrect handler called for event %lu", event);
|
g_warning ("Incorrect handler called for event %lu", event);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
l = l->next;
|
|
||||||
}
|
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
@@ -382,7 +250,7 @@ meta_plugin_manager_event_maximize (MetaPluginManager *plugin_mgr,
|
|||||||
/*
|
/*
|
||||||
* The public method that the compositor hooks into for desktop switching.
|
* The public method that the compositor hooks into for desktop switching.
|
||||||
*
|
*
|
||||||
* Returns TRUE if at least one of the plugins handled the event type (i.e.,
|
* Returns TRUE if the plugin handled the event type (i.e.,
|
||||||
* if the return value is FALSE, there will be no subsequent call to the
|
* if the return value is FALSE, there will be no subsequent call to the
|
||||||
* manager completed() callback, and the compositor must ensure that any
|
* manager completed() callback, and the compositor must ensure that any
|
||||||
* appropriate post-effect cleanup is carried out.
|
* appropriate post-effect cleanup is carried out.
|
||||||
@@ -393,21 +261,14 @@ meta_plugin_manager_switch_workspace (MetaPluginManager *plugin_mgr,
|
|||||||
gint to,
|
gint to,
|
||||||
MetaMotionDirection direction)
|
MetaMotionDirection direction)
|
||||||
{
|
{
|
||||||
GList *l = plugin_mgr->plugins;
|
MetaPlugin *plugin = plugin_mgr->plugin;
|
||||||
gboolean retval = FALSE;
|
MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin);
|
||||||
MetaDisplay *display = meta_screen_get_display (plugin_mgr->screen);
|
MetaDisplay *display = meta_screen_get_display (plugin_mgr->screen);
|
||||||
|
gboolean retval = FALSE;
|
||||||
|
|
||||||
if (display->display_opening)
|
if (display->display_opening)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
while (l)
|
|
||||||
{
|
|
||||||
MetaPlugin *plugin = l->data;
|
|
||||||
MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin);
|
|
||||||
|
|
||||||
if (!meta_plugin_disabled (plugin) &&
|
|
||||||
(meta_plugin_features (plugin) & META_PLUGIN_SWITCH_WORKSPACE))
|
|
||||||
{
|
|
||||||
if (klass->switch_workspace)
|
if (klass->switch_workspace)
|
||||||
{
|
{
|
||||||
retval = TRUE;
|
retval = TRUE;
|
||||||
@@ -416,10 +277,6 @@ meta_plugin_manager_switch_workspace (MetaPluginManager *plugin_mgr,
|
|||||||
_meta_plugin_effect_started (plugin);
|
_meta_plugin_effect_started (plugin);
|
||||||
klass->switch_workspace (plugin, from, to, direction);
|
klass->switch_workspace (plugin, from, to, direction);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
l = l->next;
|
|
||||||
}
|
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
@@ -427,7 +284,7 @@ meta_plugin_manager_switch_workspace (MetaPluginManager *plugin_mgr,
|
|||||||
/*
|
/*
|
||||||
* The public method that the compositor hooks into for desktop switching.
|
* The public method that the compositor hooks into for desktop switching.
|
||||||
*
|
*
|
||||||
* Returns TRUE if at least one of the plugins handled the event type (i.e.,
|
* Returns TRUE if the plugin handled the event type (i.e.,
|
||||||
* if the return value is FALSE, there will be no subsequent call to the
|
* if the return value is FALSE, there will be no subsequent call to the
|
||||||
* manager completed() callback, and the compositor must ensure that any
|
* manager completed() callback, and the compositor must ensure that any
|
||||||
* appropriate post-effect cleanup is carried out.
|
* appropriate post-effect cleanup is carried out.
|
||||||
@@ -436,49 +293,20 @@ gboolean
|
|||||||
meta_plugin_manager_xevent_filter (MetaPluginManager *plugin_mgr,
|
meta_plugin_manager_xevent_filter (MetaPluginManager *plugin_mgr,
|
||||||
XEvent *xev)
|
XEvent *xev)
|
||||||
{
|
{
|
||||||
GList *l;
|
MetaPlugin *plugin = plugin_mgr->plugin;
|
||||||
gboolean have_plugin_xevent_func;
|
MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin);
|
||||||
|
|
||||||
if (!plugin_mgr)
|
if (!plugin_mgr)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
l = plugin_mgr->plugins;
|
|
||||||
|
|
||||||
/* We need to make sure that clutter gets certain events, like
|
/* We need to make sure that clutter gets certain events, like
|
||||||
* ConfigureNotify on the stage window. If there is a plugin that
|
* ConfigureNotify on the stage window. If there is a plugin that
|
||||||
* provides an xevent_filter function, then it's the responsibility
|
* provides an xevent_filter function, then it's the responsibility
|
||||||
* of that plugin to pass events to Clutter. Otherwise, we send the
|
* of that plugin to pass events to Clutter. Otherwise, we send the
|
||||||
* event directly to Clutter ourselves.
|
* event directly to Clutter ourselves.
|
||||||
*
|
|
||||||
* What happens if there are two plugins with xevent_filter functions
|
|
||||||
* is undefined; in general, multiple competing plugins are something
|
|
||||||
* we don't support well or care much about.
|
|
||||||
*
|
|
||||||
* FIXME: Really, we should just always handle sending the event to
|
|
||||||
* clutter if a plugin doesn't report the event as handled by
|
|
||||||
* returning TRUE, but it doesn't seem worth breaking compatibility
|
|
||||||
* of the plugin interface right now to achieve this; the way it is
|
|
||||||
* now works fine in practice.
|
|
||||||
*/
|
*/
|
||||||
have_plugin_xevent_func = FALSE;
|
if (klass->xevent_filter && klass->xevent_filter (plugin, xev))
|
||||||
|
|
||||||
while (l)
|
|
||||||
{
|
|
||||||
MetaPlugin *plugin = l->data;
|
|
||||||
MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin);
|
|
||||||
|
|
||||||
if (klass->xevent_filter)
|
|
||||||
{
|
|
||||||
have_plugin_xevent_func = TRUE;
|
|
||||||
if (klass->xevent_filter (plugin, xev) == TRUE)
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
else
|
||||||
|
|
||||||
l = l->next;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!have_plugin_xevent_func)
|
|
||||||
return clutter_x11_handle_event (xev) != CLUTTER_X11_FILTER_CONTINUE;
|
return clutter_x11_handle_event (xev) != CLUTTER_X11_FILTER_CONTINUE;
|
||||||
|
|
||||||
return FALSE;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,14 +46,9 @@
|
|||||||
*/
|
*/
|
||||||
typedef struct MetaPluginManager MetaPluginManager;
|
typedef struct MetaPluginManager MetaPluginManager;
|
||||||
|
|
||||||
MetaPluginManager * meta_plugin_manager_get (MetaScreen *screen);
|
MetaPluginManager * meta_plugin_manager_new (MetaScreen *screen);
|
||||||
MetaPluginManager * meta_plugin_manager_get_default (void);
|
|
||||||
|
|
||||||
void meta_plugin_manager_load (MetaPluginManager *mgr,
|
void meta_plugin_manager_load (const gchar *plugin_name);
|
||||||
const gchar *plugin_name);
|
|
||||||
void meta_plugin_manager_register (MetaPluginManager *mgr,
|
|
||||||
GType plugin_type);
|
|
||||||
void meta_plugin_manager_initialize (MetaPluginManager *mgr);
|
|
||||||
|
|
||||||
gboolean meta_plugin_manager_event_simple (MetaPluginManager *mgr,
|
gboolean meta_plugin_manager_event_simple (MetaPluginManager *mgr,
|
||||||
MetaWindowActor *actor,
|
MetaWindowActor *actor,
|
||||||
@@ -66,10 +61,6 @@ gboolean meta_plugin_manager_event_maximize (MetaPluginManager *mgr,
|
|||||||
gint target_y,
|
gint target_y,
|
||||||
gint target_width,
|
gint target_width,
|
||||||
gint target_height);
|
gint target_height);
|
||||||
void meta_plugin_manager_update_workspaces (MetaPluginManager *mgr);
|
|
||||||
|
|
||||||
void meta_plugin_manager_update_workspace (MetaPluginManager *mgr,
|
|
||||||
MetaWorkspace *w);
|
|
||||||
|
|
||||||
gboolean meta_plugin_manager_switch_workspace (MetaPluginManager *mgr,
|
gboolean meta_plugin_manager_switch_workspace (MetaPluginManager *mgr,
|
||||||
gint from,
|
gint from,
|
||||||
|
|||||||
@@ -44,74 +44,17 @@ enum
|
|||||||
{
|
{
|
||||||
PROP_0,
|
PROP_0,
|
||||||
PROP_SCREEN,
|
PROP_SCREEN,
|
||||||
PROP_FEATURES,
|
|
||||||
PROP_DISABLED,
|
|
||||||
PROP_DEBUG_MODE,
|
PROP_DEBUG_MODE,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _MetaPluginPrivate
|
struct _MetaPluginPrivate
|
||||||
{
|
{
|
||||||
MetaScreen *screen;
|
MetaScreen *screen;
|
||||||
gulong features;
|
|
||||||
|
|
||||||
gint running;
|
gint running;
|
||||||
|
|
||||||
gboolean disabled : 1;
|
|
||||||
gboolean debug : 1;
|
gboolean debug : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
|
||||||
meta_plugin_set_features (MetaPlugin *plugin)
|
|
||||||
{
|
|
||||||
MetaPluginPrivate *priv = plugin->priv;
|
|
||||||
MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin);
|
|
||||||
|
|
||||||
priv->features = 0;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Feature flags: identify events that the plugin can handle; a plugin can
|
|
||||||
* handle one or more events.
|
|
||||||
*/
|
|
||||||
if (klass->minimize)
|
|
||||||
priv->features |= META_PLUGIN_MINIMIZE;
|
|
||||||
|
|
||||||
if (klass->maximize)
|
|
||||||
priv->features |= META_PLUGIN_MAXIMIZE;
|
|
||||||
|
|
||||||
if (klass->unmaximize)
|
|
||||||
priv->features |= META_PLUGIN_UNMAXIMIZE;
|
|
||||||
|
|
||||||
if (klass->map)
|
|
||||||
priv->features |= META_PLUGIN_MAP;
|
|
||||||
|
|
||||||
if (klass->destroy)
|
|
||||||
priv->features |= META_PLUGIN_DESTROY;
|
|
||||||
|
|
||||||
if (klass->switch_workspace)
|
|
||||||
priv->features |= META_PLUGIN_SWITCH_WORKSPACE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
meta_plugin_constructed (GObject *object)
|
|
||||||
{
|
|
||||||
meta_plugin_set_features (META_PLUGIN (object));
|
|
||||||
|
|
||||||
if (G_OBJECT_CLASS (meta_plugin_parent_class)->constructed)
|
|
||||||
G_OBJECT_CLASS (meta_plugin_parent_class)->constructed (object);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
meta_plugin_dispose (GObject *object)
|
|
||||||
{
|
|
||||||
G_OBJECT_CLASS (meta_plugin_parent_class)->dispose (object);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
meta_plugin_finalize (GObject *object)
|
|
||||||
{
|
|
||||||
G_OBJECT_CLASS (meta_plugin_parent_class)->finalize (object);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
meta_plugin_set_property (GObject *object,
|
meta_plugin_set_property (GObject *object,
|
||||||
guint prop_id,
|
guint prop_id,
|
||||||
@@ -125,9 +68,6 @@ meta_plugin_set_property (GObject *object,
|
|||||||
case PROP_SCREEN:
|
case PROP_SCREEN:
|
||||||
priv->screen = g_value_get_object (value);
|
priv->screen = g_value_get_object (value);
|
||||||
break;
|
break;
|
||||||
case PROP_DISABLED:
|
|
||||||
priv->disabled = g_value_get_boolean (value);
|
|
||||||
break;
|
|
||||||
case PROP_DEBUG_MODE:
|
case PROP_DEBUG_MODE:
|
||||||
priv->debug = g_value_get_boolean (value);
|
priv->debug = g_value_get_boolean (value);
|
||||||
break;
|
break;
|
||||||
@@ -150,15 +90,9 @@ meta_plugin_get_property (GObject *object,
|
|||||||
case PROP_SCREEN:
|
case PROP_SCREEN:
|
||||||
g_value_set_object (value, priv->screen);
|
g_value_set_object (value, priv->screen);
|
||||||
break;
|
break;
|
||||||
case PROP_DISABLED:
|
|
||||||
g_value_set_boolean (value, priv->disabled);
|
|
||||||
break;
|
|
||||||
case PROP_DEBUG_MODE:
|
case PROP_DEBUG_MODE:
|
||||||
g_value_set_boolean (value, priv->debug);
|
g_value_set_boolean (value, priv->debug);
|
||||||
break;
|
break;
|
||||||
case PROP_FEATURES:
|
|
||||||
g_value_set_ulong (value, priv->features);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
break;
|
break;
|
||||||
@@ -171,9 +105,6 @@ meta_plugin_class_init (MetaPluginClass *klass)
|
|||||||
{
|
{
|
||||||
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
|
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
|
||||||
|
|
||||||
gobject_class->constructed = meta_plugin_constructed;
|
|
||||||
gobject_class->finalize = meta_plugin_finalize;
|
|
||||||
gobject_class->dispose = meta_plugin_dispose;
|
|
||||||
gobject_class->set_property = meta_plugin_set_property;
|
gobject_class->set_property = meta_plugin_set_property;
|
||||||
gobject_class->get_property = meta_plugin_get_property;
|
gobject_class->get_property = meta_plugin_get_property;
|
||||||
|
|
||||||
@@ -185,22 +116,6 @@ meta_plugin_class_init (MetaPluginClass *klass)
|
|||||||
META_TYPE_SCREEN,
|
META_TYPE_SCREEN,
|
||||||
G_PARAM_READWRITE));
|
G_PARAM_READWRITE));
|
||||||
|
|
||||||
g_object_class_install_property (gobject_class,
|
|
||||||
PROP_FEATURES,
|
|
||||||
g_param_spec_ulong ("features",
|
|
||||||
"Features",
|
|
||||||
"Plugin Features",
|
|
||||||
0 , G_MAXULONG, 0,
|
|
||||||
G_PARAM_READABLE));
|
|
||||||
|
|
||||||
g_object_class_install_property (gobject_class,
|
|
||||||
PROP_DISABLED,
|
|
||||||
g_param_spec_boolean ("disabled",
|
|
||||||
"Plugin disabled",
|
|
||||||
"Plugin disabled",
|
|
||||||
FALSE,
|
|
||||||
G_PARAM_READWRITE));
|
|
||||||
|
|
||||||
g_object_class_install_property (gobject_class,
|
g_object_class_install_property (gobject_class,
|
||||||
PROP_DEBUG_MODE,
|
PROP_DEBUG_MODE,
|
||||||
g_param_spec_boolean ("debug-mode",
|
g_param_spec_boolean ("debug-mode",
|
||||||
@@ -220,22 +135,6 @@ meta_plugin_init (MetaPlugin *self)
|
|||||||
self->priv = priv = META_PLUGIN_GET_PRIVATE (self);
|
self->priv = priv = META_PLUGIN_GET_PRIVATE (self);
|
||||||
}
|
}
|
||||||
|
|
||||||
gulong
|
|
||||||
meta_plugin_features (MetaPlugin *plugin)
|
|
||||||
{
|
|
||||||
MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv;
|
|
||||||
|
|
||||||
return priv->features;
|
|
||||||
}
|
|
||||||
|
|
||||||
gboolean
|
|
||||||
meta_plugin_disabled (MetaPlugin *plugin)
|
|
||||||
{
|
|
||||||
MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv;
|
|
||||||
|
|
||||||
return priv->disabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
meta_plugin_running (MetaPlugin *plugin)
|
meta_plugin_running (MetaPlugin *plugin)
|
||||||
{
|
{
|
||||||
@@ -263,38 +162,6 @@ meta_plugin_get_info (MetaPlugin *plugin)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
ClutterActor *
|
|
||||||
meta_plugin_get_overlay_group (MetaPlugin *plugin)
|
|
||||||
{
|
|
||||||
MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv;
|
|
||||||
|
|
||||||
return meta_get_overlay_group_for_screen (priv->screen);
|
|
||||||
}
|
|
||||||
|
|
||||||
ClutterActor *
|
|
||||||
meta_plugin_get_stage (MetaPlugin *plugin)
|
|
||||||
{
|
|
||||||
MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv;
|
|
||||||
|
|
||||||
return meta_get_stage_for_screen (priv->screen);
|
|
||||||
}
|
|
||||||
|
|
||||||
ClutterActor *
|
|
||||||
meta_plugin_get_window_group (MetaPlugin *plugin)
|
|
||||||
{
|
|
||||||
MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv;
|
|
||||||
|
|
||||||
return meta_get_window_group_for_screen (priv->screen);
|
|
||||||
}
|
|
||||||
|
|
||||||
ClutterActor *
|
|
||||||
meta_plugin_get_background_actor (MetaPlugin *plugin)
|
|
||||||
{
|
|
||||||
MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv;
|
|
||||||
|
|
||||||
return meta_get_background_actor_for_screen (priv->screen);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* _meta_plugin_effect_started:
|
* _meta_plugin_effect_started:
|
||||||
* @plugin: the plugin
|
* @plugin: the plugin
|
||||||
@@ -315,7 +182,7 @@ meta_plugin_switch_workspace_completed (MetaPlugin *plugin)
|
|||||||
{
|
{
|
||||||
MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv;
|
MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv;
|
||||||
|
|
||||||
MetaScreen *screen = meta_plugin_get_screen (plugin);
|
MetaScreen *screen = priv->screen;
|
||||||
|
|
||||||
if (priv->running-- < 0)
|
if (priv->running-- < 0)
|
||||||
{
|
{
|
||||||
@@ -389,80 +256,6 @@ meta_plugin_destroy_completed (MetaPlugin *plugin,
|
|||||||
meta_plugin_window_effect_completed (plugin, actor, META_PLUGIN_DESTROY);
|
meta_plugin_window_effect_completed (plugin, actor, META_PLUGIN_DESTROY);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
meta_plugin_query_screen_size (MetaPlugin *plugin,
|
|
||||||
int *width,
|
|
||||||
int *height)
|
|
||||||
{
|
|
||||||
MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv;
|
|
||||||
|
|
||||||
meta_screen_get_size (priv->screen, width, height);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
meta_plugin_set_stage_reactive (MetaPlugin *plugin,
|
|
||||||
gboolean reactive)
|
|
||||||
{
|
|
||||||
MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv;
|
|
||||||
MetaScreen *screen = priv->screen;
|
|
||||||
|
|
||||||
if (reactive)
|
|
||||||
meta_set_stage_input_region (screen, None);
|
|
||||||
else
|
|
||||||
meta_empty_stage_input_region (screen);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
meta_plugin_set_stage_input_area (MetaPlugin *plugin,
|
|
||||||
gint x, gint y, gint width, gint height)
|
|
||||||
{
|
|
||||||
MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv;
|
|
||||||
MetaScreen *screen = priv->screen;
|
|
||||||
MetaDisplay *display = meta_screen_get_display (screen);
|
|
||||||
Display *xdpy = meta_display_get_xdisplay (display);
|
|
||||||
XRectangle rect;
|
|
||||||
XserverRegion region;
|
|
||||||
|
|
||||||
rect.x = x;
|
|
||||||
rect.y = y;
|
|
||||||
rect.width = width;
|
|
||||||
rect.height = height;
|
|
||||||
|
|
||||||
region = XFixesCreateRegion (xdpy, &rect, 1);
|
|
||||||
meta_set_stage_input_region (screen, region);
|
|
||||||
XFixesDestroyRegion (xdpy, region);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
meta_plugin_set_stage_input_region (MetaPlugin *plugin,
|
|
||||||
XserverRegion region)
|
|
||||||
{
|
|
||||||
MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv;
|
|
||||||
MetaScreen *screen = priv->screen;
|
|
||||||
|
|
||||||
meta_set_stage_input_region (screen, region);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* meta_plugin_get_window_actors:
|
|
||||||
* @plugin: A #MetaPlugin
|
|
||||||
*
|
|
||||||
* This function returns all of the #MetaWindowActor objects referenced by Mutter, including
|
|
||||||
* override-redirect windows. The returned list is a snapshot of Mutter's current
|
|
||||||
* stacking order, with the topmost window last.
|
|
||||||
*
|
|
||||||
* The 'restacked' signal of #MetaScreen signals when this value has changed.
|
|
||||||
*
|
|
||||||
* Returns: (transfer none) (element-type MetaWindowActor): Windows in stacking order, topmost last
|
|
||||||
*/
|
|
||||||
GList *
|
|
||||||
meta_plugin_get_window_actors (MetaPlugin *plugin)
|
|
||||||
{
|
|
||||||
MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv;
|
|
||||||
|
|
||||||
return meta_get_window_actors (priv->screen);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* meta_plugin_begin_modal:
|
* meta_plugin_begin_modal:
|
||||||
* @plugin: a #MetaPlugin
|
* @plugin: a #MetaPlugin
|
||||||
@@ -502,7 +295,7 @@ meta_plugin_begin_modal (MetaPlugin *plugin,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* meta_plugin_end_modal
|
* meta_plugin_end_modal:
|
||||||
* @plugin: a #MetaPlugin
|
* @plugin: a #MetaPlugin
|
||||||
* @timestamp: the time used for releasing grabs
|
* @timestamp: the time used for releasing grabs
|
||||||
*
|
*
|
||||||
@@ -521,16 +314,6 @@ meta_plugin_end_modal (MetaPlugin *plugin,
|
|||||||
meta_end_modal_for_plugin (priv->screen, plugin, timestamp);
|
meta_end_modal_for_plugin (priv->screen, plugin, timestamp);
|
||||||
}
|
}
|
||||||
|
|
||||||
Display *
|
|
||||||
meta_plugin_get_xdisplay (MetaPlugin *plugin)
|
|
||||||
{
|
|
||||||
MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv;
|
|
||||||
MetaDisplay *display = meta_screen_get_display (priv->screen);
|
|
||||||
Display *xdpy = meta_display_get_xdisplay (display);
|
|
||||||
|
|
||||||
return xdpy;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* meta_plugin_get_screen:
|
* meta_plugin_get_screen:
|
||||||
* @plugin: a #MetaPlugin
|
* @plugin: a #MetaPlugin
|
||||||
@@ -548,19 +331,3 @@ meta_plugin_get_screen (MetaPlugin *plugin)
|
|||||||
|
|
||||||
return priv->screen;
|
return priv->screen;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* meta_plugin_type_register:
|
|
||||||
* @plugin_type: a #MetaPlugin type
|
|
||||||
*
|
|
||||||
* Register @plugin_type as a compositor plugin type to be used.
|
|
||||||
* You must call this before calling meta_init().
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
meta_plugin_type_register (GType plugin_type)
|
|
||||||
{
|
|
||||||
MetaPluginManager *plugin_manager;
|
|
||||||
|
|
||||||
plugin_manager = meta_plugin_manager_get_default ();
|
|
||||||
meta_plugin_manager_register (plugin_manager, plugin_type);
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ MetaShadowClassInfo default_shadow_classes[] = {
|
|||||||
{ "popup-menu", { 1, -1, 0, 1, 128 }, { 1, -1, 0, 1, 128 } },
|
{ "popup-menu", { 1, -1, 0, 1, 128 }, { 1, -1, 0, 1, 128 } },
|
||||||
|
|
||||||
{ "dropdown-menu", { 1, 10, 0, 1, 128 }, { 1, 10, 0, 1, 128 } },
|
{ "dropdown-menu", { 1, 10, 0, 1, 128 }, { 1, 10, 0, 1, 128 } },
|
||||||
{ "attached", { 2, 50, 0, 1, 255 }, { 1, 50, 0, 1, 128 } }
|
{ "attached", { 2, -1, 0, 1, 255 }, { 1, -1, 0, 1, 128 } }
|
||||||
};
|
};
|
||||||
|
|
||||||
G_DEFINE_TYPE (MetaShadowFactory, meta_shadow_factory, G_TYPE_OBJECT);
|
G_DEFINE_TYPE (MetaShadowFactory, meta_shadow_factory, G_TYPE_OBJECT);
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
/*
|
/*
|
||||||
* shaped texture
|
* shaped texture
|
||||||
*
|
*
|
||||||
* An actor to draw a texture clipped to a list of rectangles
|
* An actor to draw a masked texture.
|
||||||
*
|
*
|
||||||
* Authored By Neil Roberts <neil@linux.intel.com>
|
* Authored By Neil Roberts <neil@linux.intel.com>
|
||||||
|
* and Jasper St. Pierre <jstpierre@mecheye.net>
|
||||||
*
|
*
|
||||||
* Copyright (C) 2008 Intel Corporation
|
* Copyright (C) 2008 Intel Corporation
|
||||||
|
* Copyright (C) 2012 Red Hat, Inc.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License as
|
* modify it under the terms of the GNU General Public License as
|
||||||
@@ -25,16 +27,16 @@
|
|||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
|
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
||||||
|
#define COGL_ENABLE_EXPERIMENTAL_API
|
||||||
|
|
||||||
#include <meta/meta-shaped-texture.h>
|
#include <meta/meta-shaped-texture.h>
|
||||||
#include "meta-texture-tower.h"
|
#include "meta-texture-tower.h"
|
||||||
#include "meta-texture-rectangle.h"
|
|
||||||
|
|
||||||
#include <clutter/clutter.h>
|
#include <clutter/clutter.h>
|
||||||
#include <cogl/cogl.h>
|
#include <cogl/cogl.h>
|
||||||
#define COGL_ENABLE_EXPERIMENTAL_API
|
|
||||||
#include <cogl/cogl-texture-pixmap-x11.h>
|
#include <cogl/cogl-texture-pixmap-x11.h>
|
||||||
#include <gdk/gdk.h> /* for gdk_rectangle_intersect() */
|
#include <gdk/gdk.h> /* for gdk_rectangle_intersect() */
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
static void meta_shaped_texture_dispose (GObject *object);
|
static void meta_shaped_texture_dispose (GObject *object);
|
||||||
|
|
||||||
@@ -52,7 +54,7 @@ static void meta_shaped_texture_get_preferred_height (ClutterActor *self,
|
|||||||
gfloat *min_height_p,
|
gfloat *min_height_p,
|
||||||
gfloat *natural_height_p);
|
gfloat *natural_height_p);
|
||||||
|
|
||||||
static void meta_shaped_texture_dirty_mask (MetaShapedTexture *stex);
|
static gboolean meta_shaped_texture_get_paint_volume (ClutterActor *self, ClutterPaintVolume *volume);
|
||||||
|
|
||||||
G_DEFINE_TYPE (MetaShapedTexture, meta_shaped_texture,
|
G_DEFINE_TYPE (MetaShapedTexture, meta_shaped_texture,
|
||||||
CLUTTER_TYPE_ACTOR);
|
CLUTTER_TYPE_ACTOR);
|
||||||
@@ -71,13 +73,8 @@ struct _MetaShapedTexturePrivate
|
|||||||
CoglHandle material_unshaped;
|
CoglHandle material_unshaped;
|
||||||
|
|
||||||
cairo_region_t *clip_region;
|
cairo_region_t *clip_region;
|
||||||
cairo_region_t *shape_region;
|
|
||||||
|
|
||||||
cairo_region_t *overlay_region;
|
|
||||||
cairo_path_t *overlay_path;
|
|
||||||
|
|
||||||
guint tex_width, tex_height;
|
guint tex_width, tex_height;
|
||||||
guint mask_width, mask_height;
|
|
||||||
|
|
||||||
guint create_mipmaps : 1;
|
guint create_mipmaps : 1;
|
||||||
};
|
};
|
||||||
@@ -94,6 +91,7 @@ meta_shaped_texture_class_init (MetaShapedTextureClass *klass)
|
|||||||
actor_class->get_preferred_height = meta_shaped_texture_get_preferred_height;
|
actor_class->get_preferred_height = meta_shaped_texture_get_preferred_height;
|
||||||
actor_class->paint = meta_shaped_texture_paint;
|
actor_class->paint = meta_shaped_texture_paint;
|
||||||
actor_class->pick = meta_shaped_texture_pick;
|
actor_class->pick = meta_shaped_texture_pick;
|
||||||
|
actor_class->get_paint_volume = meta_shaped_texture_get_paint_volume;
|
||||||
|
|
||||||
g_type_class_add_private (klass, sizeof (MetaShapedTexturePrivate));
|
g_type_class_add_private (klass, sizeof (MetaShapedTexturePrivate));
|
||||||
}
|
}
|
||||||
@@ -105,9 +103,6 @@ meta_shaped_texture_init (MetaShapedTexture *self)
|
|||||||
|
|
||||||
priv = self->priv = META_SHAPED_TEXTURE_GET_PRIVATE (self);
|
priv = self->priv = META_SHAPED_TEXTURE_GET_PRIVATE (self);
|
||||||
|
|
||||||
priv->shape_region = NULL;
|
|
||||||
priv->overlay_path = NULL;
|
|
||||||
priv->overlay_region = NULL;
|
|
||||||
priv->paint_tower = meta_texture_tower_new ();
|
priv->paint_tower = meta_texture_tower_new ();
|
||||||
priv->texture = COGL_INVALID_HANDLE;
|
priv->texture = COGL_INVALID_HANDLE;
|
||||||
priv->mask_texture = COGL_INVALID_HANDLE;
|
priv->mask_texture = COGL_INVALID_HANDLE;
|
||||||
@@ -124,8 +119,6 @@ meta_shaped_texture_dispose (GObject *object)
|
|||||||
meta_texture_tower_free (priv->paint_tower);
|
meta_texture_tower_free (priv->paint_tower);
|
||||||
priv->paint_tower = NULL;
|
priv->paint_tower = NULL;
|
||||||
|
|
||||||
meta_shaped_texture_dirty_mask (self);
|
|
||||||
|
|
||||||
if (priv->material != COGL_INVALID_HANDLE)
|
if (priv->material != COGL_INVALID_HANDLE)
|
||||||
{
|
{
|
||||||
cogl_handle_unref (priv->material);
|
cogl_handle_unref (priv->material);
|
||||||
@@ -142,186 +135,12 @@ meta_shaped_texture_dispose (GObject *object)
|
|||||||
priv->texture = COGL_INVALID_HANDLE;
|
priv->texture = COGL_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
meta_shaped_texture_set_shape_region (self, NULL);
|
meta_shaped_texture_set_mask_texture (self, COGL_INVALID_HANDLE);
|
||||||
meta_shaped_texture_set_clip_region (self, NULL);
|
meta_shaped_texture_set_clip_region (self, NULL);
|
||||||
meta_shaped_texture_set_overlay_path (self, NULL, NULL);
|
|
||||||
|
|
||||||
G_OBJECT_CLASS (meta_shaped_texture_parent_class)->dispose (object);
|
G_OBJECT_CLASS (meta_shaped_texture_parent_class)->dispose (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
meta_shaped_texture_dirty_mask (MetaShapedTexture *stex)
|
|
||||||
{
|
|
||||||
MetaShapedTexturePrivate *priv = stex->priv;
|
|
||||||
|
|
||||||
if (priv->mask_texture != COGL_INVALID_HANDLE)
|
|
||||||
{
|
|
||||||
cogl_handle_unref (priv->mask_texture);
|
|
||||||
priv->mask_texture = COGL_INVALID_HANDLE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (priv->material != COGL_INVALID_HANDLE)
|
|
||||||
cogl_material_set_layer (priv->material, 1, COGL_INVALID_HANDLE);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
install_overlay_path (MetaShapedTexture *stex,
|
|
||||||
guchar *mask_data,
|
|
||||||
int tex_width,
|
|
||||||
int tex_height,
|
|
||||||
int stride)
|
|
||||||
{
|
|
||||||
MetaShapedTexturePrivate *priv = stex->priv;
|
|
||||||
int i, n_rects;
|
|
||||||
cairo_t *cr;
|
|
||||||
cairo_rectangle_int_t rect;
|
|
||||||
cairo_surface_t *surface;
|
|
||||||
|
|
||||||
if (priv->overlay_region == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
surface = cairo_image_surface_create_for_data (mask_data,
|
|
||||||
CAIRO_FORMAT_A8,
|
|
||||||
tex_width,
|
|
||||||
tex_height,
|
|
||||||
stride);
|
|
||||||
|
|
||||||
cr = cairo_create (surface);
|
|
||||||
cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
|
|
||||||
|
|
||||||
n_rects = cairo_region_num_rectangles (priv->overlay_region);
|
|
||||||
for (i = 0; i < n_rects; i++)
|
|
||||||
{
|
|
||||||
cairo_region_get_rectangle (priv->overlay_region, i, &rect);
|
|
||||||
cairo_rectangle (cr, rect.x, rect.y, rect.width, rect.height);
|
|
||||||
}
|
|
||||||
|
|
||||||
cairo_fill_preserve (cr);
|
|
||||||
if (priv->overlay_path == NULL)
|
|
||||||
{
|
|
||||||
/* If we have an overlay region but not an overlay path, then we
|
|
||||||
* just need to clear the rectangles in the overlay region. */
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
cairo_clip (cr);
|
|
||||||
|
|
||||||
cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
|
|
||||||
cairo_set_source_rgba (cr, 1, 1, 1, 1);
|
|
||||||
|
|
||||||
cairo_append_path (cr, priv->overlay_path);
|
|
||||||
cairo_fill (cr);
|
|
||||||
|
|
||||||
out:
|
|
||||||
cairo_destroy (cr);
|
|
||||||
cairo_surface_destroy (surface);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
meta_shaped_texture_ensure_mask (MetaShapedTexture *stex)
|
|
||||||
{
|
|
||||||
MetaShapedTexturePrivate *priv = stex->priv;
|
|
||||||
CoglHandle paint_tex;
|
|
||||||
guint tex_width, tex_height;
|
|
||||||
|
|
||||||
paint_tex = priv->texture;
|
|
||||||
|
|
||||||
if (paint_tex == COGL_INVALID_HANDLE)
|
|
||||||
return;
|
|
||||||
|
|
||||||
tex_width = cogl_texture_get_width (paint_tex);
|
|
||||||
tex_height = cogl_texture_get_height (paint_tex);
|
|
||||||
|
|
||||||
/* If the mask texture we have was created for a different size then
|
|
||||||
recreate it */
|
|
||||||
if (priv->mask_texture != COGL_INVALID_HANDLE
|
|
||||||
&& (priv->mask_width != tex_width || priv->mask_height != tex_height))
|
|
||||||
meta_shaped_texture_dirty_mask (stex);
|
|
||||||
|
|
||||||
/* If we don't have a mask texture yet then create one */
|
|
||||||
if (priv->mask_texture == COGL_INVALID_HANDLE)
|
|
||||||
{
|
|
||||||
guchar *mask_data;
|
|
||||||
int i;
|
|
||||||
int n_rects;
|
|
||||||
int stride;
|
|
||||||
GLenum paint_gl_target;
|
|
||||||
|
|
||||||
/* If we have no shape region and no (or an empty) overlay region, we
|
|
||||||
* don't need to create a full mask texture, so quit early. */
|
|
||||||
if (priv->shape_region == NULL &&
|
|
||||||
(priv->overlay_region == NULL ||
|
|
||||||
cairo_region_num_rectangles (priv->overlay_region) == 0))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
stride = cairo_format_stride_for_width (CAIRO_FORMAT_A8, tex_width);
|
|
||||||
|
|
||||||
/* Create data for an empty image */
|
|
||||||
mask_data = g_malloc0 (stride * tex_height);
|
|
||||||
|
|
||||||
n_rects = cairo_region_num_rectangles (priv->shape_region);
|
|
||||||
|
|
||||||
/* Fill in each rectangle. */
|
|
||||||
for (i = 0; i < n_rects; i ++)
|
|
||||||
{
|
|
||||||
cairo_rectangle_int_t rect;
|
|
||||||
cairo_region_get_rectangle (priv->shape_region, i, &rect);
|
|
||||||
|
|
||||||
gint x1 = rect.x, x2 = x1 + rect.width;
|
|
||||||
gint y1 = rect.y, y2 = y1 + rect.height;
|
|
||||||
guchar *p;
|
|
||||||
|
|
||||||
/* Clip the rectangle to the size of the texture */
|
|
||||||
x1 = CLAMP (x1, 0, (gint) tex_width - 1);
|
|
||||||
x2 = CLAMP (x2, x1, (gint) tex_width);
|
|
||||||
y1 = CLAMP (y1, 0, (gint) tex_height - 1);
|
|
||||||
y2 = CLAMP (y2, y1, (gint) tex_height);
|
|
||||||
|
|
||||||
/* Fill the rectangle */
|
|
||||||
for (p = mask_data + y1 * stride + x1;
|
|
||||||
y1 < y2;
|
|
||||||
y1++, p += stride)
|
|
||||||
memset (p, 255, x2 - x1);
|
|
||||||
}
|
|
||||||
|
|
||||||
install_overlay_path (stex, mask_data, tex_width, tex_height, stride);
|
|
||||||
|
|
||||||
cogl_texture_get_gl_texture (paint_tex, NULL, &paint_gl_target);
|
|
||||||
|
|
||||||
#ifdef GL_TEXTURE_RECTANGLE_ARB
|
|
||||||
if (paint_gl_target == GL_TEXTURE_RECTANGLE_ARB)
|
|
||||||
{
|
|
||||||
priv->mask_texture
|
|
||||||
= meta_texture_rectangle_new (tex_width, tex_height,
|
|
||||||
0, /* flags */
|
|
||||||
/* data format */
|
|
||||||
COGL_PIXEL_FORMAT_A_8,
|
|
||||||
/* internal GL format */
|
|
||||||
GL_ALPHA,
|
|
||||||
/* internal cogl format */
|
|
||||||
COGL_PIXEL_FORMAT_A_8,
|
|
||||||
/* rowstride */
|
|
||||||
stride,
|
|
||||||
mask_data);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
#endif /* GL_TEXTURE_RECTANGLE_ARB */
|
|
||||||
priv->mask_texture = cogl_texture_new_from_data (tex_width, tex_height,
|
|
||||||
COGL_TEXTURE_NONE,
|
|
||||||
COGL_PIXEL_FORMAT_A_8,
|
|
||||||
COGL_PIXEL_FORMAT_ANY,
|
|
||||||
stride,
|
|
||||||
mask_data);
|
|
||||||
|
|
||||||
g_free (mask_data);
|
|
||||||
|
|
||||||
priv->mask_width = tex_width;
|
|
||||||
priv->mask_height = tex_height;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
meta_shaped_texture_paint (ClutterActor *actor)
|
meta_shaped_texture_paint (ClutterActor *actor)
|
||||||
{
|
{
|
||||||
@@ -371,9 +190,9 @@ meta_shaped_texture_paint (ClutterActor *actor)
|
|||||||
if (tex_width == 0 || tex_height == 0) /* no contents yet */
|
if (tex_width == 0 || tex_height == 0) /* no contents yet */
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (priv->shape_region == NULL)
|
if (priv->mask_texture == COGL_INVALID_HANDLE)
|
||||||
{
|
{
|
||||||
/* No region means an unclipped shape. Use a single-layer texture. */
|
/* Use a single-layer texture if we don't have a mask. */
|
||||||
|
|
||||||
if (priv->material_unshaped == COGL_INVALID_HANDLE)
|
if (priv->material_unshaped == COGL_INVALID_HANDLE)
|
||||||
{
|
{
|
||||||
@@ -386,8 +205,6 @@ meta_shaped_texture_paint (ClutterActor *actor)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
meta_shaped_texture_ensure_mask (stex);
|
|
||||||
|
|
||||||
if (priv->material == COGL_INVALID_HANDLE)
|
if (priv->material == COGL_INVALID_HANDLE)
|
||||||
{
|
{
|
||||||
if (G_UNLIKELY (material_template == COGL_INVALID_HANDLE))
|
if (G_UNLIKELY (material_template == COGL_INVALID_HANDLE))
|
||||||
@@ -478,7 +295,7 @@ meta_shaped_texture_pick (ClutterActor *actor,
|
|||||||
MetaShapedTexturePrivate *priv = stex->priv;
|
MetaShapedTexturePrivate *priv = stex->priv;
|
||||||
|
|
||||||
/* If there is no region then use the regular pick */
|
/* If there is no region then use the regular pick */
|
||||||
if (priv->shape_region == NULL)
|
if (priv->mask_texture == COGL_INVALID_HANDLE)
|
||||||
CLUTTER_ACTOR_CLASS (meta_shaped_texture_parent_class)
|
CLUTTER_ACTOR_CLASS (meta_shaped_texture_parent_class)
|
||||||
->pick (actor, color);
|
->pick (actor, color);
|
||||||
else if (clutter_actor_should_pick_paint (actor))
|
else if (clutter_actor_should_pick_paint (actor))
|
||||||
@@ -498,8 +315,6 @@ meta_shaped_texture_pick (ClutterActor *actor,
|
|||||||
if (tex_width == 0 || tex_height == 0) /* no contents yet */
|
if (tex_width == 0 || tex_height == 0) /* no contents yet */
|
||||||
return;
|
return;
|
||||||
|
|
||||||
meta_shaped_texture_ensure_mask (stex);
|
|
||||||
|
|
||||||
cogl_set_source_color4ub (color->red, color->green, color->blue,
|
cogl_set_source_color4ub (color->red, color->green, color->blue,
|
||||||
color->alpha);
|
color->alpha);
|
||||||
|
|
||||||
@@ -552,6 +367,13 @@ meta_shaped_texture_get_preferred_height (ClutterActor *self,
|
|||||||
*natural_height_p = priv->tex_height;
|
*natural_height_p = priv->tex_height;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
meta_shaped_texture_get_paint_volume (ClutterActor *self,
|
||||||
|
ClutterPaintVolume *volume)
|
||||||
|
{
|
||||||
|
return clutter_paint_volume_set_from_allocation (volume, self);
|
||||||
|
}
|
||||||
|
|
||||||
ClutterActor *
|
ClutterActor *
|
||||||
meta_shaped_texture_new (void)
|
meta_shaped_texture_new (void)
|
||||||
{
|
{
|
||||||
@@ -583,8 +405,8 @@ meta_shaped_texture_set_create_mipmaps (MetaShapedTexture *stex,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
meta_shaped_texture_set_shape_region (MetaShapedTexture *stex,
|
meta_shaped_texture_set_mask_texture (MetaShapedTexture *stex,
|
||||||
cairo_region_t *region)
|
CoglHandle mask_texture)
|
||||||
{
|
{
|
||||||
MetaShapedTexturePrivate *priv;
|
MetaShapedTexturePrivate *priv;
|
||||||
|
|
||||||
@@ -592,19 +414,18 @@ meta_shaped_texture_set_shape_region (MetaShapedTexture *stex,
|
|||||||
|
|
||||||
priv = stex->priv;
|
priv = stex->priv;
|
||||||
|
|
||||||
if (priv->shape_region != NULL)
|
if (priv->mask_texture != COGL_INVALID_HANDLE)
|
||||||
{
|
{
|
||||||
cairo_region_destroy (priv->shape_region);
|
cogl_handle_unref (priv->mask_texture);
|
||||||
priv->shape_region = NULL;
|
priv->mask_texture = COGL_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (region != NULL)
|
if (mask_texture != COGL_INVALID_HANDLE)
|
||||||
{
|
{
|
||||||
cairo_region_reference (region);
|
priv->mask_texture = mask_texture;
|
||||||
priv->shape_region = region;
|
cogl_handle_ref (priv->mask_texture);
|
||||||
}
|
}
|
||||||
|
|
||||||
meta_shaped_texture_dirty_mask (stex);
|
|
||||||
clutter_actor_queue_redraw (CLUTTER_ACTOR (stex));
|
clutter_actor_queue_redraw (CLUTTER_ACTOR (stex));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -698,7 +519,11 @@ meta_shaped_texture_set_pixmap (MetaShapedTexture *stex,
|
|||||||
priv->pixmap = pixmap;
|
priv->pixmap = pixmap;
|
||||||
|
|
||||||
if (pixmap != None)
|
if (pixmap != None)
|
||||||
set_cogl_texture (stex, cogl_texture_pixmap_x11_new (pixmap, FALSE));
|
{
|
||||||
|
CoglContext *ctx =
|
||||||
|
clutter_backend_get_cogl_context (clutter_get_default_backend ());
|
||||||
|
set_cogl_texture (stex, cogl_texture_pixmap_x11_new (ctx, pixmap, FALSE, NULL));
|
||||||
|
}
|
||||||
else
|
else
|
||||||
set_cogl_texture (stex, COGL_INVALID_HANDLE);
|
set_cogl_texture (stex, COGL_INVALID_HANDLE);
|
||||||
|
|
||||||
@@ -719,48 +544,6 @@ meta_shaped_texture_get_texture (MetaShapedTexture *stex)
|
|||||||
return stex->priv->texture;
|
return stex->priv->texture;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* meta_shaped_texture_set_overlay_path:
|
|
||||||
* @stex: a #MetaShapedTexture
|
|
||||||
* @overlay_region: A region containing the parts of the mask to overlay.
|
|
||||||
* All rectangles in this region are wiped clear to full transparency,
|
|
||||||
* and the overlay path is clipped to this region.
|
|
||||||
* @overlay_path: (transfer full): This path will be painted onto the mask
|
|
||||||
* texture with a fully opaque source. Due to the lack of refcounting
|
|
||||||
* in #cairo_path_t, ownership of the path is assumed.
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
meta_shaped_texture_set_overlay_path (MetaShapedTexture *stex,
|
|
||||||
cairo_region_t *overlay_region,
|
|
||||||
cairo_path_t *overlay_path)
|
|
||||||
{
|
|
||||||
MetaShapedTexturePrivate *priv;
|
|
||||||
|
|
||||||
g_return_if_fail (META_IS_SHAPED_TEXTURE (stex));
|
|
||||||
|
|
||||||
priv = stex->priv;
|
|
||||||
|
|
||||||
if (priv->overlay_region != NULL)
|
|
||||||
{
|
|
||||||
cairo_region_destroy (priv->overlay_region);
|
|
||||||
priv->overlay_region = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (priv->overlay_path != NULL)
|
|
||||||
{
|
|
||||||
cairo_path_destroy (priv->overlay_path);
|
|
||||||
priv->overlay_path = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
cairo_region_reference (overlay_region);
|
|
||||||
priv->overlay_region = overlay_region;
|
|
||||||
|
|
||||||
/* cairo_path_t does not have refcounting. */
|
|
||||||
priv->overlay_path = overlay_path;
|
|
||||||
|
|
||||||
meta_shaped_texture_dirty_mask (stex);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* meta_shaped_texture_set_clip_region:
|
* meta_shaped_texture_set_clip_region:
|
||||||
* @stex: a #MetaShapedTexture
|
* @stex: a #MetaShapedTexture
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Authored By Neil Roberts <neil@linux.intel.com>
|
* Authored By Neil Roberts <neil@linux.intel.com>
|
||||||
*
|
*
|
||||||
* Copyright (C) 2011 Intel Corporation
|
* Copyright (C) 2011, 2012 Intel Corporation
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License as
|
* modify it under the terms of the GNU General Public License as
|
||||||
@@ -25,94 +25,77 @@
|
|||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
|
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
||||||
|
#define COGL_ENABLE_EXPERIMENTAL_API
|
||||||
|
|
||||||
|
#include <clutter/clutter.h>
|
||||||
#include "meta-texture-rectangle.h"
|
#include "meta-texture-rectangle.h"
|
||||||
|
|
||||||
#ifdef GL_TEXTURE_RECTANGLE_ARB
|
CoglTexture *
|
||||||
|
|
||||||
static void (* pf_glGetIntegerv) (GLenum pname, GLint *params);
|
|
||||||
static void (* pf_glTexImage2D) (GLenum target, GLint level,
|
|
||||||
GLint internalFormat,
|
|
||||||
GLsizei width, GLsizei height,
|
|
||||||
GLint border, GLenum format, GLenum type,
|
|
||||||
const GLvoid *pixels);
|
|
||||||
static void (* pf_glGenTextures) (GLsizei n, GLuint *textures);
|
|
||||||
static void (* pf_glDeleteTextures) (GLsizei n, const GLuint *texture);
|
|
||||||
static void (* pf_glBindTexture) (GLenum target, GLuint texture);
|
|
||||||
|
|
||||||
static void
|
|
||||||
rectangle_texture_destroy_cb (void *user_data)
|
|
||||||
{
|
|
||||||
GLuint tex = GPOINTER_TO_UINT (user_data);
|
|
||||||
|
|
||||||
pf_glDeleteTextures (1, &tex);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* GL_TEXTURE_RECTANGLE_ARB */
|
|
||||||
|
|
||||||
CoglHandle
|
|
||||||
meta_texture_rectangle_new (unsigned int width,
|
meta_texture_rectangle_new (unsigned int width,
|
||||||
unsigned int height,
|
unsigned int height,
|
||||||
CoglTextureFlags flags,
|
|
||||||
CoglPixelFormat format,
|
CoglPixelFormat format,
|
||||||
GLenum internal_gl_format,
|
CoglPixelFormat internal_format,
|
||||||
GLenum internal_format,
|
|
||||||
unsigned int rowstride,
|
unsigned int rowstride,
|
||||||
const guint8 *data)
|
const guint8 *data,
|
||||||
|
GError **error)
|
||||||
{
|
{
|
||||||
CoglHandle cogl_tex = COGL_INVALID_HANDLE;
|
ClutterBackend *backend =
|
||||||
|
clutter_get_default_backend ();
|
||||||
|
CoglContext *context =
|
||||||
|
clutter_backend_get_cogl_context (backend);
|
||||||
|
CoglTextureRectangle *tex_rect;
|
||||||
|
|
||||||
#ifdef GL_TEXTURE_RECTANGLE_ARB
|
tex_rect = cogl_texture_rectangle_new_with_size (context,
|
||||||
|
|
||||||
static CoglUserDataKey user_data_key;
|
|
||||||
GLint old_binding;
|
|
||||||
GLuint tex;
|
|
||||||
|
|
||||||
if (pf_glGenTextures == NULL)
|
|
||||||
{
|
|
||||||
pf_glGetIntegerv = (void *) cogl_get_proc_address ("glGetIntegerv");
|
|
||||||
pf_glTexImage2D = (void *) cogl_get_proc_address ("glTexImage2D");
|
|
||||||
pf_glGenTextures = (void *) cogl_get_proc_address ("glGenTextures");
|
|
||||||
pf_glDeleteTextures = (void *) cogl_get_proc_address ("glDeleteTextures");
|
|
||||||
pf_glBindTexture = (void *) cogl_get_proc_address ("glBindTexture");
|
|
||||||
}
|
|
||||||
|
|
||||||
pf_glGenTextures (1, &tex);
|
|
||||||
pf_glGetIntegerv (GL_TEXTURE_BINDING_RECTANGLE_ARB, &old_binding);
|
|
||||||
pf_glBindTexture (GL_TEXTURE_RECTANGLE_ARB, tex);
|
|
||||||
pf_glTexImage2D (GL_TEXTURE_RECTANGLE_ARB, 0,
|
|
||||||
internal_gl_format, width, height,
|
|
||||||
0, internal_gl_format,
|
|
||||||
GL_UNSIGNED_BYTE, NULL);
|
|
||||||
pf_glBindTexture (GL_TEXTURE_RECTANGLE_ARB, old_binding);
|
|
||||||
|
|
||||||
cogl_tex = cogl_texture_new_from_foreign (tex,
|
|
||||||
GL_TEXTURE_RECTANGLE_ARB,
|
|
||||||
width, height,
|
width, height,
|
||||||
0, 0, /* no waste */
|
internal_format,
|
||||||
internal_format);
|
error);
|
||||||
|
if (tex_rect == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
/* Cogl won't destroy the GL texture when a foreign texture is used
|
|
||||||
so we need to destroy it manually. We can set a destroy
|
|
||||||
notification callback to do this transparently */
|
|
||||||
cogl_object_set_user_data (cogl_tex,
|
|
||||||
&user_data_key,
|
|
||||||
GUINT_TO_POINTER (tex),
|
|
||||||
rectangle_texture_destroy_cb);
|
|
||||||
|
|
||||||
/* Use cogl_texture_set_region instead of uploading the data
|
|
||||||
directly with GL calls so that we can let Cogl deal with setting
|
|
||||||
the pixel store parameters and handling format conversion */
|
|
||||||
if (data)
|
if (data)
|
||||||
cogl_texture_set_region (cogl_tex,
|
cogl_texture_set_region (COGL_TEXTURE (tex_rect),
|
||||||
0, 0, /* src x/y */
|
0, 0, /* src_x/y */
|
||||||
0, 0, /* dst x/y */
|
0, 0, /* dst_x/y */
|
||||||
width, height, /* dst width/height */
|
width, height, /* dst_width/height */
|
||||||
width, height, /* src width/height */
|
width, height, /* width/height */
|
||||||
format,
|
format,
|
||||||
rowstride,
|
rowstride,
|
||||||
data);
|
data);
|
||||||
|
|
||||||
#endif /* GL_TEXTURE_RECTANGLE_ARB */
|
return COGL_TEXTURE (tex_rect);
|
||||||
|
}
|
||||||
return cogl_tex;
|
|
||||||
|
static void
|
||||||
|
texture_rectangle_check_cb (CoglTexture *sub_texture,
|
||||||
|
const float *sub_texture_coords,
|
||||||
|
const float *meta_coords,
|
||||||
|
void *user_data)
|
||||||
|
{
|
||||||
|
gboolean *result = user_data;
|
||||||
|
|
||||||
|
if (cogl_is_texture_rectangle (sub_texture))
|
||||||
|
*result = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Determines if the given texture is using a rectangle texture as its
|
||||||
|
* primitive texture type. Eventually this function could be replaced
|
||||||
|
* with cogl_texture_get_type if Cogl makes that public.
|
||||||
|
*
|
||||||
|
* http://git.gnome.org/browse/cogl/commit/?h=8012eee31
|
||||||
|
*/
|
||||||
|
gboolean
|
||||||
|
meta_texture_rectangle_check (CoglTexture *texture)
|
||||||
|
{
|
||||||
|
gboolean result = FALSE;
|
||||||
|
|
||||||
|
cogl_meta_texture_foreach_in_region (COGL_META_TEXTURE (texture),
|
||||||
|
0.0f, 0.0f, /* tx_1 / ty_1 */
|
||||||
|
1.0f, 1.0f, /* tx_2 / ty_2 */
|
||||||
|
COGL_PIPELINE_WRAP_MODE_REPEAT,
|
||||||
|
COGL_PIPELINE_WRAP_MODE_REPEAT,
|
||||||
|
texture_rectangle_check_cb,
|
||||||
|
&result);
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,15 +30,17 @@
|
|||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
CoglHandle
|
CoglTexture *
|
||||||
meta_texture_rectangle_new (unsigned int width,
|
meta_texture_rectangle_new (unsigned int width,
|
||||||
unsigned int height,
|
unsigned int height,
|
||||||
CoglTextureFlags flags,
|
|
||||||
CoglPixelFormat format,
|
CoglPixelFormat format,
|
||||||
GLenum internal_gl_format,
|
CoglPixelFormat internal_format,
|
||||||
GLenum internal_format,
|
|
||||||
unsigned int rowstride,
|
unsigned int rowstride,
|
||||||
const guint8 *data);
|
const guint8 *data,
|
||||||
|
GError **error);
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
meta_texture_rectangle_check (CoglTexture *texture);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
|||||||
@@ -98,18 +98,6 @@ meta_texture_tower_free (MetaTextureTower *tower)
|
|||||||
g_slice_free (MetaTextureTower, tower);
|
g_slice_free (MetaTextureTower, tower);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef GL_TEXTURE_RECTANGLE_ARB
|
|
||||||
static gboolean
|
|
||||||
texture_is_rectangle (CoglHandle texture)
|
|
||||||
{
|
|
||||||
GLuint gl_tex;
|
|
||||||
GLenum gl_target;
|
|
||||||
|
|
||||||
cogl_texture_get_gl_texture (texture, &gl_tex, &gl_target);
|
|
||||||
return gl_target == GL_TEXTURE_RECTANGLE_ARB;
|
|
||||||
}
|
|
||||||
#endif /* GL_TEXTURE_RECTANGLE_ARB */
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* meta_texture_tower_set_base_texture:
|
* meta_texture_tower_set_base_texture:
|
||||||
* @tower: a #MetaTextureTower
|
* @tower: a #MetaTextureTower
|
||||||
@@ -354,13 +342,11 @@ get_paint_level (int width, int height)
|
|||||||
return (int)(0.5 + lambda);
|
return (int)(0.5 + lambda);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef GL_TEXTURE_RECTANGLE_ARB
|
|
||||||
static gboolean
|
static gboolean
|
||||||
is_power_of_two (int x)
|
is_power_of_two (int x)
|
||||||
{
|
{
|
||||||
return (x & (x - 1)) == 0;
|
return (x & (x - 1)) == 0;
|
||||||
}
|
}
|
||||||
#endif /* GL_TEXTURE_RECTANGLE_ARB */
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
texture_tower_create_texture (MetaTextureTower *tower,
|
texture_tower_create_texture (MetaTextureTower *tower,
|
||||||
@@ -368,25 +354,23 @@ texture_tower_create_texture (MetaTextureTower *tower,
|
|||||||
int width,
|
int width,
|
||||||
int height)
|
int height)
|
||||||
{
|
{
|
||||||
#ifdef GL_TEXTURE_RECTANGLE_ARB
|
|
||||||
if ((!is_power_of_two (width) || !is_power_of_two (height)) &&
|
if ((!is_power_of_two (width) || !is_power_of_two (height)) &&
|
||||||
texture_is_rectangle (tower->textures[level - 1]))
|
meta_texture_rectangle_check (tower->textures[level - 1]))
|
||||||
{
|
{
|
||||||
tower->textures[level] =
|
tower->textures[level] =
|
||||||
meta_texture_rectangle_new (width, height,
|
meta_texture_rectangle_new (width, height,
|
||||||
0, /* flags */
|
|
||||||
/* data format */
|
/* data format */
|
||||||
TEXTURE_FORMAT,
|
TEXTURE_FORMAT,
|
||||||
/* internal GL format */
|
|
||||||
GL_RGBA,
|
|
||||||
/* internal cogl format */
|
/* internal cogl format */
|
||||||
TEXTURE_FORMAT,
|
TEXTURE_FORMAT,
|
||||||
/* rowstride */
|
/* rowstride */
|
||||||
width * 4,
|
width * 4,
|
||||||
|
/* data */
|
||||||
|
NULL,
|
||||||
|
/* error */
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif /* GL_TEXTURE_RECTANGLE_ARB */
|
|
||||||
{
|
{
|
||||||
tower->textures[level] = cogl_texture_new_with_size (width, height,
|
tower->textures[level] = cogl_texture_new_with_size (width, height,
|
||||||
COGL_TEXTURE_NO_AUTO_MIPMAP,
|
COGL_TEXTURE_NO_AUTO_MIPMAP,
|
||||||
@@ -562,7 +546,7 @@ texture_tower_revalidate_client (MetaTextureTower *tower,
|
|||||||
4 * dest_width,
|
4 * dest_width,
|
||||||
dest_data);
|
dest_data);
|
||||||
|
|
||||||
if (dest_height < source_texture_height)
|
if (dest_texture_height < source_texture_height)
|
||||||
{
|
{
|
||||||
g_free (source_tmp1);
|
g_free (source_tmp1);
|
||||||
g_free (source_tmp2);
|
g_free (source_tmp2);
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
#define COGL_ENABLE_EXPERIMENTAL_API
|
#define COGL_ENABLE_EXPERIMENTAL_API
|
||||||
#include <cogl/cogl-texture-pixmap-x11.h>
|
#include <cogl/cogl-texture-pixmap-x11.h>
|
||||||
#include <gdk/gdk.h> /* for gdk_rectangle_union() */
|
#include <gdk/gdk.h> /* for gdk_rectangle_union() */
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
#include <meta/display.h>
|
#include <meta/display.h>
|
||||||
#include <meta/errors.h>
|
#include <meta/errors.h>
|
||||||
@@ -24,6 +25,8 @@
|
|||||||
#include "compositor-private.h"
|
#include "compositor-private.h"
|
||||||
#include "meta-shadow-factory-private.h"
|
#include "meta-shadow-factory-private.h"
|
||||||
#include "meta-window-actor-private.h"
|
#include "meta-window-actor-private.h"
|
||||||
|
#include "meta-texture-rectangle.h"
|
||||||
|
#include "region-utils.h"
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
POSITION_CHANGED,
|
POSITION_CHANGED,
|
||||||
@@ -123,15 +126,10 @@ enum
|
|||||||
PROP_META_WINDOW = 1,
|
PROP_META_WINDOW = 1,
|
||||||
PROP_META_SCREEN,
|
PROP_META_SCREEN,
|
||||||
PROP_X_WINDOW,
|
PROP_X_WINDOW,
|
||||||
PROP_X_WINDOW_ATTRIBUTES,
|
|
||||||
PROP_NO_SHADOW,
|
PROP_NO_SHADOW,
|
||||||
PROP_SHADOW_CLASS
|
PROP_SHADOW_CLASS
|
||||||
};
|
};
|
||||||
|
|
||||||
#define DEFAULT_SHADOW_RADIUS 12
|
|
||||||
#define DEFAULT_SHADOW_X_OFFSET 0
|
|
||||||
#define DEFAULT_SHADOW_Y_OFFSET 8
|
|
||||||
|
|
||||||
static void meta_window_actor_dispose (GObject *object);
|
static void meta_window_actor_dispose (GObject *object);
|
||||||
static void meta_window_actor_finalize (GObject *object);
|
static void meta_window_actor_finalize (GObject *object);
|
||||||
static void meta_window_actor_constructed (GObject *object);
|
static void meta_window_actor_constructed (GObject *object);
|
||||||
@@ -739,74 +737,52 @@ meta_window_actor_has_shadow (MetaWindowActor *self)
|
|||||||
meta_window_is_fullscreen (priv->window))
|
meta_window_is_fullscreen (priv->window))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If we have two snap-tiled windows, we don't want the shadow to obstruct
|
||||||
|
* the other window.
|
||||||
|
*/
|
||||||
|
if (meta_window_get_tile_match (priv->window))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Always put a shadow around windows with a frame - This should override
|
* Always put a shadow around windows with a frame - This should override
|
||||||
* the restriction about not putting a shadow around ARGB windows.
|
* the restriction about not putting a shadow around ARGB windows.
|
||||||
*/
|
*/
|
||||||
if (priv->window)
|
|
||||||
{
|
|
||||||
if (meta_window_get_frame (priv->window))
|
if (meta_window_get_frame (priv->window))
|
||||||
{
|
|
||||||
meta_verbose ("Window 0x%x has shadow because it has a frame\n",
|
|
||||||
(guint)priv->xwindow);
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Do not add shadows to ARGB windows; eventually we should generate a
|
* Do not add shadows to ARGB windows; eventually we should generate a
|
||||||
* shadow from the input shape for such windows.
|
* shadow from the input shape for such windows.
|
||||||
*/
|
*/
|
||||||
if (priv->argb32 || priv->opacity != 0xff)
|
if (priv->argb32 || priv->opacity != 0xff)
|
||||||
{
|
|
||||||
meta_verbose ("Window 0x%x has no shadow as it is ARGB\n",
|
|
||||||
(guint)priv->xwindow);
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Add shadows to override redirect windows (e.g., Gtk menus).
|
* Add shadows to override redirect windows (e.g., Gtk menus).
|
||||||
*/
|
*/
|
||||||
if (priv->window->override_redirect)
|
if (priv->window->override_redirect)
|
||||||
{
|
|
||||||
meta_verbose ("Window 0x%x has shadow because it is override redirect.\n",
|
|
||||||
(guint)priv->xwindow);
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Don't put shadow around DND icon windows
|
* Don't put shadow around DND icon windows
|
||||||
*/
|
*/
|
||||||
if (window_type == META_WINDOW_DND ||
|
if (window_type == META_WINDOW_DND ||
|
||||||
window_type == META_WINDOW_DESKTOP)
|
window_type == META_WINDOW_DESKTOP)
|
||||||
{
|
|
||||||
meta_verbose ("Window 0x%x has no shadow as it is DND or Desktop\n",
|
|
||||||
(guint)priv->xwindow);
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
|
||||||
|
|
||||||
if (window_type == META_WINDOW_MENU
|
if (window_type == META_WINDOW_MENU
|
||||||
#if 0
|
#if 0
|
||||||
|| window_type == META_WINDOW_DROPDOWN_MENU
|
|| window_type == META_WINDOW_DROPDOWN_MENU
|
||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
{
|
|
||||||
meta_verbose ("Window 0x%x has shadow as it is a menu\n",
|
|
||||||
(guint)priv->xwindow);
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
if (window_type == META_WINDOW_TOOLTIP)
|
if (window_type == META_WINDOW_TOOLTIP)
|
||||||
{
|
|
||||||
meta_verbose ("Window 0x%x has shadow as it is a tooltip\n",
|
|
||||||
(guint)priv->xwindow);
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
meta_verbose ("Window 0x%x has no shadow as it fell through\n",
|
|
||||||
(guint)priv->xwindow);
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1212,22 +1188,29 @@ meta_window_actor_should_unredirect (MetaWindowActor *self)
|
|||||||
MetaWindow *metaWindow = meta_window_actor_get_meta_window (self);
|
MetaWindow *metaWindow = meta_window_actor_get_meta_window (self);
|
||||||
MetaScreen *screen = meta_window_get_screen (metaWindow);
|
MetaScreen *screen = meta_window_get_screen (metaWindow);
|
||||||
MetaWindowActorPrivate *priv = self->priv;
|
MetaWindowActorPrivate *priv = self->priv;
|
||||||
|
|
||||||
if (meta_window_is_override_redirect (metaWindow) && priv->opacity == 0xff && !priv->argb32)
|
|
||||||
{
|
|
||||||
int screen_width, screen_height;
|
int screen_width, screen_height;
|
||||||
MetaRectangle window_rect;
|
MetaRectangle window_rect, monitor_rect;
|
||||||
|
int num_monitors = meta_screen_get_n_monitors (screen);
|
||||||
|
int i;
|
||||||
|
|
||||||
|
if (!meta_window_is_override_redirect (metaWindow))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (priv->opacity != 0xff)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (priv->argb32)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (metaWindow->has_shape)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
meta_screen_get_size (screen, &screen_width, &screen_height);
|
meta_screen_get_size (screen, &screen_width, &screen_height);
|
||||||
meta_window_get_outer_rect (metaWindow, &window_rect);
|
meta_window_get_outer_rect (metaWindow, &window_rect);
|
||||||
|
|
||||||
if (window_rect.x == 0 && window_rect.y == 0 &&
|
if (window_rect.x == 0 && window_rect.y == 0 &&
|
||||||
window_rect.width == screen_width && window_rect.height == screen_height)
|
window_rect.width == screen_width && window_rect.height == screen_height)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
else
|
|
||||||
{
|
|
||||||
int num_monitors = meta_screen_get_n_monitors (screen);
|
|
||||||
int i;
|
|
||||||
MetaRectangle monitor_rect;
|
|
||||||
|
|
||||||
for (i = 0; i < num_monitors; i++)
|
for (i = 0; i < num_monitors; i++)
|
||||||
{
|
{
|
||||||
@@ -1236,8 +1219,6 @@ meta_window_actor_should_unredirect (MetaWindowActor *self)
|
|||||||
monitor_rect.width == window_rect.width && monitor_rect.height == window_rect.height)
|
monitor_rect.width == window_rect.width && monitor_rect.height == window_rect.height)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@@ -1609,24 +1590,16 @@ meta_window_actor_update_bounding_region_and_borders (MetaWindowActor *self,
|
|||||||
int height)
|
int height)
|
||||||
{
|
{
|
||||||
MetaWindowActorPrivate *priv = self->priv;
|
MetaWindowActorPrivate *priv = self->priv;
|
||||||
MetaFrame *frame;
|
|
||||||
MetaFrameBorders borders;
|
MetaFrameBorders borders;
|
||||||
cairo_rectangle_int_t bounding_rectangle;
|
cairo_rectangle_int_t bounding_rectangle;
|
||||||
|
|
||||||
bounding_rectangle.x = 0;
|
meta_frame_calc_borders (priv->window->frame, &borders);
|
||||||
bounding_rectangle.y = 0;
|
|
||||||
|
|
||||||
frame = priv->window->frame;
|
|
||||||
if (frame != NULL)
|
|
||||||
{
|
|
||||||
meta_frame_calc_borders (frame, &borders);
|
|
||||||
|
|
||||||
bounding_rectangle.x = borders.invisible.left;
|
bounding_rectangle.x = borders.invisible.left;
|
||||||
bounding_rectangle.y = borders.invisible.top;
|
bounding_rectangle.y = borders.invisible.top;
|
||||||
|
|
||||||
width -= borders.invisible.left + borders.invisible.right;
|
width -= borders.invisible.left + borders.invisible.right;
|
||||||
height -= borders.invisible.top + borders.invisible.bottom;
|
height -= borders.invisible.top + borders.invisible.bottom;
|
||||||
}
|
|
||||||
|
|
||||||
bounding_rectangle.width = width;
|
bounding_rectangle.width = width;
|
||||||
bounding_rectangle.height = height;
|
bounding_rectangle.height = height;
|
||||||
@@ -1716,7 +1689,7 @@ meta_window_actor_get_obscured_region (MetaWindowActor *self)
|
|||||||
#if 0
|
#if 0
|
||||||
/* Print out a region; useful for debugging */
|
/* Print out a region; useful for debugging */
|
||||||
static void
|
static void
|
||||||
dump_region (cairo_region_t *region)
|
print_region (cairo_region_t *region)
|
||||||
{
|
{
|
||||||
int n_rects;
|
int n_rects;
|
||||||
int i;
|
int i;
|
||||||
@@ -1734,6 +1707,26 @@ dump_region (cairo_region_t *region)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
/* Dump a region to a PNG file; useful for debugging */
|
||||||
|
static void
|
||||||
|
see_region (cairo_region_t *region,
|
||||||
|
int width,
|
||||||
|
int height,
|
||||||
|
char *filename)
|
||||||
|
{
|
||||||
|
cairo_surface_t *surface = cairo_image_surface_create (CAIRO_FORMAT_A8, width, height);
|
||||||
|
cairo_t *cr = cairo_create (surface);
|
||||||
|
|
||||||
|
gdk_cairo_region (cr, region);
|
||||||
|
cairo_fill (cr);
|
||||||
|
|
||||||
|
cairo_surface_write_to_png (surface, filename);
|
||||||
|
cairo_destroy (cr);
|
||||||
|
cairo_surface_destroy (surface);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* meta_window_actor_set_visible_region:
|
* meta_window_actor_set_visible_region:
|
||||||
* @self: a #MetaWindowActor
|
* @self: a #MetaWindowActor
|
||||||
@@ -2024,121 +2017,196 @@ meta_window_actor_sync_visibility (MetaWindowActor *self)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
#define TAU (2*M_PI)
|
||||||
set_integral_bounding_rect (cairo_rectangle_int_t *rect,
|
|
||||||
double x, double y,
|
|
||||||
double width, double height)
|
|
||||||
{
|
|
||||||
rect->x = floor(x);
|
|
||||||
rect->y = floor(y);
|
|
||||||
rect->width = ceil(x + width) - rect->x;
|
|
||||||
rect->height = ceil(y + height) - rect->y;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
update_corners (MetaWindowActor *self,
|
install_corners (MetaWindow *window,
|
||||||
MetaFrameBorders *borders)
|
MetaFrameBorders *borders,
|
||||||
|
cairo_t *cr)
|
||||||
{
|
{
|
||||||
MetaWindowActorPrivate *priv = self->priv;
|
|
||||||
MetaRectangle outer;
|
|
||||||
cairo_rectangle_int_t corner_rects[4];
|
|
||||||
cairo_region_t *corner_region;
|
|
||||||
cairo_path_t *corner_path;
|
|
||||||
float top_left, top_right, bottom_left, bottom_right;
|
float top_left, top_right, bottom_left, bottom_right;
|
||||||
float x, y;
|
int x, y;
|
||||||
|
MetaRectangle outer;
|
||||||
|
|
||||||
/* need these to build a path */
|
meta_frame_get_corner_radiuses (window->frame,
|
||||||
cairo_t *cr;
|
|
||||||
cairo_surface_t *surface;
|
|
||||||
|
|
||||||
if (!priv->window->frame)
|
|
||||||
{
|
|
||||||
meta_shaped_texture_set_overlay_path (META_SHAPED_TEXTURE (priv->actor),
|
|
||||||
NULL, NULL);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
meta_window_get_outer_rect (priv->window, &outer);
|
|
||||||
|
|
||||||
meta_frame_get_corner_radiuses (priv->window->frame,
|
|
||||||
&top_left,
|
&top_left,
|
||||||
&top_right,
|
&top_right,
|
||||||
&bottom_left,
|
&bottom_left,
|
||||||
&bottom_right);
|
&bottom_right);
|
||||||
|
|
||||||
/* Unfortunately, cairo does not allow us to create a context
|
meta_window_get_outer_rect (window, &outer);
|
||||||
* without a surface. Create a 0x0 image surface to "paint to"
|
|
||||||
* so we can get the path. */
|
|
||||||
surface = cairo_image_surface_create (CAIRO_FORMAT_A8,
|
|
||||||
0, 0);
|
|
||||||
|
|
||||||
cr = cairo_create (surface);
|
|
||||||
|
|
||||||
/* top left */
|
/* top left */
|
||||||
x = borders->invisible.left;
|
x = borders->invisible.left;
|
||||||
y = borders->invisible.top;
|
y = borders->invisible.top;
|
||||||
|
|
||||||
set_integral_bounding_rect (&corner_rects[0],
|
|
||||||
x, y, top_left, top_left);
|
|
||||||
|
|
||||||
cairo_arc (cr,
|
cairo_arc (cr,
|
||||||
x + top_left,
|
x + top_left,
|
||||||
y + top_left,
|
y + top_left,
|
||||||
top_left,
|
top_left,
|
||||||
0, M_PI*2);
|
2 * TAU / 4,
|
||||||
|
3 * TAU / 4);
|
||||||
|
|
||||||
/* top right */
|
/* top right */
|
||||||
x = borders->invisible.left + outer.width - top_right;
|
x = borders->invisible.left + outer.width - top_right;
|
||||||
y = borders->invisible.top;
|
y = borders->invisible.top;
|
||||||
|
|
||||||
set_integral_bounding_rect (&corner_rects[1],
|
|
||||||
x, y, top_right, top_right);
|
|
||||||
|
|
||||||
cairo_arc (cr,
|
cairo_arc (cr,
|
||||||
x,
|
x,
|
||||||
y + top_right,
|
y + top_right,
|
||||||
top_right,
|
top_right,
|
||||||
0, M_PI*2);
|
3 * TAU / 4,
|
||||||
|
4 * TAU / 4);
|
||||||
|
|
||||||
/* bottom right */
|
/* bottom right */
|
||||||
x = borders->invisible.left + outer.width - bottom_right;
|
x = borders->invisible.left + outer.width - bottom_right;
|
||||||
y = borders->invisible.top + outer.height - bottom_right;
|
y = borders->invisible.top + outer.height - bottom_right;
|
||||||
|
|
||||||
set_integral_bounding_rect (&corner_rects[2],
|
|
||||||
x, y, bottom_right, bottom_right);
|
|
||||||
|
|
||||||
cairo_arc (cr,
|
cairo_arc (cr,
|
||||||
x,
|
x,
|
||||||
y,
|
y,
|
||||||
bottom_right,
|
bottom_right,
|
||||||
0, M_PI*2);
|
0 * TAU / 4,
|
||||||
|
1 * TAU / 4);
|
||||||
|
|
||||||
/* bottom left */
|
/* bottom left */
|
||||||
x = borders->invisible.left;
|
x = borders->invisible.left;
|
||||||
y = borders->invisible.top + outer.height - bottom_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,
|
cairo_arc (cr,
|
||||||
x + bottom_left,
|
x + bottom_left,
|
||||||
y,
|
y,
|
||||||
bottom_left,
|
bottom_left,
|
||||||
0, M_PI*2);
|
1 * TAU / 4,
|
||||||
|
2 * TAU / 4);
|
||||||
|
|
||||||
corner_path = cairo_copy_path (cr);
|
cairo_set_source_rgba (cr, 1, 1, 1, 1);
|
||||||
|
cairo_fill (cr);
|
||||||
|
}
|
||||||
|
|
||||||
|
static cairo_region_t *
|
||||||
|
scan_visible_region (guchar *mask_data,
|
||||||
|
int stride,
|
||||||
|
cairo_region_t *scan_area)
|
||||||
|
{
|
||||||
|
int i, n_rects = cairo_region_num_rectangles (scan_area);
|
||||||
|
MetaRegionBuilder builder;
|
||||||
|
|
||||||
|
meta_region_builder_init (&builder);
|
||||||
|
|
||||||
|
for (i = 0; i < n_rects; i++)
|
||||||
|
{
|
||||||
|
int x, y;
|
||||||
|
cairo_rectangle_int_t rect;
|
||||||
|
|
||||||
|
cairo_region_get_rectangle (scan_area, i, &rect);
|
||||||
|
|
||||||
|
for (y = rect.y; y < (rect.y + rect.height); y++)
|
||||||
|
{
|
||||||
|
for (x = rect.x; x < (rect.x + rect.width); x++)
|
||||||
|
{
|
||||||
|
int w = x;
|
||||||
|
while (mask_data[y * stride + w] == 255 && w < (rect.x + rect.width))
|
||||||
|
w++;
|
||||||
|
|
||||||
|
if (w > 0)
|
||||||
|
{
|
||||||
|
meta_region_builder_add_rectangle (&builder, x, y, w - x, 1);
|
||||||
|
x = w;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return meta_region_builder_finish (&builder);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
build_and_scan_frame_mask (MetaWindowActor *self,
|
||||||
|
MetaFrameBorders *borders,
|
||||||
|
cairo_rectangle_int_t *client_area,
|
||||||
|
cairo_region_t *shape_region)
|
||||||
|
{
|
||||||
|
MetaWindowActorPrivate *priv = self->priv;
|
||||||
|
guchar *mask_data;
|
||||||
|
guint tex_width, tex_height;
|
||||||
|
CoglHandle paint_tex, mask_texture;
|
||||||
|
int stride;
|
||||||
|
cairo_t *cr;
|
||||||
|
cairo_surface_t *surface;
|
||||||
|
|
||||||
|
paint_tex = meta_shaped_texture_get_texture (META_SHAPED_TEXTURE (priv->actor));
|
||||||
|
if (paint_tex == COGL_INVALID_HANDLE)
|
||||||
|
return;
|
||||||
|
|
||||||
|
tex_width = cogl_texture_get_width (paint_tex);
|
||||||
|
tex_height = cogl_texture_get_height (paint_tex);
|
||||||
|
|
||||||
|
stride = cairo_format_stride_for_width (CAIRO_FORMAT_A8, tex_width);
|
||||||
|
|
||||||
|
/* Create data for an empty image */
|
||||||
|
mask_data = g_malloc0 (stride * tex_height);
|
||||||
|
|
||||||
|
surface = cairo_image_surface_create_for_data (mask_data,
|
||||||
|
CAIRO_FORMAT_A8,
|
||||||
|
tex_width,
|
||||||
|
tex_height,
|
||||||
|
stride);
|
||||||
|
cr = cairo_create (surface);
|
||||||
|
|
||||||
|
gdk_cairo_region (cr, shape_region);
|
||||||
|
cairo_fill (cr);
|
||||||
|
|
||||||
|
if (priv->window->frame != NULL)
|
||||||
|
{
|
||||||
|
cairo_region_t *frame_paint_region, *scanned_region;
|
||||||
|
cairo_rectangle_int_t rect = { 0, 0, tex_width, tex_height };
|
||||||
|
|
||||||
|
/* Make sure we don't paint the frame over the client window. */
|
||||||
|
frame_paint_region = cairo_region_create_rectangle (&rect);
|
||||||
|
cairo_region_subtract_rectangle (frame_paint_region, client_area);
|
||||||
|
|
||||||
|
gdk_cairo_region (cr, frame_paint_region);
|
||||||
|
cairo_clip (cr);
|
||||||
|
|
||||||
|
install_corners (priv->window, borders, cr);
|
||||||
|
|
||||||
|
cairo_surface_flush (surface);
|
||||||
|
scanned_region = scan_visible_region (mask_data, stride, frame_paint_region);
|
||||||
|
cairo_region_union (shape_region, scanned_region);
|
||||||
|
cairo_region_destroy (scanned_region);
|
||||||
|
}
|
||||||
|
|
||||||
cairo_surface_destroy (surface);
|
|
||||||
cairo_destroy (cr);
|
cairo_destroy (cr);
|
||||||
|
cairo_surface_destroy (surface);
|
||||||
|
|
||||||
corner_region = cairo_region_create_rectangles (corner_rects, 4);
|
if (meta_texture_rectangle_check (paint_tex))
|
||||||
|
{
|
||||||
|
mask_texture = meta_texture_rectangle_new (tex_width, tex_height,
|
||||||
|
COGL_PIXEL_FORMAT_A_8,
|
||||||
|
COGL_PIXEL_FORMAT_A_8,
|
||||||
|
stride,
|
||||||
|
mask_data,
|
||||||
|
NULL /* error */);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Note: we don't allow slicing for this texture because we
|
||||||
|
* need to use it with multi-texturing which doesn't support
|
||||||
|
* sliced textures */
|
||||||
|
mask_texture = cogl_texture_new_from_data (tex_width, tex_height,
|
||||||
|
COGL_TEXTURE_NO_SLICING,
|
||||||
|
COGL_PIXEL_FORMAT_A_8,
|
||||||
|
COGL_PIXEL_FORMAT_ANY,
|
||||||
|
stride,
|
||||||
|
mask_data);
|
||||||
|
}
|
||||||
|
|
||||||
meta_shaped_texture_set_overlay_path (META_SHAPED_TEXTURE (priv->actor),
|
meta_shaped_texture_set_mask_texture (META_SHAPED_TEXTURE (priv->actor),
|
||||||
corner_region, corner_path);
|
mask_texture);
|
||||||
|
cogl_handle_unref (mask_texture);
|
||||||
cairo_region_destroy (corner_region);
|
|
||||||
|
|
||||||
|
g_free (mask_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -2148,57 +2216,30 @@ check_needs_reshape (MetaWindowActor *self)
|
|||||||
MetaScreen *screen = priv->screen;
|
MetaScreen *screen = priv->screen;
|
||||||
MetaDisplay *display = meta_screen_get_display (screen);
|
MetaDisplay *display = meta_screen_get_display (screen);
|
||||||
MetaFrameBorders borders;
|
MetaFrameBorders borders;
|
||||||
cairo_region_t *region;
|
cairo_region_t *region = NULL;
|
||||||
|
cairo_rectangle_int_t client_area;
|
||||||
|
|
||||||
if (!priv->needs_reshape)
|
if (!priv->needs_reshape)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
meta_shaped_texture_set_shape_region (META_SHAPED_TEXTURE (priv->actor), NULL);
|
|
||||||
meta_window_actor_clear_shape_region (self);
|
|
||||||
|
|
||||||
if (priv->window->frame)
|
|
||||||
meta_frame_calc_borders (priv->window->frame, &borders);
|
meta_frame_calc_borders (priv->window->frame, &borders);
|
||||||
else
|
|
||||||
meta_frame_borders_clear (&borders);
|
|
||||||
|
|
||||||
region = meta_window_get_frame_bounds (priv->window);
|
client_area.x = borders.total.left;
|
||||||
if (region != NULL)
|
client_area.y = borders.total.top;
|
||||||
{
|
client_area.width = priv->window->rect.width;
|
||||||
/* This returns the window's internal frame bounds region,
|
client_area.height = priv->window->rect.height;
|
||||||
* so we need to copy it because we modify it below. */
|
|
||||||
region = cairo_region_copy (region);
|
meta_shaped_texture_set_mask_texture (META_SHAPED_TEXTURE (priv->actor), COGL_INVALID_HANDLE);
|
||||||
}
|
meta_window_actor_clear_shape_region (self);
|
||||||
else
|
|
||||||
{
|
|
||||||
/* If we have no region, we have no frame. We have no frame,
|
|
||||||
* so just use the bounding region instead */
|
|
||||||
region = cairo_region_copy (priv->bounding_region);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef HAVE_SHAPE
|
#ifdef HAVE_SHAPE
|
||||||
if (priv->window->has_shape)
|
if (priv->window->has_shape)
|
||||||
{
|
{
|
||||||
|
/* Translate the set of XShape rectangles that we
|
||||||
|
* get from the X server to a cairo_region. */
|
||||||
Display *xdisplay = meta_display_get_xdisplay (display);
|
Display *xdisplay = meta_display_get_xdisplay (display);
|
||||||
XRectangle *rects;
|
XRectangle *rects;
|
||||||
int n_rects, ordering;
|
int n_rects, ordering;
|
||||||
cairo_rectangle_int_t client_area;
|
|
||||||
|
|
||||||
client_area.width = priv->window->rect.width;
|
|
||||||
client_area.height = priv->window->rect.height;
|
|
||||||
|
|
||||||
if (priv->window->frame)
|
|
||||||
{
|
|
||||||
client_area.x = borders.total.left;
|
|
||||||
client_area.y = borders.total.top;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
client_area.x = 0;
|
|
||||||
client_area.y = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Punch out client area. */
|
|
||||||
cairo_region_subtract_rectangle (region, &client_area);
|
|
||||||
|
|
||||||
meta_error_trap_push (display);
|
meta_error_trap_push (display);
|
||||||
rects = XShapeGetRectangles (xdisplay,
|
rects = XShapeGetRectangles (xdisplay,
|
||||||
@@ -2211,28 +2252,40 @@ check_needs_reshape (MetaWindowActor *self)
|
|||||||
if (rects)
|
if (rects)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
cairo_rectangle_int_t *cairo_rects = g_new (cairo_rectangle_int_t, n_rects);
|
||||||
|
|
||||||
for (i = 0; i < n_rects; i ++)
|
for (i = 0; i < n_rects; i ++)
|
||||||
{
|
{
|
||||||
cairo_rectangle_int_t rect = { rects[i].x + client_area.x,
|
cairo_rects[i].x = rects[i].x + client_area.x;
|
||||||
rects[i].y + client_area.y,
|
cairo_rects[i].y = rects[i].y + client_area.y;
|
||||||
rects[i].width,
|
cairo_rects[i].width = rects[i].width;
|
||||||
rects[i].height };
|
cairo_rects[i].height = rects[i].height;
|
||||||
cairo_region_union_rectangle (region, &rect);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
XFree (rects);
|
XFree (rects);
|
||||||
|
region = cairo_region_create_rectangles (cairo_rects, n_rects);
|
||||||
|
g_free (cairo_rects);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
meta_shaped_texture_set_shape_region (META_SHAPED_TEXTURE (priv->actor),
|
if (region == NULL)
|
||||||
region);
|
{
|
||||||
|
/* If we don't have a shape on the server, that means that
|
||||||
|
* we have an implicit shape of one rectangle covering the
|
||||||
|
* entire window. */
|
||||||
|
region = cairo_region_create_rectangle (&client_area);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* This takes the region, generates a mask using GTK+
|
||||||
|
* and scans the mask looking for all opaque pixels,
|
||||||
|
* adding it to region.
|
||||||
|
*/
|
||||||
|
build_and_scan_frame_mask (self, &borders, &client_area, region);
|
||||||
meta_window_actor_update_shape_region (self, region);
|
meta_window_actor_update_shape_region (self, region);
|
||||||
|
|
||||||
cairo_region_destroy (region);
|
cairo_region_destroy (region);
|
||||||
|
|
||||||
update_corners (self, &borders);
|
|
||||||
|
|
||||||
priv->needs_reshape = FALSE;
|
priv->needs_reshape = FALSE;
|
||||||
meta_window_actor_invalidate_shadow (self);
|
meta_window_actor_invalidate_shadow (self);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,25 +101,6 @@ actor_is_untransformed (ClutterActor *actor,
|
|||||||
return TRUE;
|
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
|
static void
|
||||||
meta_window_group_paint (ClutterActor *actor)
|
meta_window_group_paint (ClutterActor *actor)
|
||||||
{
|
{
|
||||||
@@ -180,7 +161,7 @@ meta_window_group_paint (ClutterActor *actor)
|
|||||||
* as well for the same reason, but omitted for simplicity in the
|
* as well for the same reason, but omitted for simplicity in the
|
||||||
* hopes that no-one will do that.
|
* hopes that no-one will do that.
|
||||||
*/
|
*/
|
||||||
if (has_effects (l->data))
|
if (clutter_actor_has_effects (l->data))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (META_IS_WINDOW_ACTOR (l->data))
|
if (META_IS_WINDOW_ACTOR (l->data))
|
||||||
@@ -228,7 +209,6 @@ meta_window_group_paint (ClutterActor *actor)
|
|||||||
if (META_IS_WINDOW_ACTOR (l->data))
|
if (META_IS_WINDOW_ACTOR (l->data))
|
||||||
{
|
{
|
||||||
MetaWindowActor *window_actor = l->data;
|
MetaWindowActor *window_actor = l->data;
|
||||||
window_actor = l->data;
|
|
||||||
meta_window_actor_reset_visible_regions (window_actor);
|
meta_window_actor_reset_visible_regions (window_actor);
|
||||||
}
|
}
|
||||||
else if (META_IS_BACKGROUND_ACTOR (l->data))
|
else if (META_IS_BACKGROUND_ACTOR (l->data))
|
||||||
|
|||||||
@@ -16,3 +16,9 @@ pkglib_LTLIBRARIES = default.la
|
|||||||
install-exec-hook:
|
install-exec-hook:
|
||||||
-rm $(DESTDIR)$(pkglibdir)/*.a
|
-rm $(DESTDIR)$(pkglibdir)/*.a
|
||||||
-rm $(DESTDIR)$(pkglibdir)/*.la
|
-rm $(DESTDIR)$(pkglibdir)/*.la
|
||||||
|
|
||||||
|
# Since we removed the .la file, 'make uninstall' doesn't work properly,
|
||||||
|
# since it counts on libtool to remove the .la files, so just kill the
|
||||||
|
# .so file manually.
|
||||||
|
uninstall-local:
|
||||||
|
-rm -f $(DESTDIR)$(pkglibdir)/default.so
|
||||||
|
|||||||
@@ -112,8 +112,6 @@ struct _MetaDefaultPluginPrivate
|
|||||||
ClutterActor *desktop2;
|
ClutterActor *desktop2;
|
||||||
|
|
||||||
MetaPluginInfo info;
|
MetaPluginInfo info;
|
||||||
|
|
||||||
gboolean debug_mode : 1;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -182,34 +180,6 @@ meta_default_plugin_get_property (GObject *object,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
start (MetaPlugin *plugin)
|
|
||||||
{
|
|
||||||
MetaDefaultPluginPrivate *priv = META_DEFAULT_PLUGIN (plugin)->priv;
|
|
||||||
|
|
||||||
guint destroy_timeout = DESTROY_TIMEOUT;
|
|
||||||
guint minimize_timeout = MINIMIZE_TIMEOUT;
|
|
||||||
guint maximize_timeout = MAXIMIZE_TIMEOUT;
|
|
||||||
guint map_timeout = MAP_TIMEOUT;
|
|
||||||
guint switch_timeout = SWITCH_TIMEOUT;
|
|
||||||
|
|
||||||
if (meta_plugin_debug_mode (plugin))
|
|
||||||
{
|
|
||||||
g_debug ("Plugin %s: Entering debug mode.", priv->info.name);
|
|
||||||
|
|
||||||
priv->debug_mode = TRUE;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Double the effect duration to make them easier to observe.
|
|
||||||
*/
|
|
||||||
destroy_timeout *= 2;
|
|
||||||
minimize_timeout *= 2;
|
|
||||||
maximize_timeout *= 2;
|
|
||||||
map_timeout *= 2;
|
|
||||||
switch_timeout *= 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
meta_default_plugin_class_init (MetaDefaultPluginClass *klass)
|
meta_default_plugin_class_init (MetaDefaultPluginClass *klass)
|
||||||
{
|
{
|
||||||
@@ -221,7 +191,6 @@ meta_default_plugin_class_init (MetaDefaultPluginClass *klass)
|
|||||||
gobject_class->set_property = meta_default_plugin_set_property;
|
gobject_class->set_property = meta_default_plugin_set_property;
|
||||||
gobject_class->get_property = meta_default_plugin_get_property;
|
gobject_class->get_property = meta_default_plugin_get_property;
|
||||||
|
|
||||||
plugin_class->start = start;
|
|
||||||
plugin_class->map = map;
|
plugin_class->map = map;
|
||||||
plugin_class->minimize = minimize;
|
plugin_class->minimize = minimize;
|
||||||
plugin_class->maximize = maximize;
|
plugin_class->maximize = maximize;
|
||||||
@@ -284,7 +253,8 @@ on_switch_workspace_effect_complete (ClutterTimeline *timeline, gpointer data)
|
|||||||
{
|
{
|
||||||
MetaPlugin *plugin = META_PLUGIN (data);
|
MetaPlugin *plugin = META_PLUGIN (data);
|
||||||
MetaDefaultPluginPrivate *priv = META_DEFAULT_PLUGIN (plugin)->priv;
|
MetaDefaultPluginPrivate *priv = META_DEFAULT_PLUGIN (plugin)->priv;
|
||||||
GList *l = meta_plugin_get_window_actors (plugin);
|
MetaScreen *screen = meta_plugin_get_screen (plugin);
|
||||||
|
GList *l = meta_get_window_actors (screen);
|
||||||
|
|
||||||
while (l)
|
while (l)
|
||||||
{
|
{
|
||||||
@@ -317,6 +287,7 @@ switch_workspace (MetaPlugin *plugin,
|
|||||||
gint from, gint to,
|
gint from, gint to,
|
||||||
MetaMotionDirection direction)
|
MetaMotionDirection direction)
|
||||||
{
|
{
|
||||||
|
MetaScreen *screen;
|
||||||
MetaDefaultPluginPrivate *priv = META_DEFAULT_PLUGIN (plugin)->priv;
|
MetaDefaultPluginPrivate *priv = META_DEFAULT_PLUGIN (plugin)->priv;
|
||||||
GList *l;
|
GList *l;
|
||||||
ClutterActor *workspace0 = clutter_group_new ();
|
ClutterActor *workspace0 = clutter_group_new ();
|
||||||
@@ -325,11 +296,13 @@ switch_workspace (MetaPlugin *plugin,
|
|||||||
int screen_width, screen_height;
|
int screen_width, screen_height;
|
||||||
ClutterAnimation *animation;
|
ClutterAnimation *animation;
|
||||||
|
|
||||||
stage = meta_plugin_get_stage (plugin);
|
screen = meta_plugin_get_screen (plugin);
|
||||||
|
stage = meta_get_stage_for_screen (screen);
|
||||||
|
|
||||||
meta_plugin_query_screen_size (plugin,
|
meta_screen_get_size (screen,
|
||||||
&screen_width,
|
&screen_width,
|
||||||
&screen_height);
|
&screen_height);
|
||||||
|
|
||||||
clutter_actor_set_anchor_point (workspace1,
|
clutter_actor_set_anchor_point (workspace1,
|
||||||
screen_width,
|
screen_width,
|
||||||
screen_height);
|
screen_height);
|
||||||
@@ -348,7 +321,7 @@ switch_workspace (MetaPlugin *plugin,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
l = g_list_last (meta_plugin_get_window_actors (plugin));
|
l = g_list_last (meta_get_window_actors (screen));
|
||||||
|
|
||||||
while (l)
|
while (l)
|
||||||
{
|
{
|
||||||
@@ -446,12 +419,19 @@ static void
|
|||||||
minimize (MetaPlugin *plugin, MetaWindowActor *window_actor)
|
minimize (MetaPlugin *plugin, MetaWindowActor *window_actor)
|
||||||
{
|
{
|
||||||
MetaWindowType type;
|
MetaWindowType type;
|
||||||
|
MetaRectangle icon_geometry;
|
||||||
MetaWindow *meta_window = meta_window_actor_get_meta_window (window_actor);
|
MetaWindow *meta_window = meta_window_actor_get_meta_window (window_actor);
|
||||||
ClutterActor *actor = CLUTTER_ACTOR (window_actor);
|
ClutterActor *actor = CLUTTER_ACTOR (window_actor);
|
||||||
|
|
||||||
|
|
||||||
type = meta_window_get_window_type (meta_window);
|
type = meta_window_get_window_type (meta_window);
|
||||||
|
|
||||||
|
if (!meta_window_get_icon_geometry(meta_window, &icon_geometry))
|
||||||
|
{
|
||||||
|
icon_geometry.x = 0;
|
||||||
|
icon_geometry.y = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (type == META_WINDOW_NORMAL)
|
if (type == META_WINDOW_NORMAL)
|
||||||
{
|
{
|
||||||
ClutterAnimation *animation;
|
ClutterAnimation *animation;
|
||||||
@@ -468,6 +448,8 @@ minimize (MetaPlugin *plugin, MetaWindowActor *window_actor)
|
|||||||
MINIMIZE_TIMEOUT,
|
MINIMIZE_TIMEOUT,
|
||||||
"scale-x", 0.0,
|
"scale-x", 0.0,
|
||||||
"scale-y", 0.0,
|
"scale-y", 0.0,
|
||||||
|
"x", (double)icon_geometry.x,
|
||||||
|
"y", (double)icon_geometry.y,
|
||||||
NULL);
|
NULL);
|
||||||
apriv->tml_minimize = clutter_animation_get_timeline (animation);
|
apriv->tml_minimize = clutter_animation_get_timeline (animation);
|
||||||
data->plugin = plugin;
|
data->plugin = plugin;
|
||||||
|
|||||||
@@ -43,34 +43,17 @@
|
|||||||
/* Optimium performance seems to be with MAX_CHUNK_RECTANGLES=4; 8 is about 10% slower.
|
/* Optimium performance seems to be with MAX_CHUNK_RECTANGLES=4; 8 is about 10% slower.
|
||||||
* But using 8 may be more robust to systems with slow malloc(). */
|
* But using 8 may be more robust to systems with slow malloc(). */
|
||||||
#define MAX_CHUNK_RECTANGLES 8
|
#define MAX_CHUNK_RECTANGLES 8
|
||||||
#define MAX_LEVELS 16
|
|
||||||
|
|
||||||
typedef struct
|
void
|
||||||
{
|
|
||||||
/* To merge regions in binary tree order, we need to keep track of
|
|
||||||
* the regions that we've already merged together at different
|
|
||||||
* levels of the tree. We fill in an array in the pattern:
|
|
||||||
*
|
|
||||||
* |a |
|
|
||||||
* |b |a |
|
|
||||||
* |c | |ab |
|
|
||||||
* |d |c |ab |
|
|
||||||
* |e | | |abcd|
|
|
||||||
*/
|
|
||||||
cairo_region_t *levels[MAX_LEVELS];
|
|
||||||
int n_levels;
|
|
||||||
} MetaRegionBuilder;
|
|
||||||
|
|
||||||
static void
|
|
||||||
meta_region_builder_init (MetaRegionBuilder *builder)
|
meta_region_builder_init (MetaRegionBuilder *builder)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < MAX_LEVELS; i++)
|
for (i = 0; i < META_REGION_BUILDER_MAX_LEVELS; i++)
|
||||||
builder->levels[i] = NULL;
|
builder->levels[i] = NULL;
|
||||||
builder->n_levels = 1;
|
builder->n_levels = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
void
|
||||||
meta_region_builder_add_rectangle (MetaRegionBuilder *builder,
|
meta_region_builder_add_rectangle (MetaRegionBuilder *builder,
|
||||||
int x,
|
int x,
|
||||||
int y,
|
int y,
|
||||||
@@ -95,7 +78,7 @@ meta_region_builder_add_rectangle (MetaRegionBuilder *builder,
|
|||||||
{
|
{
|
||||||
if (builder->levels[i] == NULL)
|
if (builder->levels[i] == NULL)
|
||||||
{
|
{
|
||||||
if (i < MAX_LEVELS)
|
if (i < META_REGION_BUILDER_MAX_LEVELS)
|
||||||
{
|
{
|
||||||
builder->levels[i] = builder->levels[i - 1];
|
builder->levels[i] = builder->levels[i - 1];
|
||||||
builder->levels[i - 1] = NULL;
|
builder->levels[i - 1] = NULL;
|
||||||
@@ -115,7 +98,7 @@ meta_region_builder_add_rectangle (MetaRegionBuilder *builder,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static cairo_region_t *
|
cairo_region_t *
|
||||||
meta_region_builder_finish (MetaRegionBuilder *builder)
|
meta_region_builder_finish (MetaRegionBuilder *builder)
|
||||||
{
|
{
|
||||||
cairo_region_t *result = NULL;
|
cairo_region_t *result = NULL;
|
||||||
|
|||||||
@@ -63,6 +63,32 @@ struct _MetaRegionIterator {
|
|||||||
cairo_rectangle_int_t next_rectangle;
|
cairo_rectangle_int_t next_rectangle;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef struct _MetaRegionBuilder MetaRegionBuilder;
|
||||||
|
|
||||||
|
#define META_REGION_BUILDER_MAX_LEVELS 16
|
||||||
|
struct _MetaRegionBuilder {
|
||||||
|
/* To merge regions in binary tree order, we need to keep track of
|
||||||
|
* the regions that we've already merged together at different
|
||||||
|
* levels of the tree. We fill in an array in the pattern:
|
||||||
|
*
|
||||||
|
* |a |
|
||||||
|
* |b |a |
|
||||||
|
* |c | |ab |
|
||||||
|
* |d |c |ab |
|
||||||
|
* |e | | |abcd|
|
||||||
|
*/
|
||||||
|
cairo_region_t *levels[META_REGION_BUILDER_MAX_LEVELS];
|
||||||
|
int n_levels;
|
||||||
|
};
|
||||||
|
|
||||||
|
void meta_region_builder_init (MetaRegionBuilder *builder);
|
||||||
|
void meta_region_builder_add_rectangle (MetaRegionBuilder *builder,
|
||||||
|
int x,
|
||||||
|
int y,
|
||||||
|
int width,
|
||||||
|
int height);
|
||||||
|
cairo_region_t * meta_region_builder_finish (MetaRegionBuilder *builder);
|
||||||
|
|
||||||
void meta_region_iterator_init (MetaRegionIterator *iter,
|
void meta_region_iterator_init (MetaRegionIterator *iter,
|
||||||
cairo_region_t *region);
|
cairo_region_t *region);
|
||||||
gboolean meta_region_iterator_at_end (MetaRegionIterator *iter);
|
gboolean meta_region_iterator_at_end (MetaRegionIterator *iter);
|
||||||
|
|||||||
@@ -23,7 +23,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file bell.c Ring the bell or flash the screen
|
* SECTION:Bell
|
||||||
|
* @short_description: Ring the bell or flash the screen
|
||||||
*
|
*
|
||||||
* Sometimes, X programs "ring the bell", whatever that means. Mutter lets
|
* Sometimes, X programs "ring the bell", whatever that means. Mutter lets
|
||||||
* the user configure the bell to be audible or visible (aka visual), and
|
* the user configure the bell to be audible or visible (aka visual), and
|
||||||
@@ -57,6 +58,10 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* bell_flash_screen:
|
||||||
|
* @display: The display which owns the screen (rather redundant)
|
||||||
|
* @screen: The screen to flash
|
||||||
|
*
|
||||||
* Flashes one entire screen. This is done by making a window the size of the
|
* Flashes one entire screen. This is done by making a window the size of the
|
||||||
* whole screen (or reusing the old one, if it's still around), mapping it,
|
* whole screen (or reusing the old one, if it's still around), mapping it,
|
||||||
* painting it white and then black, and then unmapping it. We set saveunder so
|
* painting it white and then black, and then unmapping it. We set saveunder so
|
||||||
@@ -65,14 +70,12 @@
|
|||||||
* Unlike frame flashes, we don't do fullscreen flashes with a timeout; rather,
|
* Unlike frame flashes, we don't do fullscreen flashes with a timeout; rather,
|
||||||
* we do them in one go, because we don't have to rely on the theme code
|
* we do them in one go, because we don't have to rely on the theme code
|
||||||
* redrawing the frame for us in order to do the flash.
|
* redrawing the frame for us in order to do the flash.
|
||||||
*
|
*/
|
||||||
* \param display The display which owns the screen (rather redundant)
|
/*
|
||||||
* \param screen The screen to flash
|
* Bug: The way I read it, this appears not to do the flash
|
||||||
*
|
|
||||||
* \bug The way I read it, this appears not to do the flash
|
|
||||||
* the first time we flash a particular display. Am I wrong?
|
* the first time we flash a particular display. Am I wrong?
|
||||||
*
|
*
|
||||||
* \bug This appears to destroy our current XSync status.
|
* Bug: This appears to destroy our current XSync status.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
bell_flash_screen (MetaDisplay *display,
|
bell_flash_screen (MetaDisplay *display,
|
||||||
@@ -137,14 +140,15 @@ bell_flash_screen (MetaDisplay *display,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* bell_flash_fullscreen:
|
||||||
|
* @display: The display the event came in on
|
||||||
|
* @xkb_ev: The bell event
|
||||||
|
*
|
||||||
* Flashes one screen, or all screens, in response to a bell event.
|
* Flashes one screen, or all screens, in response to a bell event.
|
||||||
* If the event is on a particular window, flash the screen that
|
* If the event is on a particular window, flash the screen that
|
||||||
* window is on. Otherwise, flash every screen on this display.
|
* window is on. Otherwise, flash every screen on this display.
|
||||||
*
|
*
|
||||||
* If the configure script found we had no XKB, this does not exist.
|
* If the configure script found we had no XKB, this does not exist.
|
||||||
*
|
|
||||||
* \param display The display the event came in on
|
|
||||||
* \param xkb_ev The bell event
|
|
||||||
*/
|
*/
|
||||||
#ifdef HAVE_XKB
|
#ifdef HAVE_XKB
|
||||||
static void
|
static void
|
||||||
@@ -182,17 +186,21 @@ bell_flash_fullscreen (MetaDisplay *display,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* bell_unflash_frame:
|
||||||
|
* @data: The frame to unflash, cast to a gpointer so it can go into
|
||||||
|
* a callback function.
|
||||||
|
*
|
||||||
* Makes a frame be not flashed; this is the timeout half of
|
* Makes a frame be not flashed; this is the timeout half of
|
||||||
* bell_flash_window_frame(). This is done simply by clearing the
|
* bell_flash_window_frame(). This is done simply by clearing the
|
||||||
* flash flag and queuing a redraw of the frame.
|
* flash flag and queuing a redraw of the frame.
|
||||||
*
|
*
|
||||||
* If the configure script found we had no XKB, this does not exist.
|
* If the configure script found we had no XKB, this does not exist.
|
||||||
*
|
*
|
||||||
* \param data The frame to unflash, cast to a gpointer so it can go into
|
* Returns: Always FALSE, so we don't get called again.
|
||||||
* a callback function.
|
*/
|
||||||
* \return Always FALSE, so we don't get called again.
|
|
||||||
*
|
/*
|
||||||
* \bug This is the parallel to bell_flash_window_frame(), so it should
|
* Bug: This is the parallel to bell_flash_window_frame(), so it should
|
||||||
* really be called meta_bell_unflash_window_frame().
|
* really be called meta_bell_unflash_window_frame().
|
||||||
*/
|
*/
|
||||||
static gboolean
|
static gboolean
|
||||||
@@ -205,6 +213,9 @@ bell_unflash_frame (gpointer data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* bell_flash_window_frame:
|
||||||
|
* @window: The window to flash
|
||||||
|
*
|
||||||
* Makes a frame flash and then return to normal shortly afterwards.
|
* Makes a frame flash and then return to normal shortly afterwards.
|
||||||
* This is done by setting a flag so that the theme
|
* This is done by setting a flag so that the theme
|
||||||
* code will temporarily draw the frame as focussed if it's unfocussed and
|
* code will temporarily draw the frame as focussed if it's unfocussed and
|
||||||
@@ -212,8 +223,6 @@ bell_unflash_frame (gpointer data)
|
|||||||
* that the flag can be unset and the frame re-redrawn.
|
* that the flag can be unset and the frame re-redrawn.
|
||||||
*
|
*
|
||||||
* If the configure script found we had no XKB, this does not exist.
|
* If the configure script found we had no XKB, this does not exist.
|
||||||
*
|
|
||||||
* \param window The window to flash
|
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
bell_flash_window_frame (MetaWindow *window)
|
bell_flash_window_frame (MetaWindow *window)
|
||||||
@@ -231,11 +240,12 @@ bell_flash_window_frame (MetaWindow *window)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* bell_flash_frame:
|
||||||
|
* @display: The display the bell event came in on
|
||||||
|
* @xkb_ev: The bell event we just received
|
||||||
|
*
|
||||||
* Flashes the frame of the focussed window. If there is no focussed window,
|
* Flashes the frame of the focussed window. If there is no focussed window,
|
||||||
* flashes the screen.
|
* flashes the screen.
|
||||||
*
|
|
||||||
* \param display The display the bell event came in on
|
|
||||||
* \param xkb_ev The bell event we just received
|
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
bell_flash_frame (MetaDisplay *display,
|
bell_flash_frame (MetaDisplay *display,
|
||||||
@@ -261,15 +271,18 @@ bell_flash_frame (MetaDisplay *display,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* bell_visual_notify:
|
||||||
|
* @display: The display the bell event came in on
|
||||||
|
* @xkb_ev: The bell event we just received
|
||||||
|
*
|
||||||
* Gives the user some kind of visual bell substitute, in response to a
|
* Gives the user some kind of visual bell substitute, in response to a
|
||||||
* bell event. What this is depends on the "visual bell type" pref.
|
* bell event. What this is depends on the "visual bell type" pref.
|
||||||
*
|
*
|
||||||
* If the configure script found we had no XKB, this does not exist.
|
* If the configure script found we had no XKB, this does not exist.
|
||||||
*
|
*/
|
||||||
* \param display The display the bell event came in on
|
|
||||||
* \param xkb_ev The bell event we just received
|
/*
|
||||||
*
|
* Bug: This should be merged with meta_bell_notify().
|
||||||
* \bug This should be merged with meta_bell_notify().
|
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
bell_visual_notify (MetaDisplay *display,
|
bell_visual_notify (MetaDisplay *display,
|
||||||
@@ -407,12 +420,13 @@ meta_bell_shutdown (MetaDisplay *display)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_bell_notify_frame_destroy:
|
||||||
|
* @frame: The frame which is being destroyed
|
||||||
|
*
|
||||||
* Deals with a frame being destroyed. This is important because if we're
|
* Deals with a frame being destroyed. This is important because if we're
|
||||||
* using a visual bell, we might be flashing the edges of the frame, and
|
* using a visual bell, we might be flashing the edges of the frame, and
|
||||||
* so we'd have a timeout function waiting ready to un-flash them. If the
|
* so we'd have a timeout function waiting ready to un-flash them. If the
|
||||||
* frame's going away, we can tell the timeout not to bother.
|
* frame's going away, we can tell the timeout not to bother.
|
||||||
*
|
|
||||||
* \param frame The frame which is being destroyed
|
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
meta_bell_notify_frame_destroy (MetaFrame *frame)
|
meta_bell_notify_frame_destroy (MetaFrame *frame)
|
||||||
|
|||||||
@@ -1,17 +1,5 @@
|
|||||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||||
|
|
||||||
/**
|
|
||||||
* \file bell.h Ring the bell or flash the screen
|
|
||||||
*
|
|
||||||
* Sometimes, X programs "ring the bell", whatever that means. Mutter lets
|
|
||||||
* the user configure the bell to be audible or visible (aka visual), and
|
|
||||||
* if it's visual it can be configured to be frame-flash or fullscreen-flash.
|
|
||||||
* We never get told about audible bells; X handles them just fine by itself.
|
|
||||||
*
|
|
||||||
* The visual bell was the result of a discussion in Bugzilla here:
|
|
||||||
* <http://bugzilla.gnome.org/show_bug.cgi?id=99886>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2002 Sun Microsystems Inc.
|
* Copyright (C) 2002 Sun Microsystems Inc.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -625,7 +625,6 @@ meta_rectangle_get_minimal_spanning_set_for_region (
|
|||||||
*temp_rect = *basic_rect;
|
*temp_rect = *basic_rect;
|
||||||
ret = g_list_prepend (NULL, temp_rect);
|
ret = g_list_prepend (NULL, temp_rect);
|
||||||
|
|
||||||
strut_iter = all_struts;
|
|
||||||
for (strut_iter = all_struts; strut_iter; strut_iter = strut_iter->next)
|
for (strut_iter = all_struts; strut_iter; strut_iter = strut_iter->next)
|
||||||
{
|
{
|
||||||
GList *rect_iter;
|
GList *rect_iter;
|
||||||
|
|||||||
@@ -119,6 +119,7 @@ typedef struct
|
|||||||
MetaRectangle orig;
|
MetaRectangle orig;
|
||||||
MetaRectangle current;
|
MetaRectangle current;
|
||||||
MetaFrameBorders *borders;
|
MetaFrameBorders *borders;
|
||||||
|
gboolean must_free_borders;
|
||||||
ActionType action_type;
|
ActionType action_type;
|
||||||
gboolean is_user_action;
|
gboolean is_user_action;
|
||||||
|
|
||||||
@@ -337,7 +338,7 @@ meta_window_constrain (MetaWindow *window,
|
|||||||
* not gobject-style--gobject would be more pain than it's worth) or
|
* not gobject-style--gobject would be more pain than it's worth) or
|
||||||
* smart pointers would be so much nicer here. *shrug*
|
* smart pointers would be so much nicer here. *shrug*
|
||||||
*/
|
*/
|
||||||
if (!orig_borders)
|
if (info.must_free_borders)
|
||||||
g_free (info.borders);
|
g_free (info.borders);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -358,9 +359,15 @@ setup_constraint_info (ConstraintInfo *info,
|
|||||||
|
|
||||||
/* Create a fake frame geometry if none really exists */
|
/* Create a fake frame geometry if none really exists */
|
||||||
if (orig_borders && !window->fullscreen)
|
if (orig_borders && !window->fullscreen)
|
||||||
|
{
|
||||||
info->borders = orig_borders;
|
info->borders = orig_borders;
|
||||||
|
info->must_free_borders = FALSE;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
info->borders = g_new0 (MetaFrameBorders, 1);
|
info->borders = g_new0 (MetaFrameBorders, 1);
|
||||||
|
info->must_free_borders = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
if (flags & META_IS_MOVE_ACTION && flags & META_IS_RESIZE_ACTION)
|
if (flags & META_IS_MOVE_ACTION && flags & META_IS_RESIZE_ACTION)
|
||||||
info->action_type = ACTION_MOVE_AND_RESIZE;
|
info->action_type = ACTION_MOVE_AND_RESIZE;
|
||||||
@@ -573,7 +580,7 @@ place_window_if_needed(MetaWindow *window,
|
|||||||
META_MAXIMIZE_VERTICAL : 0), &info->current);
|
META_MAXIMIZE_VERTICAL : 0), &info->current);
|
||||||
|
|
||||||
/* maximization may have changed frame geometry */
|
/* maximization may have changed frame geometry */
|
||||||
if (window->frame && !window->fullscreen)
|
if (!window->fullscreen)
|
||||||
meta_frame_calc_borders (window->frame, info->borders);
|
meta_frame_calc_borders (window->frame, info->borders);
|
||||||
|
|
||||||
if (window->fullscreen_after_placement)
|
if (window->fullscreen_after_placement)
|
||||||
@@ -757,21 +764,12 @@ constrain_modal_dialog (MetaWindow *window,
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
x = parent->rect.x + (parent->rect.width / 2 - info->current.width / 2);
|
x = parent->rect.x + (parent->rect.width / 2 - info->current.width / 2);
|
||||||
y = 0;
|
y = parent->rect.y + (parent->rect.height / 2 - info->current.height / 2);
|
||||||
if (parent->frame)
|
if (parent->frame)
|
||||||
{
|
{
|
||||||
MetaFrameBorders borders;
|
|
||||||
|
|
||||||
x += parent->frame->rect.x;
|
x += parent->frame->rect.x;
|
||||||
y += parent->frame->rect.y;
|
y += parent->frame->rect.y;
|
||||||
|
|
||||||
meta_frame_calc_borders (parent->frame, &borders);
|
|
||||||
y += borders.total.top;
|
|
||||||
|
|
||||||
y += info->borders->visible.top;
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
y = parent->rect.y + info->borders->visible.top;
|
|
||||||
|
|
||||||
constraint_already_satisfied = (x == info->current.x) && (y == info->current.y);
|
constraint_already_satisfied = (x == info->current.x) && (y == info->current.y);
|
||||||
|
|
||||||
|
|||||||
@@ -108,8 +108,12 @@ delete_ping_timeout_func (MetaDisplay *display,
|
|||||||
|
|
||||||
/* Translators: %s is a window title */
|
/* Translators: %s is a window title */
|
||||||
if (window_title)
|
if (window_title)
|
||||||
tmp = g_markup_printf_escaped (_("<tt>%s</tt> is not responding."),
|
{
|
||||||
window_title);
|
gchar *bold;
|
||||||
|
bold = g_strconcat ("<tt>", window_title, "</tt>", NULL);
|
||||||
|
tmp = g_markup_printf_escaped (_("%s is not responding."), bold);
|
||||||
|
g_free (bold);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
tmp = g_strdup (_("Application is not responding."));
|
tmp = g_strdup (_("Application is not responding."));
|
||||||
|
|
||||||
|
|||||||
@@ -25,9 +25,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file display.c Handles operations on an X display.
|
* SECTION:MetaDisplay
|
||||||
|
* @short_description: Handles operations on an X display.
|
||||||
*
|
*
|
||||||
* The display is represented as a MetaDisplay struct.
|
* The display is represented as a #MetaDisplay struct.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define _XOPEN_SOURCE 600 /* for gethostname() */
|
#define _XOPEN_SOURCE 600 /* for gethostname() */
|
||||||
@@ -51,12 +52,8 @@
|
|||||||
#include <meta/compositor.h>
|
#include <meta/compositor.h>
|
||||||
#include <X11/Xatom.h>
|
#include <X11/Xatom.h>
|
||||||
#include <X11/cursorfont.h>
|
#include <X11/cursorfont.h>
|
||||||
#ifdef HAVE_SOLARIS_XINERAMA
|
#include "mutter-enum-types.h"
|
||||||
#include <X11/extensions/xinerama.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_XFREE_XINERAMA
|
|
||||||
#include <X11/extensions/Xinerama.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_RANDR
|
#ifdef HAVE_RANDR
|
||||||
#include <X11/extensions/Xrandr.h>
|
#include <X11/extensions/Xrandr.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -85,7 +82,7 @@
|
|||||||
g == META_GRAB_OP_KEYBOARD_ESCAPING_GROUP)
|
g == META_GRAB_OP_KEYBOARD_ESCAPING_GROUP)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \defgroup pings Pings
|
* SECTION:pings
|
||||||
*
|
*
|
||||||
* Sometimes we want to see whether a window is responding,
|
* Sometimes we want to see whether a window is responding,
|
||||||
* so we send it a "ping" message and see whether it sends us back a "pong"
|
* so we send it a "ping" message and see whether it sends us back a "pong"
|
||||||
@@ -100,13 +97,13 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* MetaPingData:
|
||||||
|
*
|
||||||
* Describes a ping on a window. When we send a ping to a window, we build
|
* Describes a ping on a window. When we send a ping to a window, we build
|
||||||
* one of these structs, and it eventually gets passed to the timeout function
|
* one of these structs, and it eventually gets passed to the timeout function
|
||||||
* or to the function which handles the response from the window. If the window
|
* or to the function which handles the response from the window. If the window
|
||||||
* does or doesn't respond to the ping, we use this information to deal with
|
* does or doesn't respond to the ping, we use this information to deal with
|
||||||
* these facts; we have a handler function for each.
|
* these facts; we have a handler function for each.
|
||||||
*
|
|
||||||
* \ingroup pings
|
|
||||||
*/
|
*/
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
@@ -135,6 +132,8 @@ enum
|
|||||||
WINDOW_CREATED,
|
WINDOW_CREATED,
|
||||||
WINDOW_DEMANDS_ATTENTION,
|
WINDOW_DEMANDS_ATTENTION,
|
||||||
WINDOW_MARKED_URGENT,
|
WINDOW_MARKED_URGENT,
|
||||||
|
GRAB_OP_BEGIN,
|
||||||
|
GRAB_OP_END,
|
||||||
LAST_SIGNAL
|
LAST_SIGNAL
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -146,7 +145,7 @@ enum {
|
|||||||
|
|
||||||
static guint display_signals [LAST_SIGNAL] = { 0 };
|
static guint display_signals [LAST_SIGNAL] = { 0 };
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* The display we're managing. This is a singleton object. (Historically,
|
* The display we're managing. This is a singleton object. (Historically,
|
||||||
* this was a list of displays, but there was never any way to add more
|
* this was a list of displays, but there was never any way to add more
|
||||||
* than one element to it.) The goofy name is because we don't want it
|
* than one element to it.) The goofy name is because we don't want it
|
||||||
@@ -258,6 +257,28 @@ meta_display_class_init (MetaDisplayClass *klass)
|
|||||||
G_TYPE_NONE, 1,
|
G_TYPE_NONE, 1,
|
||||||
META_TYPE_WINDOW);
|
META_TYPE_WINDOW);
|
||||||
|
|
||||||
|
display_signals[GRAB_OP_BEGIN] =
|
||||||
|
g_signal_new ("grab-op-begin",
|
||||||
|
G_TYPE_FROM_CLASS (klass),
|
||||||
|
G_SIGNAL_RUN_LAST,
|
||||||
|
0,
|
||||||
|
NULL, NULL, NULL,
|
||||||
|
G_TYPE_NONE, 3,
|
||||||
|
META_TYPE_SCREEN,
|
||||||
|
META_TYPE_WINDOW,
|
||||||
|
META_TYPE_GRAB_OP);
|
||||||
|
|
||||||
|
display_signals[GRAB_OP_END] =
|
||||||
|
g_signal_new ("grab-op-end",
|
||||||
|
G_TYPE_FROM_CLASS (klass),
|
||||||
|
G_SIGNAL_RUN_LAST,
|
||||||
|
0,
|
||||||
|
NULL, NULL, NULL,
|
||||||
|
G_TYPE_NONE, 3,
|
||||||
|
META_TYPE_SCREEN,
|
||||||
|
META_TYPE_WINDOW,
|
||||||
|
META_TYPE_GRAB_OP);
|
||||||
|
|
||||||
g_object_class_install_property (object_class,
|
g_object_class_install_property (object_class,
|
||||||
PROP_FOCUS_WINDOW,
|
PROP_FOCUS_WINDOW,
|
||||||
g_param_spec_object ("focus-window",
|
g_param_spec_object ("focus-window",
|
||||||
@@ -269,10 +290,10 @@ meta_display_class_init (MetaDisplayClass *klass)
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destructor for MetaPingData structs. Will destroy the
|
* ping_data_free:
|
||||||
* event source for the struct as well.
|
|
||||||
*
|
*
|
||||||
* \ingroup pings
|
* Destructor for #MetaPingData structs. Will destroy the
|
||||||
|
* event source for the struct as well.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
ping_data_free (MetaPingData *ping_data)
|
ping_data_free (MetaPingData *ping_data)
|
||||||
@@ -285,14 +306,12 @@ ping_data_free (MetaPingData *ping_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* remove_pending_pings_for_window:
|
||||||
|
* @display: The display the window appears on
|
||||||
|
* @xwindow: The X ID of the window whose pings we should remove
|
||||||
|
*
|
||||||
* Frees every pending ping structure for the given X window on the
|
* Frees every pending ping structure for the given X window on the
|
||||||
* given display. This means that we also destroy the timeouts.
|
* given display. This means that we also destroy the timeouts.
|
||||||
*
|
|
||||||
* \param display The display the window appears on
|
|
||||||
* \param xwindow The X ID of the window whose pings we should remove
|
|
||||||
*
|
|
||||||
* \ingroup pings
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
remove_pending_pings_for_window (MetaDisplay *display, Window xwindow)
|
remove_pending_pings_for_window (MetaDisplay *display, Window xwindow)
|
||||||
@@ -391,14 +410,14 @@ meta_display_init (MetaDisplay *disp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_display_open:
|
||||||
|
*
|
||||||
* Opens a new display, sets it up, initialises all the X extensions
|
* Opens a new display, sets it up, initialises all the X extensions
|
||||||
* we will need, and adds it to the list of displays.
|
* we will need, and adds it to the list of displays.
|
||||||
*
|
*
|
||||||
* \return True if the display was opened successfully, and False
|
* Returns: %TRUE if the display was opened successfully, and %FALSE
|
||||||
* otherwise-- that is, if the display doesn't exist or it already
|
* otherwise-- that is, if the display doesn't exist or it already
|
||||||
* has a window manager.
|
* has a window manager.
|
||||||
*
|
|
||||||
* \ingroup main
|
|
||||||
*/
|
*/
|
||||||
gboolean
|
gboolean
|
||||||
meta_display_open (void)
|
meta_display_open (void)
|
||||||
@@ -448,6 +467,8 @@ meta_display_open (void)
|
|||||||
buf[sizeof(buf)-1] = '\0';
|
buf[sizeof(buf)-1] = '\0';
|
||||||
the_display->hostname = g_strdup (buf);
|
the_display->hostname = g_strdup (buf);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
the_display->hostname = NULL;
|
||||||
the_display->error_trap_synced_at_last_pop = TRUE;
|
the_display->error_trap_synced_at_last_pop = TRUE;
|
||||||
the_display->error_traps = 0;
|
the_display->error_traps = 0;
|
||||||
the_display->error_trap_handler = NULL;
|
the_display->error_trap_handler = NULL;
|
||||||
@@ -1025,6 +1046,7 @@ meta_display_close (MetaDisplay *display,
|
|||||||
meta_display_free_window_prop_hooks (display);
|
meta_display_free_window_prop_hooks (display);
|
||||||
meta_display_free_group_prop_hooks (display);
|
meta_display_free_group_prop_hooks (display);
|
||||||
|
|
||||||
|
g_free (display->hostname);
|
||||||
g_free (display->name);
|
g_free (display->name);
|
||||||
|
|
||||||
meta_display_shutdown_keys (display);
|
meta_display_shutdown_keys (display);
|
||||||
@@ -1142,14 +1164,16 @@ meta_display_ungrab (MetaDisplay *display)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the singleton MetaDisplay if "xdisplay" matches the X display it's
|
* meta_display_for_x_display:
|
||||||
* managing; otherwise gives a warning and returns NULL. When we were claiming
|
* @xdisplay: An X display
|
||||||
|
*
|
||||||
|
* Returns the singleton MetaDisplay if @xdisplay matches the X display it's
|
||||||
|
* managing; otherwise gives a warning and returns %NULL. When we were claiming
|
||||||
* to be able to manage multiple displays, this was supposed to find the
|
* to be able to manage multiple displays, this was supposed to find the
|
||||||
* display out of the list which matched that display. Now it's merely an
|
* display out of the list which matched that display. Now it's merely an
|
||||||
* extra sanity check.
|
* extra sanity check.
|
||||||
*
|
*
|
||||||
* \param xdisplay An X display
|
* Returns: The singleton X display, or %NULL if @xdisplay isn't the one
|
||||||
* \return The singleton X display, or NULL if "xdisplay" isn't the one
|
|
||||||
* we're managing.
|
* we're managing.
|
||||||
*/
|
*/
|
||||||
MetaDisplay*
|
MetaDisplay*
|
||||||
@@ -1165,9 +1189,11 @@ meta_display_for_x_display (Display *xdisplay)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_get_display:
|
||||||
|
*
|
||||||
* Accessor for the singleton MetaDisplay.
|
* Accessor for the singleton MetaDisplay.
|
||||||
*
|
*
|
||||||
* \return The only MetaDisplay there is. This can be NULL, but only
|
* Returns: The only #MetaDisplay there is. This can be %NULL, but only
|
||||||
* during startup.
|
* during startup.
|
||||||
*/
|
*/
|
||||||
MetaDisplay*
|
MetaDisplay*
|
||||||
@@ -1380,6 +1406,19 @@ meta_display_get_current_time_roundtrip (MetaDisplay *display)
|
|||||||
return timestamp;
|
return timestamp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* meta_display_get_ignored_modifier_mask:
|
||||||
|
* @display: a #MetaDisplay
|
||||||
|
*
|
||||||
|
* Returns: a mask of modifiers that should be ignored
|
||||||
|
* when matching keybindings to events
|
||||||
|
*/
|
||||||
|
unsigned int
|
||||||
|
meta_display_get_ignored_modifier_mask (MetaDisplay *display)
|
||||||
|
{
|
||||||
|
return display->ignored_modifier_mask;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* meta_display_add_ignored_crossing_serial:
|
* meta_display_add_ignored_crossing_serial:
|
||||||
* @display: a #MetaDisplay
|
* @display: a #MetaDisplay
|
||||||
@@ -1562,19 +1601,18 @@ handle_net_restack_window (MetaDisplay* display,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* event_callback:
|
||||||
|
* @event: The event that just happened
|
||||||
|
* @data: The #MetaDisplay that events are coming from, cast to a gpointer
|
||||||
|
* so that it can be sent to a callback
|
||||||
|
*
|
||||||
* This is the most important function in the whole program. It is the heart,
|
* This is the most important function in the whole program. It is the heart,
|
||||||
* it is the nexus, it is the Grand Central Station of Mutter's world.
|
* it is the nexus, it is the Grand Central Station of Mutter's world.
|
||||||
* When we create a MetaDisplay, we ask GDK to pass *all* events for *all*
|
* When we create a #MetaDisplay, we ask GDK to pass *all* events for *all*
|
||||||
* windows to this function. So every time anything happens that we might
|
* windows to this function. So every time anything happens that we might
|
||||||
* want to know about, this function gets called. You see why it gets a bit
|
* want to know about, this function gets called. You see why it gets a bit
|
||||||
* busy around here. Most of this function is a ginormous switch statement
|
* busy around here. Most of this function is a ginormous switch statement
|
||||||
* dealing with all the kinds of events that might turn up.
|
* dealing with all the kinds of events that might turn up.
|
||||||
*
|
|
||||||
* \param event The event that just happened
|
|
||||||
* \param data The MetaDisplay that events are coming from, cast to a gpointer
|
|
||||||
* so that it can be sent to a callback
|
|
||||||
*
|
|
||||||
* \ingroup main
|
|
||||||
*/
|
*/
|
||||||
static gboolean
|
static gboolean
|
||||||
event_callback (XEvent *event,
|
event_callback (XEvent *event,
|
||||||
@@ -1760,6 +1798,8 @@ event_callback (XEvent *event,
|
|||||||
if (display->grab_op == META_GRAB_OP_COMPOSITOR)
|
if (display->grab_op == META_GRAB_OP_COMPOSITOR)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
display->overlay_key_only_pressed = FALSE;
|
||||||
|
|
||||||
if (event->xbutton.button == 4 || event->xbutton.button == 5)
|
if (event->xbutton.button == 4 || event->xbutton.button == 5)
|
||||||
/* Scrollwheel event, do nothing and deliver event to compositor below */
|
/* Scrollwheel event, do nothing and deliver event to compositor below */
|
||||||
break;
|
break;
|
||||||
@@ -1957,6 +1997,8 @@ event_callback (XEvent *event,
|
|||||||
if (display->grab_op == META_GRAB_OP_COMPOSITOR)
|
if (display->grab_op == META_GRAB_OP_COMPOSITOR)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
display->overlay_key_only_pressed = FALSE;
|
||||||
|
|
||||||
if (display->grab_window == window &&
|
if (display->grab_window == window &&
|
||||||
grab_op_is_mouse (display->grab_op))
|
grab_op_is_mouse (display->grab_op))
|
||||||
meta_window_handle_mouse_grab_op_event (window, event);
|
meta_window_handle_mouse_grab_op_event (window, event);
|
||||||
@@ -3703,6 +3745,9 @@ meta_display_begin_grab_op (MetaDisplay *display,
|
|||||||
meta_window_refresh_resize_popup (display->grab_window);
|
meta_window_refresh_resize_popup (display->grab_window);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_signal_emit (display, display_signals[GRAB_OP_BEGIN], 0,
|
||||||
|
screen, display->grab_window, display->grab_op);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3716,6 +3761,11 @@ meta_display_end_grab_op (MetaDisplay *display,
|
|||||||
if (display->grab_op == META_GRAB_OP_NONE)
|
if (display->grab_op == META_GRAB_OP_NONE)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
g_signal_emit (display, display_signals[GRAB_OP_END], 0,
|
||||||
|
display->grab_screen, display->grab_window, display->grab_op);
|
||||||
|
|
||||||
|
display->grab_frame_action = FALSE;
|
||||||
|
|
||||||
if (display->grab_window != NULL)
|
if (display->grab_window != NULL)
|
||||||
display->grab_window->shaken_loose = FALSE;
|
display->grab_window->shaken_loose = FALSE;
|
||||||
|
|
||||||
@@ -4148,21 +4198,23 @@ meta_display_set_cursor_theme (const char *theme,
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* Stores whether syncing is currently enabled.
|
* Stores whether syncing is currently enabled.
|
||||||
*/
|
*/
|
||||||
static gboolean is_syncing = FALSE;
|
static gboolean is_syncing = FALSE;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_is_syncing:
|
||||||
|
*
|
||||||
* Returns whether X synchronisation is currently enabled.
|
* Returns whether X synchronisation is currently enabled.
|
||||||
*
|
*
|
||||||
* \return true if we must wait for events whenever we send X requests;
|
* FIXME: This is *only* called by meta_display_open(), but by that time
|
||||||
* false otherwise.
|
|
||||||
*
|
|
||||||
* \bug This is *only* called by meta_display_open, but by that time
|
|
||||||
* we have already turned syncing on or off on startup, and we don't
|
* we have already turned syncing on or off on startup, and we don't
|
||||||
* have any way to do so while Mutter is running, so it's rather
|
* have any way to do so while Mutter is running, so it's rather
|
||||||
* pointless.
|
* pointless.
|
||||||
|
*
|
||||||
|
* Returns: %TRUE if we must wait for events whenever we send X requests;
|
||||||
|
* %FALSE otherwise.
|
||||||
*/
|
*/
|
||||||
gboolean
|
gboolean
|
||||||
meta_is_syncing (void)
|
meta_is_syncing (void)
|
||||||
@@ -4171,10 +4223,9 @@ meta_is_syncing (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A handy way to turn on synchronisation on or off for every display.
|
* meta_set_syncing:
|
||||||
*
|
*
|
||||||
* \bug Of course there is only one display ever anyway, so this can
|
* A handy way to turn on synchronisation on or off for every display.
|
||||||
* be rather hugely simplified.
|
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
meta_set_syncing (gboolean setting)
|
meta_set_syncing (gboolean setting)
|
||||||
@@ -4187,26 +4238,25 @@ meta_set_syncing (gboolean setting)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* How long, in milliseconds, we should wait after pinging a window
|
* How long, in milliseconds, we should wait after pinging a window
|
||||||
* before deciding it's not going to get back to us.
|
* before deciding it's not going to get back to us.
|
||||||
*/
|
*/
|
||||||
#define PING_TIMEOUT_DELAY 5000
|
#define PING_TIMEOUT_DELAY 5000
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_display_ping_timeout:
|
||||||
|
* @data: All the information about this ping. It is a #MetaPingData
|
||||||
|
* cast to a #gpointer in order to be passable to a timeout function.
|
||||||
|
* This function will also free this parameter.
|
||||||
|
*
|
||||||
* Does whatever it is we decided to do when a window didn't respond
|
* Does whatever it is we decided to do when a window didn't respond
|
||||||
* to a ping. We also remove the ping from the display's list of
|
* to a ping. We also remove the ping from the display's list of
|
||||||
* pending pings. This function is called by the event loop when the timeout
|
* pending pings. This function is called by the event loop when the timeout
|
||||||
* times out which we created at the start of the ping.
|
* times out which we created at the start of the ping.
|
||||||
*
|
*
|
||||||
* \param data All the information about this ping. It is a MetaPingData
|
* Returns: Always returns %FALSE, because this function is called as a
|
||||||
* cast to a void* in order to be passable to a timeout function.
|
|
||||||
* This function will also free this parameter.
|
|
||||||
*
|
|
||||||
* \return Always returns false, because this function is called as a
|
|
||||||
* timeout and we don't want to run the timer again.
|
* timeout and we don't want to run the timer again.
|
||||||
*
|
|
||||||
* \ingroup pings
|
|
||||||
*/
|
*/
|
||||||
static gboolean
|
static gboolean
|
||||||
meta_display_ping_timeout (gpointer data)
|
meta_display_ping_timeout (gpointer data)
|
||||||
@@ -4233,6 +4283,17 @@ meta_display_ping_timeout (gpointer data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_display_ping_window:
|
||||||
|
* @display: The #MetaDisplay that the window is on
|
||||||
|
* @window: The #MetaWindow to send the ping to
|
||||||
|
* @timestamp: The timestamp of the ping. Used for uniqueness.
|
||||||
|
* Cannot be CurrentTime; use a real timestamp!
|
||||||
|
* @ping_reply_func: The callback to call if we get a response.
|
||||||
|
* @ping_timeout_func: The callback to call if we don't get a response.
|
||||||
|
* @user_data: Arbitrary data that will be passed to the callback
|
||||||
|
* function. (In practice it's often a pointer to
|
||||||
|
* the window.)
|
||||||
|
*
|
||||||
* Sends a ping request to a window. The window must respond to
|
* Sends a ping request to a window. The window must respond to
|
||||||
* the request within a certain amount of time. If it does, we
|
* the request within a certain amount of time. If it does, we
|
||||||
* will call one callback; if the time passes and we haven't had
|
* will call one callback; if the time passes and we haven't had
|
||||||
@@ -4242,20 +4303,9 @@ meta_display_ping_timeout (gpointer data)
|
|||||||
* This function returns straight away after setting things up;
|
* This function returns straight away after setting things up;
|
||||||
* the callbacks will be called from the event loop.
|
* the callbacks will be called from the event loop.
|
||||||
*
|
*
|
||||||
* \param display The MetaDisplay that the window is on
|
* FIXME: This should probably be a method on windows, rather than displays
|
||||||
* \param window The MetaWindow to send the ping to
|
|
||||||
* \param timestamp The timestamp of the ping. Used for uniqueness.
|
|
||||||
* Cannot be CurrentTime; use a real timestamp!
|
|
||||||
* \param ping_reply_func The callback to call if we get a response.
|
|
||||||
* \param ping_timeout_func The callback to call if we don't get a response.
|
|
||||||
* \param user_data Arbitrary data that will be passed to the callback
|
|
||||||
* function. (In practice it's often a pointer to
|
|
||||||
* the window.)
|
|
||||||
*
|
|
||||||
* \bug This should probably be a method on windows, rather than displays
|
|
||||||
* for one of their windows.
|
* for one of their windows.
|
||||||
*
|
*
|
||||||
* \ingroup pings
|
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
meta_display_ping_window (MetaDisplay *display,
|
meta_display_ping_window (MetaDisplay *display,
|
||||||
@@ -4363,16 +4413,15 @@ process_request_frame_extents (MetaDisplay *display,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Process the pong (the response message) from the ping we sent
|
* process_pong_message:
|
||||||
* to the window. This involves removing the timeout, calling the
|
* @display: the display we got the pong from
|
||||||
* reply handler function, and freeing memory.
|
* @event: the #XEvent which is a pong; we can tell which
|
||||||
*
|
|
||||||
* \param display the display we got the pong from
|
|
||||||
* \param event the XEvent which is a pong; we can tell which
|
|
||||||
* ping it corresponds to because it bears the
|
* ping it corresponds to because it bears the
|
||||||
* same timestamp.
|
* same timestamp.
|
||||||
*
|
*
|
||||||
* \ingroup pings
|
* Process the pong (the response message) from the ping we sent
|
||||||
|
* to the window. This involves removing the timeout, calling the
|
||||||
|
* reply handler function, and freeing memory.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
process_pong_message (MetaDisplay *display,
|
process_pong_message (MetaDisplay *display,
|
||||||
@@ -4419,18 +4468,17 @@ process_pong_message (MetaDisplay *display,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_display_window_has_pending_pings:
|
||||||
|
* @display: The #MetaDisplay of the window.
|
||||||
|
* @window: The #MetaWindow whose pings we want to know about.
|
||||||
|
*
|
||||||
* Finds whether a window has any pings waiting on it.
|
* Finds whether a window has any pings waiting on it.
|
||||||
*
|
*
|
||||||
* \param display The MetaDisplay of the window.
|
* FIXME: This should probably be a method on windows, rather than displays
|
||||||
* \param window The MetaWindow whose pings we want to know about.
|
|
||||||
*
|
|
||||||
* \return True if there is at least one ping which has been sent
|
|
||||||
* to the window without getting a response; false otherwise.
|
|
||||||
*
|
|
||||||
* \bug This should probably be a method on windows, rather than displays
|
|
||||||
* for one of their windows.
|
* for one of their windows.
|
||||||
*
|
*
|
||||||
* \ingroup pings
|
* Returns: %TRUE if there is at least one ping which has been sent
|
||||||
|
* to the window without getting a response; %FALSE otherwise.
|
||||||
*/
|
*/
|
||||||
gboolean
|
gboolean
|
||||||
meta_display_window_has_pending_pings (MetaDisplay *display,
|
meta_display_window_has_pending_pings (MetaDisplay *display,
|
||||||
@@ -4460,7 +4508,8 @@ get_focussed_group (MetaDisplay *display)
|
|||||||
|
|
||||||
#define IN_TAB_CHAIN(w,t) (((t) == META_TAB_LIST_NORMAL && META_WINDOW_IN_NORMAL_TAB_CHAIN (w)) \
|
#define IN_TAB_CHAIN(w,t) (((t) == META_TAB_LIST_NORMAL && META_WINDOW_IN_NORMAL_TAB_CHAIN (w)) \
|
||||||
|| ((t) == META_TAB_LIST_DOCKS && META_WINDOW_IN_DOCK_TAB_CHAIN (w)) \
|
|| ((t) == META_TAB_LIST_DOCKS && META_WINDOW_IN_DOCK_TAB_CHAIN (w)) \
|
||||||
|| ((t) == META_TAB_LIST_GROUP && META_WINDOW_IN_GROUP_TAB_CHAIN (w, get_focussed_group(w->display))))
|
|| ((t) == META_TAB_LIST_GROUP && META_WINDOW_IN_GROUP_TAB_CHAIN (w, get_focussed_group(w->display))) \
|
||||||
|
|| ((t) == META_TAB_LIST_NORMAL_ALL && META_WINDOW_IN_NORMAL_TAB_CHAIN_TYPE (w)))
|
||||||
|
|
||||||
static MetaWindow*
|
static MetaWindow*
|
||||||
find_tab_forward (MetaDisplay *display,
|
find_tab_forward (MetaDisplay *display,
|
||||||
@@ -4608,12 +4657,13 @@ meta_display_get_tab_list (MetaDisplay *display,
|
|||||||
tab_list = g_list_reverse (tab_list);
|
tab_list = g_list_reverse (tab_list);
|
||||||
|
|
||||||
{
|
{
|
||||||
GSList *tmp;
|
GSList *windows, *tmp;
|
||||||
MetaWindow *l_window;
|
MetaWindow *l_window;
|
||||||
|
|
||||||
tmp = meta_display_list_windows (display, META_LIST_DEFAULT);
|
windows = meta_display_list_windows (display, META_LIST_DEFAULT);
|
||||||
|
|
||||||
/* Go through all windows */
|
/* Go through all windows */
|
||||||
|
tmp = windows;
|
||||||
while (tmp != NULL)
|
while (tmp != NULL)
|
||||||
{
|
{
|
||||||
l_window=tmp->data;
|
l_window=tmp->data;
|
||||||
@@ -4629,6 +4679,8 @@ meta_display_get_tab_list (MetaDisplay *display,
|
|||||||
|
|
||||||
tmp = tmp->next;
|
tmp = tmp->next;
|
||||||
} /* End while tmp!=NULL */
|
} /* End while tmp!=NULL */
|
||||||
|
|
||||||
|
g_slist_free (windows);
|
||||||
}
|
}
|
||||||
|
|
||||||
return tab_list;
|
return tab_list;
|
||||||
@@ -5282,7 +5334,6 @@ timestamp_too_old (MetaDisplay *display,
|
|||||||
meta_warning ("Got a request to focus %s with a timestamp of 0. This "
|
meta_warning ("Got a request to focus %s with a timestamp of 0. This "
|
||||||
"shouldn't happen!\n",
|
"shouldn't happen!\n",
|
||||||
window ? window->desc : "the no_focus_window");
|
window ? window->desc : "the no_focus_window");
|
||||||
meta_print_backtrace ();
|
|
||||||
*timestamp = meta_display_get_current_time_roundtrip (display);
|
*timestamp = meta_display_get_current_time_roundtrip (display);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@@ -5486,3 +5537,18 @@ meta_display_get_leader_window (MetaDisplay *display)
|
|||||||
{
|
{
|
||||||
return display->leader_window;
|
return display->leader_window;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* meta_display_clear_mouse_mode:
|
||||||
|
* @display: a #MetaDisplay
|
||||||
|
*
|
||||||
|
* Sets the mouse-mode flag to %FALSE, which means that motion events are
|
||||||
|
* no longer ignored in mouse or sloppy focus.
|
||||||
|
* This is an internal function. It should be used only for reimplementing
|
||||||
|
* keybindings, and only in a manner compatible with core code.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
meta_display_clear_mouse_mode (MetaDisplay *display)
|
||||||
|
{
|
||||||
|
display->mouse_mode = FALSE;
|
||||||
|
}
|
||||||
|
|||||||
@@ -322,6 +322,11 @@ void
|
|||||||
meta_frame_calc_borders (MetaFrame *frame,
|
meta_frame_calc_borders (MetaFrame *frame,
|
||||||
MetaFrameBorders *borders)
|
MetaFrameBorders *borders)
|
||||||
{
|
{
|
||||||
|
/* Save on if statements and potential uninitialized values
|
||||||
|
* in callers -- if there's no frame, then zero the borders. */
|
||||||
|
if (frame == NULL)
|
||||||
|
meta_frame_borders_clear (borders);
|
||||||
|
else
|
||||||
meta_ui_get_frame_borders (frame->window->screen->ui,
|
meta_ui_get_frame_borders (frame->window->screen->ui,
|
||||||
frame->xwindow,
|
frame->xwindow,
|
||||||
borders);
|
borders);
|
||||||
|
|||||||
@@ -29,6 +29,7 @@
|
|||||||
#ifndef META_KEYBINDINGS_PRIVATE_H
|
#ifndef META_KEYBINDINGS_PRIVATE_H
|
||||||
#define META_KEYBINDINGS_PRIVATE_H
|
#define META_KEYBINDINGS_PRIVATE_H
|
||||||
|
|
||||||
|
#include <gio/gio.h>
|
||||||
#include <meta/keybindings.h>
|
#include <meta/keybindings.h>
|
||||||
|
|
||||||
struct _MetaKeyHandler
|
struct _MetaKeyHandler
|
||||||
@@ -73,7 +74,7 @@ void meta_display_process_mapping_event (MetaDisplay *display,
|
|||||||
XEvent *event);
|
XEvent *event);
|
||||||
|
|
||||||
gboolean meta_prefs_add_keybinding (const char *name,
|
gboolean meta_prefs_add_keybinding (const char *name,
|
||||||
const char *schema,
|
GSettings *settings,
|
||||||
MetaKeyBindingAction action,
|
MetaKeyBindingAction action,
|
||||||
MetaKeyBindingFlags flags);
|
MetaKeyBindingFlags flags);
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ static gboolean all_bindings_disabled = FALSE;
|
|||||||
|
|
||||||
static gboolean add_builtin_keybinding (MetaDisplay *display,
|
static gboolean add_builtin_keybinding (MetaDisplay *display,
|
||||||
const char *name,
|
const char *name,
|
||||||
const char *schema,
|
GSettings *settings,
|
||||||
MetaKeyBindingFlags flags,
|
MetaKeyBindingFlags flags,
|
||||||
MetaKeyBindingAction action,
|
MetaKeyBindingAction action,
|
||||||
MetaKeyHandlerFunc handler,
|
MetaKeyHandlerFunc handler,
|
||||||
@@ -71,18 +71,10 @@ meta_key_binding_copy (MetaKeyBinding *binding)
|
|||||||
return g_slice_dup (MetaKeyBinding, binding);
|
return g_slice_dup (MetaKeyBinding, binding);
|
||||||
}
|
}
|
||||||
|
|
||||||
GType
|
G_DEFINE_BOXED_TYPE(MetaKeyBinding,
|
||||||
meta_key_binding_get_type (void)
|
meta_key_binding,
|
||||||
{
|
meta_key_binding_copy,
|
||||||
static GType type_id = 0;
|
meta_key_binding_free)
|
||||||
|
|
||||||
if (G_UNLIKELY (type_id == 0))
|
|
||||||
type_id = g_boxed_type_register_static (g_intern_static_string ("MetaKeyBinding"),
|
|
||||||
(GBoxedCopyFunc)meta_key_binding_copy,
|
|
||||||
(GBoxedFreeFunc)meta_key_binding_free);
|
|
||||||
|
|
||||||
return type_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
meta_key_binding_get_name (MetaKeyBinding *binding)
|
meta_key_binding_get_name (MetaKeyBinding *binding)
|
||||||
@@ -546,7 +538,7 @@ display_get_keybinding (MetaDisplay *display,
|
|||||||
static gboolean
|
static gboolean
|
||||||
add_keybinding_internal (MetaDisplay *display,
|
add_keybinding_internal (MetaDisplay *display,
|
||||||
const char *name,
|
const char *name,
|
||||||
const char *schema,
|
GSettings *settings,
|
||||||
MetaKeyBindingFlags flags,
|
MetaKeyBindingFlags flags,
|
||||||
MetaKeyBindingAction action,
|
MetaKeyBindingAction action,
|
||||||
MetaKeyHandlerFunc func,
|
MetaKeyHandlerFunc func,
|
||||||
@@ -556,7 +548,7 @@ add_keybinding_internal (MetaDisplay *display,
|
|||||||
{
|
{
|
||||||
MetaKeyHandler *handler;
|
MetaKeyHandler *handler;
|
||||||
|
|
||||||
if (!meta_prefs_add_keybinding (name, schema, action, flags))
|
if (!meta_prefs_add_keybinding (name, settings, action, flags))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
handler = g_new0 (MetaKeyHandler, 1);
|
handler = g_new0 (MetaKeyHandler, 1);
|
||||||
@@ -576,13 +568,13 @@ add_keybinding_internal (MetaDisplay *display,
|
|||||||
static gboolean
|
static gboolean
|
||||||
add_builtin_keybinding (MetaDisplay *display,
|
add_builtin_keybinding (MetaDisplay *display,
|
||||||
const char *name,
|
const char *name,
|
||||||
const char *schema,
|
GSettings *settings,
|
||||||
MetaKeyBindingFlags flags,
|
MetaKeyBindingFlags flags,
|
||||||
MetaKeyBindingAction action,
|
MetaKeyBindingAction action,
|
||||||
MetaKeyHandlerFunc handler,
|
MetaKeyHandlerFunc handler,
|
||||||
int handler_arg)
|
int handler_arg)
|
||||||
{
|
{
|
||||||
return add_keybinding_internal (display, name, schema,
|
return add_keybinding_internal (display, name, settings,
|
||||||
flags | META_KEY_BINDING_BUILTIN,
|
flags | META_KEY_BINDING_BUILTIN,
|
||||||
action, handler, handler_arg, NULL, NULL);
|
action, handler, handler_arg, NULL, NULL);
|
||||||
}
|
}
|
||||||
@@ -591,7 +583,7 @@ add_builtin_keybinding (MetaDisplay *display,
|
|||||||
* meta_display_add_keybinding:
|
* meta_display_add_keybinding:
|
||||||
* @display: a #MetaDisplay
|
* @display: a #MetaDisplay
|
||||||
* @name: the binding's name
|
* @name: the binding's name
|
||||||
* @schema: the #GSettings schema where @name is stored
|
* @settings: the #GSettings object where @name is stored
|
||||||
* @flags: flags to specify binding details
|
* @flags: flags to specify binding details
|
||||||
* @handler: function to run when the keybinding is invoked
|
* @handler: function to run when the keybinding is invoked
|
||||||
* @user_data: the data to pass to @handler
|
* @user_data: the data to pass to @handler
|
||||||
@@ -617,13 +609,13 @@ add_builtin_keybinding (MetaDisplay *display,
|
|||||||
gboolean
|
gboolean
|
||||||
meta_display_add_keybinding (MetaDisplay *display,
|
meta_display_add_keybinding (MetaDisplay *display,
|
||||||
const char *name,
|
const char *name,
|
||||||
const char *schema,
|
GSettings *settings,
|
||||||
MetaKeyBindingFlags flags,
|
MetaKeyBindingFlags flags,
|
||||||
MetaKeyHandlerFunc handler,
|
MetaKeyHandlerFunc handler,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GDestroyNotify free_data)
|
GDestroyNotify free_data)
|
||||||
{
|
{
|
||||||
return add_keybinding_internal (display, name, schema, flags,
|
return add_keybinding_internal (display, name, settings, flags,
|
||||||
META_KEYBINDING_ACTION_NONE,
|
META_KEYBINDING_ACTION_NONE,
|
||||||
handler, 0, user_data, free_data);
|
handler, 0, user_data, free_data);
|
||||||
}
|
}
|
||||||
@@ -2644,18 +2636,14 @@ handle_move_to_corner_backend (MetaDisplay *display,
|
|||||||
MetaRectangle outer;
|
MetaRectangle outer;
|
||||||
int orig_x, orig_y;
|
int orig_x, orig_y;
|
||||||
int new_x, new_y;
|
int new_x, new_y;
|
||||||
int frame_width, frame_height;
|
|
||||||
|
|
||||||
meta_window_get_work_area_all_monitors (window, &work_area);
|
meta_window_get_work_area_all_monitors (window, &work_area);
|
||||||
meta_window_get_outer_rect (window, &outer);
|
meta_window_get_outer_rect (window, &outer);
|
||||||
meta_window_get_position (window, &orig_x, &orig_y);
|
meta_window_get_position (window, &orig_x, &orig_y);
|
||||||
|
|
||||||
frame_width = (window->frame ? window->frame->child_x : 0);
|
|
||||||
frame_height = (window->frame ? window->frame->child_y : 0);
|
|
||||||
|
|
||||||
if (xchange) {
|
if (xchange) {
|
||||||
new_x = work_area.x + (to_right ?
|
new_x = work_area.x + (to_right ?
|
||||||
(work_area.width + frame_width) - outer.width :
|
work_area.width - outer.width :
|
||||||
0);
|
0);
|
||||||
} else {
|
} else {
|
||||||
new_x = orig_x;
|
new_x = orig_x;
|
||||||
@@ -2663,18 +2651,16 @@ handle_move_to_corner_backend (MetaDisplay *display,
|
|||||||
|
|
||||||
if (ychange) {
|
if (ychange) {
|
||||||
new_y = work_area.y + (to_bottom ?
|
new_y = work_area.y + (to_bottom ?
|
||||||
(work_area.height + frame_height) - outer.height :
|
work_area.height - outer.height :
|
||||||
0);
|
0);
|
||||||
} else {
|
} else {
|
||||||
new_y = orig_y;
|
new_y = orig_y;
|
||||||
}
|
}
|
||||||
|
|
||||||
meta_window_move_resize (window,
|
meta_window_move_frame (window,
|
||||||
FALSE,
|
TRUE,
|
||||||
new_x,
|
new_x,
|
||||||
new_y,
|
new_y);
|
||||||
window->rect.width,
|
|
||||||
window->rect.height);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -2978,17 +2964,6 @@ handle_panel (MetaDisplay *display,
|
|||||||
meta_error_trap_pop (display);
|
meta_error_trap_pop (display);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
handle_toggle_recording (MetaDisplay *display,
|
|
||||||
MetaScreen *screen,
|
|
||||||
MetaWindow *window,
|
|
||||||
XEvent *event,
|
|
||||||
MetaKeyBinding *binding,
|
|
||||||
gpointer dummy)
|
|
||||||
{
|
|
||||||
g_signal_emit_by_name (screen, "toggle-recording");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
handle_activate_window_menu (MetaDisplay *display,
|
handle_activate_window_menu (MetaDisplay *display,
|
||||||
MetaScreen *screen,
|
MetaScreen *screen,
|
||||||
@@ -3025,6 +3000,8 @@ tab_op_from_tab_type (MetaTabList type)
|
|||||||
return META_GRAB_OP_KEYBOARD_TABBING_DOCK;
|
return META_GRAB_OP_KEYBOARD_TABBING_DOCK;
|
||||||
case META_TAB_LIST_GROUP:
|
case META_TAB_LIST_GROUP:
|
||||||
return META_GRAB_OP_KEYBOARD_TABBING_GROUP;
|
return META_GRAB_OP_KEYBOARD_TABBING_GROUP;
|
||||||
|
case META_TAB_LIST_NORMAL_ALL:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_assert_not_reached ();
|
g_assert_not_reached ();
|
||||||
@@ -3043,6 +3020,8 @@ cycle_op_from_tab_type (MetaTabList type)
|
|||||||
return META_GRAB_OP_KEYBOARD_ESCAPING_DOCK;
|
return META_GRAB_OP_KEYBOARD_ESCAPING_DOCK;
|
||||||
case META_TAB_LIST_GROUP:
|
case META_TAB_LIST_GROUP:
|
||||||
return META_GRAB_OP_KEYBOARD_ESCAPING_GROUP;
|
return META_GRAB_OP_KEYBOARD_ESCAPING_GROUP;
|
||||||
|
case META_TAB_LIST_NORMAL_ALL:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_assert_not_reached ();
|
g_assert_not_reached ();
|
||||||
@@ -3447,7 +3426,7 @@ handle_move_to_workspace (MetaDisplay *display,
|
|||||||
meta_topic (META_DEBUG_FOCUS,
|
meta_topic (META_DEBUG_FOCUS,
|
||||||
"Resetting mouse_mode to FALSE due to "
|
"Resetting mouse_mode to FALSE due to "
|
||||||
"handle_move_to_workspace() call with flip set.\n");
|
"handle_move_to_workspace() call with flip set.\n");
|
||||||
workspace->screen->display->mouse_mode = FALSE;
|
meta_display_clear_mouse_mode (workspace->screen->display);
|
||||||
meta_workspace_activate_with_focus (workspace,
|
meta_workspace_activate_with_focus (workspace,
|
||||||
window,
|
window,
|
||||||
event->xkey.time);
|
event->xkey.time);
|
||||||
@@ -3646,104 +3625,106 @@ init_builtin_key_bindings (MetaDisplay *display)
|
|||||||
{
|
{
|
||||||
#define REVERSES_AND_REVERSED (META_KEY_BINDING_REVERSES | \
|
#define REVERSES_AND_REVERSED (META_KEY_BINDING_REVERSES | \
|
||||||
META_KEY_BINDING_IS_REVERSED)
|
META_KEY_BINDING_IS_REVERSED)
|
||||||
|
GSettings *common_keybindings = g_settings_new (SCHEMA_COMMON_KEYBINDINGS);
|
||||||
|
GSettings *mutter_keybindings = g_settings_new (SCHEMA_MUTTER_KEYBINDINGS);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-to-workspace-1",
|
"switch-to-workspace-1",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_WORKSPACE_1,
|
META_KEYBINDING_ACTION_WORKSPACE_1,
|
||||||
handle_switch_to_workspace, 0);
|
handle_switch_to_workspace, 0);
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-to-workspace-2",
|
"switch-to-workspace-2",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_WORKSPACE_2,
|
META_KEYBINDING_ACTION_WORKSPACE_2,
|
||||||
handle_switch_to_workspace, 1);
|
handle_switch_to_workspace, 1);
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-to-workspace-3",
|
"switch-to-workspace-3",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_WORKSPACE_3,
|
META_KEYBINDING_ACTION_WORKSPACE_3,
|
||||||
handle_switch_to_workspace, 2);
|
handle_switch_to_workspace, 2);
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-to-workspace-4",
|
"switch-to-workspace-4",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_WORKSPACE_4,
|
META_KEYBINDING_ACTION_WORKSPACE_4,
|
||||||
handle_switch_to_workspace, 3);
|
handle_switch_to_workspace, 3);
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-to-workspace-5",
|
"switch-to-workspace-5",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_WORKSPACE_5,
|
META_KEYBINDING_ACTION_WORKSPACE_5,
|
||||||
handle_switch_to_workspace, 4);
|
handle_switch_to_workspace, 4);
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-to-workspace-6",
|
"switch-to-workspace-6",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_WORKSPACE_6,
|
META_KEYBINDING_ACTION_WORKSPACE_6,
|
||||||
handle_switch_to_workspace, 5);
|
handle_switch_to_workspace, 5);
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-to-workspace-7",
|
"switch-to-workspace-7",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_WORKSPACE_7,
|
META_KEYBINDING_ACTION_WORKSPACE_7,
|
||||||
handle_switch_to_workspace, 6);
|
handle_switch_to_workspace, 6);
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-to-workspace-8",
|
"switch-to-workspace-8",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_WORKSPACE_8,
|
META_KEYBINDING_ACTION_WORKSPACE_8,
|
||||||
handle_switch_to_workspace, 7);
|
handle_switch_to_workspace, 7);
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-to-workspace-9",
|
"switch-to-workspace-9",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_WORKSPACE_9,
|
META_KEYBINDING_ACTION_WORKSPACE_9,
|
||||||
handle_switch_to_workspace, 8);
|
handle_switch_to_workspace, 8);
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-to-workspace-10",
|
"switch-to-workspace-10",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_WORKSPACE_10,
|
META_KEYBINDING_ACTION_WORKSPACE_10,
|
||||||
handle_switch_to_workspace, 9);
|
handle_switch_to_workspace, 9);
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-to-workspace-11",
|
"switch-to-workspace-11",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_WORKSPACE_11,
|
META_KEYBINDING_ACTION_WORKSPACE_11,
|
||||||
handle_switch_to_workspace, 10);
|
handle_switch_to_workspace, 10);
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-to-workspace-12",
|
"switch-to-workspace-12",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_WORKSPACE_12,
|
META_KEYBINDING_ACTION_WORKSPACE_12,
|
||||||
handle_switch_to_workspace, 11);
|
handle_switch_to_workspace, 11);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-to-workspace-left",
|
"switch-to-workspace-left",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_WORKSPACE_LEFT,
|
META_KEYBINDING_ACTION_WORKSPACE_LEFT,
|
||||||
handle_switch_to_workspace, META_MOTION_LEFT);
|
handle_switch_to_workspace, META_MOTION_LEFT);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-to-workspace-right",
|
"switch-to-workspace-right",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_WORKSPACE_RIGHT,
|
META_KEYBINDING_ACTION_WORKSPACE_RIGHT,
|
||||||
handle_switch_to_workspace, META_MOTION_RIGHT);
|
handle_switch_to_workspace, META_MOTION_RIGHT);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-to-workspace-up",
|
"switch-to-workspace-up",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_WORKSPACE_UP,
|
META_KEYBINDING_ACTION_WORKSPACE_UP,
|
||||||
handle_switch_to_workspace, META_MOTION_UP);
|
handle_switch_to_workspace, META_MOTION_UP);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-to-workspace-down",
|
"switch-to-workspace-down",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_WORKSPACE_DOWN,
|
META_KEYBINDING_ACTION_WORKSPACE_DOWN,
|
||||||
handle_switch_to_workspace, META_MOTION_DOWN);
|
handle_switch_to_workspace, META_MOTION_DOWN);
|
||||||
@@ -3761,84 +3742,84 @@ init_builtin_key_bindings (MetaDisplay *display)
|
|||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-group",
|
"switch-group",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_REVERSES,
|
META_KEY_BINDING_REVERSES,
|
||||||
META_KEYBINDING_ACTION_SWITCH_GROUP,
|
META_KEYBINDING_ACTION_SWITCH_GROUP,
|
||||||
handle_switch, META_TAB_LIST_GROUP);
|
handle_switch, META_TAB_LIST_GROUP);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-group-backward",
|
"switch-group-backward",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
REVERSES_AND_REVERSED,
|
REVERSES_AND_REVERSED,
|
||||||
META_KEYBINDING_ACTION_SWITCH_GROUP_BACKWARD,
|
META_KEYBINDING_ACTION_SWITCH_GROUP_BACKWARD,
|
||||||
handle_switch, META_TAB_LIST_GROUP);
|
handle_switch, META_TAB_LIST_GROUP);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-windows",
|
"switch-windows",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_REVERSES,
|
META_KEY_BINDING_REVERSES,
|
||||||
META_KEYBINDING_ACTION_SWITCH_WINDOWS,
|
META_KEYBINDING_ACTION_SWITCH_WINDOWS,
|
||||||
handle_switch, META_TAB_LIST_NORMAL);
|
handle_switch, META_TAB_LIST_NORMAL);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-windows-backward",
|
"switch-windows-backward",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
REVERSES_AND_REVERSED,
|
REVERSES_AND_REVERSED,
|
||||||
META_KEYBINDING_ACTION_SWITCH_WINDOWS_BACKWARD,
|
META_KEYBINDING_ACTION_SWITCH_WINDOWS_BACKWARD,
|
||||||
handle_switch, META_TAB_LIST_NORMAL);
|
handle_switch, META_TAB_LIST_NORMAL);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-panels",
|
"switch-panels",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_REVERSES,
|
META_KEY_BINDING_REVERSES,
|
||||||
META_KEYBINDING_ACTION_SWITCH_PANELS,
|
META_KEYBINDING_ACTION_SWITCH_PANELS,
|
||||||
handle_switch, META_TAB_LIST_DOCKS);
|
handle_switch, META_TAB_LIST_DOCKS);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"switch-panels-backward",
|
"switch-panels-backward",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
REVERSES_AND_REVERSED,
|
REVERSES_AND_REVERSED,
|
||||||
META_KEYBINDING_ACTION_SWITCH_PANELS_BACKWARD,
|
META_KEYBINDING_ACTION_SWITCH_PANELS_BACKWARD,
|
||||||
handle_switch, META_TAB_LIST_DOCKS);
|
handle_switch, META_TAB_LIST_DOCKS);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"cycle-group",
|
"cycle-group",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_REVERSES,
|
META_KEY_BINDING_REVERSES,
|
||||||
META_KEYBINDING_ACTION_CYCLE_GROUP,
|
META_KEYBINDING_ACTION_CYCLE_GROUP,
|
||||||
handle_cycle, META_TAB_LIST_GROUP);
|
handle_cycle, META_TAB_LIST_GROUP);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"cycle-group-backward",
|
"cycle-group-backward",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
REVERSES_AND_REVERSED,
|
REVERSES_AND_REVERSED,
|
||||||
META_KEYBINDING_ACTION_CYCLE_GROUP_BACKWARD,
|
META_KEYBINDING_ACTION_CYCLE_GROUP_BACKWARD,
|
||||||
handle_cycle, META_TAB_LIST_GROUP);
|
handle_cycle, META_TAB_LIST_GROUP);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"cycle-windows",
|
"cycle-windows",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_REVERSES,
|
META_KEY_BINDING_REVERSES,
|
||||||
META_KEYBINDING_ACTION_CYCLE_WINDOWS,
|
META_KEYBINDING_ACTION_CYCLE_WINDOWS,
|
||||||
handle_cycle, META_TAB_LIST_NORMAL);
|
handle_cycle, META_TAB_LIST_NORMAL);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"cycle-windows-backward",
|
"cycle-windows-backward",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
REVERSES_AND_REVERSED,
|
REVERSES_AND_REVERSED,
|
||||||
META_KEYBINDING_ACTION_CYCLE_WINDOWS_BACKWARD,
|
META_KEYBINDING_ACTION_CYCLE_WINDOWS_BACKWARD,
|
||||||
handle_cycle, META_TAB_LIST_NORMAL);
|
handle_cycle, META_TAB_LIST_NORMAL);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"cycle-panels",
|
"cycle-panels",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_REVERSES,
|
META_KEY_BINDING_REVERSES,
|
||||||
META_KEYBINDING_ACTION_CYCLE_PANELS,
|
META_KEYBINDING_ACTION_CYCLE_PANELS,
|
||||||
handle_cycle, META_TAB_LIST_DOCKS);
|
handle_cycle, META_TAB_LIST_DOCKS);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"cycle-panels-backward",
|
"cycle-panels-backward",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
REVERSES_AND_REVERSED,
|
REVERSES_AND_REVERSED,
|
||||||
META_KEYBINDING_ACTION_CYCLE_PANELS_BACKWARD,
|
META_KEYBINDING_ACTION_CYCLE_PANELS_BACKWARD,
|
||||||
handle_cycle, META_TAB_LIST_DOCKS);
|
handle_cycle, META_TAB_LIST_DOCKS);
|
||||||
@@ -3851,14 +3832,14 @@ init_builtin_key_bindings (MetaDisplay *display)
|
|||||||
*/
|
*/
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"tab-popup-select",
|
"tab-popup-select",
|
||||||
SCHEMA_MUTTER_KEYBINDINGS,
|
mutter_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_TAB_POPUP_SELECT,
|
META_KEYBINDING_ACTION_TAB_POPUP_SELECT,
|
||||||
handle_tab_popup_select, 0);
|
handle_tab_popup_select, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"tab-popup-cancel",
|
"tab-popup-cancel",
|
||||||
SCHEMA_MUTTER_KEYBINDINGS,
|
mutter_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_TAB_POPUP_CANCEL,
|
META_KEYBINDING_ACTION_TAB_POPUP_CANCEL,
|
||||||
handle_tab_popup_cancel, 0);
|
handle_tab_popup_cancel, 0);
|
||||||
@@ -3867,35 +3848,28 @@ init_builtin_key_bindings (MetaDisplay *display)
|
|||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"show-desktop",
|
"show-desktop",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_SHOW_DESKTOP,
|
META_KEYBINDING_ACTION_SHOW_DESKTOP,
|
||||||
handle_show_desktop, 0);
|
handle_show_desktop, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"panel-main-menu",
|
"panel-main-menu",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_PANEL_MAIN_MENU,
|
META_KEYBINDING_ACTION_PANEL_MAIN_MENU,
|
||||||
handle_panel, META_KEYBINDING_ACTION_PANEL_MAIN_MENU);
|
handle_panel, META_KEYBINDING_ACTION_PANEL_MAIN_MENU);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"panel-run-dialog",
|
"panel-run-dialog",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_PANEL_RUN_DIALOG,
|
META_KEYBINDING_ACTION_PANEL_RUN_DIALOG,
|
||||||
handle_panel, META_KEYBINDING_ACTION_PANEL_RUN_DIALOG);
|
handle_panel, META_KEYBINDING_ACTION_PANEL_RUN_DIALOG);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
|
||||||
"toggle-recording",
|
|
||||||
SCHEMA_MUTTER_KEYBINDINGS,
|
|
||||||
META_KEY_BINDING_NONE,
|
|
||||||
META_KEYBINDING_ACTION_TOGGLE_RECORDING,
|
|
||||||
handle_toggle_recording, 0);
|
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"set-spew-mark",
|
"set-spew-mark",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_NONE,
|
META_KEY_BINDING_NONE,
|
||||||
META_KEYBINDING_ACTION_SET_SPEW_MARK,
|
META_KEYBINDING_ACTION_SET_SPEW_MARK,
|
||||||
handle_set_spew_mark, 0);
|
handle_set_spew_mark, 0);
|
||||||
@@ -3910,311 +3884,314 @@ init_builtin_key_bindings (MetaDisplay *display)
|
|||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"activate-window-menu",
|
"activate-window-menu",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_ACTIVATE_WINDOW_MENU,
|
META_KEYBINDING_ACTION_ACTIVATE_WINDOW_MENU,
|
||||||
handle_activate_window_menu, 0);
|
handle_activate_window_menu, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"toggle-fullscreen",
|
"toggle-fullscreen",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_TOGGLE_FULLSCREEN,
|
META_KEYBINDING_ACTION_TOGGLE_FULLSCREEN,
|
||||||
handle_toggle_fullscreen, 0);
|
handle_toggle_fullscreen, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"toggle-maximized",
|
"toggle-maximized",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_TOGGLE_MAXIMIZED,
|
META_KEYBINDING_ACTION_TOGGLE_MAXIMIZED,
|
||||||
handle_toggle_maximized, 0);
|
handle_toggle_maximized, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"toggle-tiled-left",
|
"toggle-tiled-left",
|
||||||
SCHEMA_MUTTER_KEYBINDINGS,
|
mutter_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_TOGGLE_TILED_LEFT,
|
META_KEYBINDING_ACTION_TOGGLE_TILED_LEFT,
|
||||||
handle_toggle_tiled, META_TILE_LEFT);
|
handle_toggle_tiled, META_TILE_LEFT);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"toggle-tiled-right",
|
"toggle-tiled-right",
|
||||||
SCHEMA_MUTTER_KEYBINDINGS,
|
mutter_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_TOGGLE_TILED_RIGHT,
|
META_KEYBINDING_ACTION_TOGGLE_TILED_RIGHT,
|
||||||
handle_toggle_tiled, META_TILE_RIGHT);
|
handle_toggle_tiled, META_TILE_RIGHT);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"toggle-above",
|
"toggle-above",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_TOGGLE_ABOVE,
|
META_KEYBINDING_ACTION_TOGGLE_ABOVE,
|
||||||
handle_toggle_above, 0);
|
handle_toggle_above, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"maximize",
|
"maximize",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MAXIMIZE,
|
META_KEYBINDING_ACTION_MAXIMIZE,
|
||||||
handle_maximize, 0);
|
handle_maximize, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"unmaximize",
|
"unmaximize",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_UNMAXIMIZE,
|
META_KEYBINDING_ACTION_UNMAXIMIZE,
|
||||||
handle_unmaximize, 0);
|
handle_unmaximize, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"toggle-shaded",
|
"toggle-shaded",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_TOGGLE_SHADED,
|
META_KEYBINDING_ACTION_TOGGLE_SHADED,
|
||||||
handle_toggle_shaded, 0);
|
handle_toggle_shaded, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"minimize",
|
"minimize",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MINIMIZE,
|
META_KEYBINDING_ACTION_MINIMIZE,
|
||||||
handle_minimize, 0);
|
handle_minimize, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"close",
|
"close",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_CLOSE,
|
META_KEYBINDING_ACTION_CLOSE,
|
||||||
handle_close, 0);
|
handle_close, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"begin-move",
|
"begin-move",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_BEGIN_MOVE,
|
META_KEYBINDING_ACTION_BEGIN_MOVE,
|
||||||
handle_begin_move, 0);
|
handle_begin_move, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"begin-resize",
|
"begin-resize",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_BEGIN_RESIZE,
|
META_KEYBINDING_ACTION_BEGIN_RESIZE,
|
||||||
handle_begin_resize, 0);
|
handle_begin_resize, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"toggle-on-all-workspaces",
|
"toggle-on-all-workspaces",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_TOGGLE_ON_ALL_WORKSPACES,
|
META_KEYBINDING_ACTION_TOGGLE_ON_ALL_WORKSPACES,
|
||||||
handle_toggle_on_all_workspaces, 0);
|
handle_toggle_on_all_workspaces, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-workspace-1",
|
"move-to-workspace-1",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_1,
|
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_1,
|
||||||
handle_move_to_workspace, 0);
|
handle_move_to_workspace, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-workspace-2",
|
"move-to-workspace-2",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_2,
|
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_2,
|
||||||
handle_move_to_workspace, 1);
|
handle_move_to_workspace, 1);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-workspace-3",
|
"move-to-workspace-3",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_3,
|
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_3,
|
||||||
handle_move_to_workspace, 2);
|
handle_move_to_workspace, 2);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-workspace-4",
|
"move-to-workspace-4",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_4,
|
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_4,
|
||||||
handle_move_to_workspace, 3);
|
handle_move_to_workspace, 3);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-workspace-5",
|
"move-to-workspace-5",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_5,
|
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_5,
|
||||||
handle_move_to_workspace, 4);
|
handle_move_to_workspace, 4);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-workspace-6",
|
"move-to-workspace-6",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_6,
|
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_6,
|
||||||
handle_move_to_workspace, 5);
|
handle_move_to_workspace, 5);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-workspace-7",
|
"move-to-workspace-7",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_7,
|
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_7,
|
||||||
handle_move_to_workspace, 6);
|
handle_move_to_workspace, 6);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-workspace-8",
|
"move-to-workspace-8",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_8,
|
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_8,
|
||||||
handle_move_to_workspace, 7);
|
handle_move_to_workspace, 7);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-workspace-9",
|
"move-to-workspace-9",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_9,
|
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_9,
|
||||||
handle_move_to_workspace, 8);
|
handle_move_to_workspace, 8);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-workspace-10",
|
"move-to-workspace-10",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_10,
|
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_10,
|
||||||
handle_move_to_workspace, 9);
|
handle_move_to_workspace, 9);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-workspace-11",
|
"move-to-workspace-11",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_11,
|
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_11,
|
||||||
handle_move_to_workspace, 10);
|
handle_move_to_workspace, 10);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-workspace-12",
|
"move-to-workspace-12",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_12,
|
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_12,
|
||||||
handle_move_to_workspace, 11);
|
handle_move_to_workspace, 11);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-workspace-left",
|
"move-to-workspace-left",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_LEFT,
|
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_LEFT,
|
||||||
handle_move_to_workspace, META_MOTION_LEFT);
|
handle_move_to_workspace, META_MOTION_LEFT);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-workspace-right",
|
"move-to-workspace-right",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_RIGHT,
|
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_RIGHT,
|
||||||
handle_move_to_workspace, META_MOTION_RIGHT);
|
handle_move_to_workspace, META_MOTION_RIGHT);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-workspace-up",
|
"move-to-workspace-up",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_UP,
|
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_UP,
|
||||||
handle_move_to_workspace, META_MOTION_UP);
|
handle_move_to_workspace, META_MOTION_UP);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-workspace-down",
|
"move-to-workspace-down",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_DOWN,
|
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_DOWN,
|
||||||
handle_move_to_workspace, META_MOTION_DOWN);
|
handle_move_to_workspace, META_MOTION_DOWN);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"raise-or-lower",
|
"raise-or-lower",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_RAISE_OR_LOWER,
|
META_KEYBINDING_ACTION_RAISE_OR_LOWER,
|
||||||
handle_raise_or_lower, 0);
|
handle_raise_or_lower, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"raise",
|
"raise",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_RAISE,
|
META_KEYBINDING_ACTION_RAISE,
|
||||||
handle_raise, 0);
|
handle_raise, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"lower",
|
"lower",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_LOWER,
|
META_KEYBINDING_ACTION_LOWER,
|
||||||
handle_lower, 0);
|
handle_lower, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"maximize-vertically",
|
"maximize-vertically",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MAXIMIZE_VERTICALLY,
|
META_KEYBINDING_ACTION_MAXIMIZE_VERTICALLY,
|
||||||
handle_maximize_vertically, 0);
|
handle_maximize_vertically, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"maximize-horizontally",
|
"maximize-horizontally",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MAXIMIZE_HORIZONTALLY,
|
META_KEYBINDING_ACTION_MAXIMIZE_HORIZONTALLY,
|
||||||
handle_maximize_horizontally, 0);
|
handle_maximize_horizontally, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-corner-nw",
|
"move-to-corner-nw",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_CORNER_NW,
|
META_KEYBINDING_ACTION_MOVE_TO_CORNER_NW,
|
||||||
handle_move_to_corner_nw, 0);
|
handle_move_to_corner_nw, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-corner-ne",
|
"move-to-corner-ne",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_CORNER_NE,
|
META_KEYBINDING_ACTION_MOVE_TO_CORNER_NE,
|
||||||
handle_move_to_corner_ne, 0);
|
handle_move_to_corner_ne, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-corner-sw",
|
"move-to-corner-sw",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_CORNER_SW,
|
META_KEYBINDING_ACTION_MOVE_TO_CORNER_SW,
|
||||||
handle_move_to_corner_sw, 0);
|
handle_move_to_corner_sw, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-corner-se",
|
"move-to-corner-se",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_CORNER_SE,
|
META_KEYBINDING_ACTION_MOVE_TO_CORNER_SE,
|
||||||
handle_move_to_corner_se, 0);
|
handle_move_to_corner_se, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-side-n",
|
"move-to-side-n",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_SIDE_N,
|
META_KEYBINDING_ACTION_MOVE_TO_SIDE_N,
|
||||||
handle_move_to_side_n, 0);
|
handle_move_to_side_n, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-side-s",
|
"move-to-side-s",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_SIDE_S,
|
META_KEYBINDING_ACTION_MOVE_TO_SIDE_S,
|
||||||
handle_move_to_side_s, 0);
|
handle_move_to_side_s, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-side-e",
|
"move-to-side-e",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_SIDE_E,
|
META_KEYBINDING_ACTION_MOVE_TO_SIDE_E,
|
||||||
handle_move_to_side_e, 0);
|
handle_move_to_side_e, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-side-w",
|
"move-to-side-w",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_SIDE_W,
|
META_KEYBINDING_ACTION_MOVE_TO_SIDE_W,
|
||||||
handle_move_to_side_w, 0);
|
handle_move_to_side_w, 0);
|
||||||
|
|
||||||
add_builtin_keybinding (display,
|
add_builtin_keybinding (display,
|
||||||
"move-to-center",
|
"move-to-center",
|
||||||
SCHEMA_COMMON_KEYBINDINGS,
|
common_keybindings,
|
||||||
META_KEY_BINDING_PER_WINDOW,
|
META_KEY_BINDING_PER_WINDOW,
|
||||||
META_KEYBINDING_ACTION_MOVE_TO_CENTER,
|
META_KEYBINDING_ACTION_MOVE_TO_CENTER,
|
||||||
handle_move_to_center, 0);
|
handle_move_to_center, 0);
|
||||||
|
|
||||||
|
g_object_unref (common_keybindings);
|
||||||
|
g_object_unref (mutter_keybindings);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
@@ -23,18 +23,19 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file
|
* SECTION:main
|
||||||
* Program startup.
|
* @short_description: Program startup.
|
||||||
|
*
|
||||||
* Functions which parse the command-line arguments, create the display,
|
* Functions which parse the command-line arguments, create the display,
|
||||||
* kick everything off and then close down Mutter when it's time to go.
|
* kick everything off and then close down Mutter when it's time to go.
|
||||||
*/
|
*
|
||||||
|
*
|
||||||
/**
|
*
|
||||||
* \mainpage
|
|
||||||
* Mutter - a boring window manager for the adult in you
|
* Mutter - a boring window manager for the adult in you
|
||||||
*
|
*
|
||||||
* Many window managers are like Marshmallow Froot Loops; Mutter
|
* Many window managers are like Marshmallow Froot Loops; Mutter
|
||||||
* is like Cheerios.
|
* is like Frosted Flakes: it's still plain old corn, but dusted
|
||||||
|
* with some sugar.
|
||||||
*
|
*
|
||||||
* The best way to get a handle on how the whole system fits together
|
* The best way to get a handle on how the whole system fits together
|
||||||
* is discussed in doc/code-overview.txt; if you're looking for functions
|
* is discussed in doc/code-overview.txt; if you're looking for functions
|
||||||
@@ -59,7 +60,7 @@
|
|||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <wait.h>
|
#include <sys/wait.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
@@ -77,12 +78,12 @@
|
|||||||
#include <girepository.h>
|
#include <girepository.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* The exit code we'll return to our parent process when we eventually die.
|
* The exit code we'll return to our parent process when we eventually die.
|
||||||
*/
|
*/
|
||||||
static MetaExitCode meta_exit_code = META_EXIT_SUCCESS;
|
static MetaExitCode meta_exit_code = META_EXIT_SUCCESS;
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* Handle on the main loop, so that we have an easy way of shutting Mutter
|
* Handle on the main loop, so that we have an easy way of shutting Mutter
|
||||||
* down.
|
* down.
|
||||||
*/
|
*/
|
||||||
@@ -92,14 +93,15 @@ static void prefs_changed_callback (MetaPreference pref,
|
|||||||
gpointer data);
|
gpointer data);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* log_handler:
|
||||||
|
* @log_domain: the domain the error occurred in (we ignore this)
|
||||||
|
* @log_level: the log level so that we can filter out less
|
||||||
|
* important messages
|
||||||
|
* @message: the message to log
|
||||||
|
* @user_data: arbitrary data (we ignore this)
|
||||||
|
*
|
||||||
* Prints log messages. If Mutter was compiled with backtrace support,
|
* Prints log messages. If Mutter was compiled with backtrace support,
|
||||||
* also prints a backtrace (see meta_print_backtrace()).
|
* also prints a backtrace (see meta_print_backtrace()).
|
||||||
*
|
|
||||||
* \param log_domain the domain the error occurred in (we ignore this)
|
|
||||||
* \param log_level the log level so that we can filter out less
|
|
||||||
* important messages
|
|
||||||
* \param message the message to log
|
|
||||||
* \param user_data arbitrary data (we ignore this)
|
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
log_handler (const gchar *log_domain,
|
log_handler (const gchar *log_domain,
|
||||||
@@ -108,14 +110,15 @@ log_handler (const gchar *log_domain,
|
|||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
meta_warning ("Log level %d: %s\n", log_level, message);
|
meta_warning ("Log level %d: %s\n", log_level, message);
|
||||||
meta_print_backtrace ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_print_compilation_info:
|
||||||
|
*
|
||||||
* Prints a list of which configure script options were used to
|
* Prints a list of which configure script options were used to
|
||||||
* build this copy of Mutter. This is actually always called
|
* build this copy of Mutter. This is actually always called
|
||||||
* on startup, but it's all no-op unless we're in verbose mode
|
* on startup, but it's all no-op unless we're in verbose mode
|
||||||
* (see meta_set_verbose).
|
* (see meta_set_verbose()).
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
meta_print_compilation_info (void)
|
meta_print_compilation_info (void)
|
||||||
@@ -125,21 +128,6 @@ meta_print_compilation_info (void)
|
|||||||
#else
|
#else
|
||||||
meta_verbose ("Compiled without shape extension\n");
|
meta_verbose ("Compiled without shape extension\n");
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_XINERAMA
|
|
||||||
meta_topic (META_DEBUG_XINERAMA, "Compiled with Xinerama extension\n");
|
|
||||||
#else
|
|
||||||
meta_topic (META_DEBUG_XINERAMA, "Compiled without Xinerama extension\n");
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_XFREE_XINERAMA
|
|
||||||
meta_topic (META_DEBUG_XINERAMA, " (using XFree86 Xinerama)\n");
|
|
||||||
#else
|
|
||||||
meta_topic (META_DEBUG_XINERAMA, " (not using XFree86 Xinerama)\n");
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_SOLARIS_XINERAMA
|
|
||||||
meta_topic (META_DEBUG_XINERAMA, " (using Solaris Xinerama)\n");
|
|
||||||
#else
|
|
||||||
meta_topic (META_DEBUG_XINERAMA, " (not using Solaris Xinerama)\n");
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_XSYNC
|
#ifdef HAVE_XSYNC
|
||||||
meta_verbose ("Compiled with sync extension\n");
|
meta_verbose ("Compiled with sync extension\n");
|
||||||
#else
|
#else
|
||||||
@@ -158,12 +146,14 @@ meta_print_compilation_info (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_print_self_identity:
|
||||||
|
*
|
||||||
* Prints the version number, the current timestamp (not the
|
* Prints the version number, the current timestamp (not the
|
||||||
* build date), the locale, the character encoding, and a list
|
* build date), the locale, the character encoding, and a list
|
||||||
* of configure script options that were used to build this
|
* of configure script options that were used to build this
|
||||||
* copy of Mutter. This is actually always called
|
* copy of Mutter. This is actually always called
|
||||||
* on startup, but it's all no-op unless we're in verbose mode
|
* on startup, but it's all no-op unless we're in verbose mode
|
||||||
* (see meta_set_verbose).
|
* (see meta_set_verbose()).
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
meta_print_self_identity (void)
|
meta_print_self_identity (void)
|
||||||
@@ -188,7 +178,7 @@ meta_print_self_identity (void)
|
|||||||
meta_print_compilation_info ();
|
meta_print_compilation_info ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* The set of possible options that can be set on Mutter's
|
* The set of possible options that can be set on Mutter's
|
||||||
* command line.
|
* command line.
|
||||||
*/
|
*/
|
||||||
@@ -207,7 +197,7 @@ static GOptionEntry meta_options[] = {
|
|||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"replace", 0, 0, G_OPTION_ARG_NONE,
|
"replace", 'r', 0, G_OPTION_ARG_NONE,
|
||||||
&opt_replace_wm,
|
&opt_replace_wm,
|
||||||
N_("Replace the running window manager"),
|
N_("Replace the running window manager"),
|
||||||
NULL
|
NULL
|
||||||
@@ -327,10 +317,12 @@ meta_clutter_init (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_select_display:
|
||||||
|
*
|
||||||
* Selects which display Mutter should use. It first tries to use
|
* Selects which display Mutter should use. It first tries to use
|
||||||
* display_name as the display. If display_name is NULL then
|
* @display_name as the display. If @display_name is %NULL then
|
||||||
* try to use the environment variable MUTTER_DISPLAY. If that
|
* try to use the environment variable MUTTER_DISPLAY. If that
|
||||||
* also is NULL, use the default - :0.0
|
* also is %NULL, use the default - :0.0
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
meta_select_display (gchar *display_name)
|
meta_select_display (gchar *display_name)
|
||||||
@@ -381,7 +373,7 @@ on_sigterm (void)
|
|||||||
* meta_init: (skip)
|
* meta_init: (skip)
|
||||||
*
|
*
|
||||||
* Initialize mutter. Call this after meta_get_option_context() and
|
* Initialize mutter. Call this after meta_get_option_context() and
|
||||||
* meta_plugin_type_register(), and before meta_run().
|
* meta_plugin_manager_set_plugin_type(), and before meta_run().
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
meta_init (void)
|
meta_init (void)
|
||||||
@@ -390,8 +382,6 @@ meta_init (void)
|
|||||||
sigset_t empty_mask;
|
sigset_t empty_mask;
|
||||||
GIOChannel *channel;
|
GIOChannel *channel;
|
||||||
|
|
||||||
g_type_init ();
|
|
||||||
|
|
||||||
sigemptyset (&empty_mask);
|
sigemptyset (&empty_mask);
|
||||||
act.sa_handler = SIG_IGN;
|
act.sa_handler = SIG_IGN;
|
||||||
act.sa_mask = empty_mask;
|
act.sa_mask = empty_mask;
|
||||||
@@ -560,13 +550,14 @@ meta_run (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_quit:
|
||||||
|
* @code: The success or failure code to return to the calling process.
|
||||||
|
*
|
||||||
* Stops Mutter. This tells the event loop to stop processing; it is
|
* Stops Mutter. This tells the event loop to stop processing; it is
|
||||||
* rather dangerous to use this because this will leave the user with
|
* rather dangerous to use this because this will leave the user with
|
||||||
* no window manager. We generally do this only if, for example, the
|
* no window manager. We generally do this only if, for example, the
|
||||||
* session manager asks us to; we assume the session manager knows
|
* session manager asks us to; we assume the session manager knows
|
||||||
* what it's talking about.
|
* what it's talking about.
|
||||||
*
|
|
||||||
* \param code The success or failure code to return to the calling process.
|
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
meta_quit (MetaExitCode code)
|
meta_quit (MetaExitCode code)
|
||||||
@@ -579,13 +570,14 @@ meta_quit (MetaExitCode code)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* prefs_changed_callback:
|
||||||
|
* @pref Which preference has changed
|
||||||
|
* @data Arbitrary data (which we ignore)
|
||||||
|
*
|
||||||
* Called on pref changes. (One of several functions of its kind and purpose.)
|
* Called on pref changes. (One of several functions of its kind and purpose.)
|
||||||
*
|
*
|
||||||
* \bug Why are these particular prefs handled in main.c and not others?
|
* FIXME: Why are these particular prefs handled in main.c and not others?
|
||||||
* Should they be?
|
* Should they be?
|
||||||
*
|
|
||||||
* \param pref Which preference has changed
|
|
||||||
* \param data Arbitrary data (which we ignore)
|
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
prefs_changed_callback (MetaPreference pref,
|
prefs_changed_callback (MetaPreference pref,
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ print_version (const gchar *option_name,
|
|||||||
exit (0);
|
exit (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gchar *mutter_plugins;
|
static gchar *plugin = "default";
|
||||||
|
|
||||||
GOptionEntry mutter_options[] = {
|
GOptionEntry mutter_options[] = {
|
||||||
{
|
{
|
||||||
@@ -55,10 +55,10 @@ GOptionEntry mutter_options[] = {
|
|||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"mutter-plugins", 0, 0, G_OPTION_ARG_STRING,
|
"mutter-plugin", 0, 0, G_OPTION_ARG_STRING,
|
||||||
&mutter_plugins,
|
&plugin,
|
||||||
N_("Comma-separated list of compositor plugins"),
|
N_("Mutter plugin to use"),
|
||||||
"PLUGINS"
|
"PLUGIN",
|
||||||
},
|
},
|
||||||
{ NULL }
|
{ NULL }
|
||||||
};
|
};
|
||||||
@@ -69,6 +69,8 @@ main (int argc, char **argv)
|
|||||||
GOptionContext *ctx;
|
GOptionContext *ctx;
|
||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
|
|
||||||
|
g_type_init ();
|
||||||
|
|
||||||
ctx = meta_get_option_context ();
|
ctx = meta_get_option_context ();
|
||||||
g_option_context_add_main_entries (ctx, mutter_options, GETTEXT_PACKAGE);
|
g_option_context_add_main_entries (ctx, mutter_options, GETTEXT_PACKAGE);
|
||||||
if (!g_option_context_parse (ctx, &argc, &argv, &error))
|
if (!g_option_context_parse (ctx, &argc, &argv, &error))
|
||||||
@@ -77,20 +79,8 @@ main (int argc, char **argv)
|
|||||||
exit (1);
|
exit (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mutter_plugins)
|
if (plugin)
|
||||||
{
|
meta_plugin_manager_load (plugin);
|
||||||
MetaPluginManager *mgr;
|
|
||||||
char **plugins = g_strsplit (mutter_plugins, ",", -1);
|
|
||||||
char **plugin;
|
|
||||||
|
|
||||||
mgr = meta_plugin_manager_get_default ();
|
|
||||||
for (plugin = plugins; *plugin; plugin++)
|
|
||||||
{
|
|
||||||
g_strstrip (*plugin);
|
|
||||||
meta_plugin_manager_load (mgr, *plugin);
|
|
||||||
}
|
|
||||||
g_strfreev (plugins);
|
|
||||||
}
|
|
||||||
|
|
||||||
meta_init ();
|
meta_init ();
|
||||||
return meta_run ();
|
return meta_run ();
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ find_next_cascade (MetaWindow *window,
|
|||||||
int window_width, window_height;
|
int window_width, window_height;
|
||||||
int cascade_stage;
|
int cascade_stage;
|
||||||
MetaRectangle work_area;
|
MetaRectangle work_area;
|
||||||
const MetaMonitorInfo* current;
|
int current;
|
||||||
|
|
||||||
sorted = g_list_copy (windows);
|
sorted = g_list_copy (windows);
|
||||||
sorted = g_list_sort (sorted, northwestcmp);
|
sorted = g_list_sort (sorted, northwestcmp);
|
||||||
@@ -137,7 +137,7 @@ find_next_cascade (MetaWindow *window,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
current = meta_screen_get_current_monitor (window->screen);
|
current = meta_screen_get_current_monitor (window->screen);
|
||||||
meta_window_get_work_area_for_monitor (window, current->number, &work_area);
|
meta_window_get_work_area_for_monitor (window, current, &work_area);
|
||||||
|
|
||||||
cascade_x = MAX (0, work_area.x);
|
cascade_x = MAX (0, work_area.x);
|
||||||
cascade_y = MAX (0, work_area.y);
|
cascade_y = MAX (0, work_area.y);
|
||||||
@@ -815,7 +815,7 @@ meta_window_place (MetaWindow *window,
|
|||||||
int w, h;
|
int w, h;
|
||||||
|
|
||||||
/* Warning, this function is a round trip! */
|
/* Warning, this function is a round trip! */
|
||||||
xi = meta_screen_get_current_monitor (window->screen);
|
xi = meta_screen_get_current_monitor_info (window->screen);
|
||||||
|
|
||||||
w = xi->rect.width;
|
w = xi->rect.width;
|
||||||
h = xi->rect.height;
|
h = xi->rect.height;
|
||||||
@@ -860,7 +860,7 @@ meta_window_place (MetaWindow *window,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Warning, this is a round trip! */
|
/* Warning, this is a round trip! */
|
||||||
xi = meta_screen_get_current_monitor (window->screen);
|
xi = meta_screen_get_current_monitor_info (window->screen);
|
||||||
|
|
||||||
/* "Origin" placement algorithm */
|
/* "Origin" placement algorithm */
|
||||||
x = xi->rect.x;
|
x = xi->rect.x;
|
||||||
|
|||||||
138
src/core/prefs.c
138
src/core/prefs.c
@@ -53,7 +53,6 @@
|
|||||||
#define KEY_GNOME_CURSOR_SIZE "cursor-size"
|
#define KEY_GNOME_CURSOR_SIZE "cursor-size"
|
||||||
|
|
||||||
#define KEY_OVERLAY_KEY "overlay-key"
|
#define KEY_OVERLAY_KEY "overlay-key"
|
||||||
#define KEY_LIVE_HIDDEN_WINDOWS "live-hidden-windows"
|
|
||||||
#define KEY_WORKSPACES_ONLY_ON_PRIMARY "workspaces-only-on-primary"
|
#define KEY_WORKSPACES_ONLY_ON_PRIMARY "workspaces-only-on-primary"
|
||||||
#define KEY_NO_TAB_POPUP "no-tab-popup"
|
#define KEY_NO_TAB_POPUP "no-tab-popup"
|
||||||
|
|
||||||
@@ -82,6 +81,7 @@ static int num_workspaces = 4;
|
|||||||
static GDesktopTitlebarAction action_double_click_titlebar = G_DESKTOP_TITLEBAR_ACTION_TOGGLE_MAXIMIZE;
|
static GDesktopTitlebarAction action_double_click_titlebar = G_DESKTOP_TITLEBAR_ACTION_TOGGLE_MAXIMIZE;
|
||||||
static GDesktopTitlebarAction action_middle_click_titlebar = G_DESKTOP_TITLEBAR_ACTION_LOWER;
|
static GDesktopTitlebarAction action_middle_click_titlebar = G_DESKTOP_TITLEBAR_ACTION_LOWER;
|
||||||
static GDesktopTitlebarAction action_right_click_titlebar = G_DESKTOP_TITLEBAR_ACTION_MENU;
|
static GDesktopTitlebarAction action_right_click_titlebar = G_DESKTOP_TITLEBAR_ACTION_MENU;
|
||||||
|
static gboolean dynamic_workspaces = FALSE;
|
||||||
static gboolean application_based = FALSE;
|
static gboolean application_based = FALSE;
|
||||||
static gboolean disable_workarounds = FALSE;
|
static gboolean disable_workarounds = FALSE;
|
||||||
static gboolean auto_raise = FALSE;
|
static gboolean auto_raise = FALSE;
|
||||||
@@ -96,6 +96,7 @@ static int draggable_border_width = 10;
|
|||||||
static gboolean resize_with_right_button = FALSE;
|
static gboolean resize_with_right_button = FALSE;
|
||||||
static gboolean edge_tiling = FALSE;
|
static gboolean edge_tiling = FALSE;
|
||||||
static gboolean force_fullscreen = TRUE;
|
static gboolean force_fullscreen = TRUE;
|
||||||
|
static gboolean ignore_request_hide_titlebar = FALSE;
|
||||||
|
|
||||||
static GDesktopVisualBellType visual_bell_type = G_DESKTOP_VISUAL_BELL_FULLSCREEN_FLASH;
|
static GDesktopVisualBellType visual_bell_type = G_DESKTOP_VISUAL_BELL_FULLSCREEN_FLASH;
|
||||||
static MetaButtonLayout button_layout;
|
static MetaButtonLayout button_layout;
|
||||||
@@ -103,7 +104,6 @@ static MetaButtonLayout button_layout;
|
|||||||
/* NULL-terminated array */
|
/* NULL-terminated array */
|
||||||
static char **workspace_names = NULL;
|
static char **workspace_names = NULL;
|
||||||
|
|
||||||
static gboolean live_hidden_windows = FALSE;
|
|
||||||
static gboolean workspaces_only_on_primary = FALSE;
|
static gboolean workspaces_only_on_primary = FALSE;
|
||||||
|
|
||||||
static gboolean no_tab_popup = FALSE;
|
static gboolean no_tab_popup = FALSE;
|
||||||
@@ -164,36 +164,30 @@ typedef struct
|
|||||||
gboolean *target;
|
gboolean *target;
|
||||||
} MetaBoolPreference;
|
} MetaBoolPreference;
|
||||||
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
MetaBasePreference base;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A handler. Many of the string preferences aren't stored as
|
* MetaStringPreference:
|
||||||
* strings and need parsing; others of them have default values
|
* @handler: (allow-none): A handler. Many of the string preferences
|
||||||
* which can't be solved in the general case. If you include a
|
* aren't stored as strings and need parsing; others of them have
|
||||||
* function pointer here, it will be called instead of writing
|
* default values which can't be solved in the general case. If you
|
||||||
|
* include a function pointer here, it will be called instead of writing
|
||||||
* the string value out to the target variable.
|
* the string value out to the target variable.
|
||||||
*
|
|
||||||
* The function will be passed to g_settings_get_mapped() and should
|
* The function will be passed to g_settings_get_mapped() and should
|
||||||
* return %TRUE if the mapping was successful and %FALSE otherwise.
|
* return %TRUE if the mapping was successful and %FALSE otherwise.
|
||||||
* In the former case the function is expected to handle the result
|
* In the former case the function is expected to handle the result
|
||||||
* of the conversion itself and call queue_changed() appropriately;
|
* of the conversion itself and call queue_changed() appropriately;
|
||||||
* in particular the @result (out) parameter as returned by
|
* in particular the @result (out) parameter as returned by
|
||||||
* g_settings_get_mapped() will be ignored in all cases.
|
* g_settings_get_mapped() will be ignored in all cases.
|
||||||
*
|
* This may be %NULL. If it is, see "target", below.
|
||||||
* This may be NULL. If it is, see "target", below.
|
* @target: (allow-none): Where to write the incoming string.
|
||||||
|
* This must be %NULL if the handler is non-%NULL.
|
||||||
|
* If the incoming string is %NULL, no change will be made.
|
||||||
*/
|
*/
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
MetaBasePreference base;
|
||||||
GSettingsGetMapping handler;
|
GSettingsGetMapping handler;
|
||||||
|
|
||||||
/**
|
|
||||||
* Where to write the incoming string.
|
|
||||||
*
|
|
||||||
* This must be NULL if the handler is non-NULL.
|
|
||||||
* If the incoming string is NULL, no change will be made.
|
|
||||||
*/
|
|
||||||
gchar **target;
|
gchar **target;
|
||||||
|
|
||||||
} MetaStringPreference;
|
} MetaStringPreference;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
@@ -280,6 +274,13 @@ static MetaBoolPreference preferences_bool[] =
|
|||||||
},
|
},
|
||||||
&use_system_font,
|
&use_system_font,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
{ "dynamic-workspaces",
|
||||||
|
SCHEMA_MUTTER,
|
||||||
|
META_PREF_DYNAMIC_WORKSPACES,
|
||||||
|
},
|
||||||
|
&dynamic_workspaces,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
{ "application-based",
|
{ "application-based",
|
||||||
SCHEMA_GENERAL,
|
SCHEMA_GENERAL,
|
||||||
@@ -343,13 +344,6 @@ static MetaBoolPreference preferences_bool[] =
|
|||||||
},
|
},
|
||||||
&edge_tiling,
|
&edge_tiling,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
{ KEY_LIVE_HIDDEN_WINDOWS,
|
|
||||||
SCHEMA_MUTTER,
|
|
||||||
META_PREF_LIVE_HIDDEN_WINDOWS,
|
|
||||||
},
|
|
||||||
&live_hidden_windows,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
{ "workspaces-only-on-primary",
|
{ "workspaces-only-on-primary",
|
||||||
SCHEMA_MUTTER,
|
SCHEMA_MUTTER,
|
||||||
@@ -923,9 +917,9 @@ do_override (char *key,
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* meta_prefs_override_preference_schema
|
* meta_prefs_override_preference_schema:
|
||||||
* @key: the preference name
|
* @key: the preference name
|
||||||
* @schema: new schema for preference %key
|
* @schema: new schema for preference @key
|
||||||
*
|
*
|
||||||
* Specify a schema whose keys are used to override the standard Metacity
|
* Specify a schema whose keys are used to override the standard Metacity
|
||||||
* keys. This might be used if a plugin expected a different value for
|
* keys. This might be used if a plugin expected a different value for
|
||||||
@@ -1054,6 +1048,8 @@ bindings_changed (GSettings *settings,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* maybe_give_disable_workaround_warning:
|
||||||
|
*
|
||||||
* Special case: give a warning the first time disable_workarounds
|
* Special case: give a warning the first time disable_workarounds
|
||||||
* is turned on.
|
* is turned on.
|
||||||
*/
|
*/
|
||||||
@@ -1498,6 +1494,12 @@ meta_prefs_get_num_workspaces (void)
|
|||||||
return num_workspaces;
|
return num_workspaces;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
meta_prefs_get_dynamic_workspaces (void)
|
||||||
|
{
|
||||||
|
return dynamic_workspaces;
|
||||||
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
meta_prefs_get_application_based (void)
|
meta_prefs_get_application_based (void)
|
||||||
{
|
{
|
||||||
@@ -1603,9 +1605,6 @@ meta_preference_to_string (MetaPreference pref)
|
|||||||
case META_PREF_FORCE_FULLSCREEN:
|
case META_PREF_FORCE_FULLSCREEN:
|
||||||
return "FORCE_FULLSCREEN";
|
return "FORCE_FULLSCREEN";
|
||||||
|
|
||||||
case META_PREF_LIVE_HIDDEN_WINDOWS:
|
|
||||||
return "LIVE_HIDDEN_WINDOWS";
|
|
||||||
|
|
||||||
case META_PREF_WORKSPACES_ONLY_ON_PRIMARY:
|
case META_PREF_WORKSPACES_ONLY_ON_PRIMARY:
|
||||||
return "WORKSPACES_ONLY_ON_PRIMARY";
|
return "WORKSPACES_ONLY_ON_PRIMARY";
|
||||||
|
|
||||||
@@ -1614,6 +1613,9 @@ meta_preference_to_string (MetaPreference pref)
|
|||||||
|
|
||||||
case META_PREF_DRAGGABLE_BORDER_WIDTH:
|
case META_PREF_DRAGGABLE_BORDER_WIDTH:
|
||||||
return "DRAGGABLE_BORDER_WIDTH";
|
return "DRAGGABLE_BORDER_WIDTH";
|
||||||
|
|
||||||
|
case META_PREF_DYNAMIC_WORKSPACES:
|
||||||
|
return "DYNAMIC_WORKSPACES";
|
||||||
}
|
}
|
||||||
|
|
||||||
return "(unknown)";
|
return "(unknown)";
|
||||||
@@ -1643,7 +1645,7 @@ meta_key_pref_free (MetaKeyPref *pref)
|
|||||||
update_binding (pref, NULL);
|
update_binding (pref, NULL);
|
||||||
|
|
||||||
g_free (pref->name);
|
g_free (pref->name);
|
||||||
g_free (pref->schema);
|
g_object_unref (pref->settings);
|
||||||
|
|
||||||
g_free (pref);
|
g_free (pref);
|
||||||
}
|
}
|
||||||
@@ -1903,13 +1905,13 @@ meta_prefs_get_visual_bell_type (void)
|
|||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
meta_prefs_add_keybinding (const char *name,
|
meta_prefs_add_keybinding (const char *name,
|
||||||
const char *schema,
|
GSettings *settings,
|
||||||
MetaKeyBindingAction action,
|
MetaKeyBindingAction action,
|
||||||
MetaKeyBindingFlags flags)
|
MetaKeyBindingFlags flags)
|
||||||
{
|
{
|
||||||
MetaKeyPref *pref;
|
MetaKeyPref *pref;
|
||||||
GSettings *settings;
|
|
||||||
char **strokes;
|
char **strokes;
|
||||||
|
guint id;
|
||||||
|
|
||||||
if (g_hash_table_lookup (key_bindings, name))
|
if (g_hash_table_lookup (key_bindings, name))
|
||||||
{
|
{
|
||||||
@@ -1917,19 +1919,9 @@ meta_prefs_add_keybinding (const char *name,
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
settings = SETTINGS (schema);
|
|
||||||
if (settings == NULL)
|
|
||||||
{
|
|
||||||
settings = g_settings_new (schema);
|
|
||||||
if ((flags & META_KEY_BINDING_BUILTIN) != 0)
|
|
||||||
g_signal_connect (settings, "changed",
|
|
||||||
G_CALLBACK (bindings_changed), NULL);
|
|
||||||
g_hash_table_insert (settings_schemas, g_strdup (schema), settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
pref = g_new0 (MetaKeyPref, 1);
|
pref = g_new0 (MetaKeyPref, 1);
|
||||||
pref->name = g_strdup (name);
|
pref->name = g_strdup (name);
|
||||||
pref->schema = g_strdup (schema);
|
pref->settings = g_object_ref (settings);
|
||||||
pref->action = action;
|
pref->action = action;
|
||||||
pref->bindings = NULL;
|
pref->bindings = NULL;
|
||||||
pref->add_shift = (flags & META_KEY_BINDING_REVERSES) != 0;
|
pref->add_shift = (flags & META_KEY_BINDING_REVERSES) != 0;
|
||||||
@@ -1942,9 +1934,17 @@ meta_prefs_add_keybinding (const char *name,
|
|||||||
|
|
||||||
g_hash_table_insert (key_bindings, g_strdup (name), pref);
|
g_hash_table_insert (key_bindings, g_strdup (name), pref);
|
||||||
|
|
||||||
if (!pref->builtin)
|
if (pref->builtin)
|
||||||
|
{
|
||||||
|
if (g_object_get_data (G_OBJECT (settings), "changed-signal") == NULL)
|
||||||
|
{
|
||||||
|
id = g_signal_connect (settings, "changed",
|
||||||
|
G_CALLBACK (bindings_changed), NULL);
|
||||||
|
g_object_set_data (G_OBJECT (settings), "changed-signal", GUINT_TO_POINTER (id));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
guint id;
|
|
||||||
char *changed_signal = g_strdup_printf ("changed::%s", name);
|
char *changed_signal = g_strdup_printf ("changed::%s", name);
|
||||||
id = g_signal_connect (settings, changed_signal,
|
id = g_signal_connect (settings, changed_signal,
|
||||||
G_CALLBACK (bindings_changed), NULL);
|
G_CALLBACK (bindings_changed), NULL);
|
||||||
@@ -1962,7 +1962,6 @@ gboolean
|
|||||||
meta_prefs_remove_keybinding (const char *name)
|
meta_prefs_remove_keybinding (const char *name)
|
||||||
{
|
{
|
||||||
MetaKeyPref *pref;
|
MetaKeyPref *pref;
|
||||||
GSettings *settings;
|
|
||||||
guint id;
|
guint id;
|
||||||
|
|
||||||
pref = g_hash_table_lookup (key_bindings, name);
|
pref = g_hash_table_lookup (key_bindings, name);
|
||||||
@@ -1978,9 +1977,8 @@ meta_prefs_remove_keybinding (const char *name)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
settings = SETTINGS (pref->schema);
|
id = GPOINTER_TO_UINT (g_object_steal_data (G_OBJECT (pref->settings), name));
|
||||||
id = GPOINTER_TO_UINT (g_object_steal_data (G_OBJECT (settings), name));
|
g_signal_handler_disconnect (pref->settings, id);
|
||||||
g_signal_handler_disconnect (settings, id);
|
|
||||||
|
|
||||||
g_hash_table_remove (key_bindings, name);
|
g_hash_table_remove (key_bindings, name);
|
||||||
|
|
||||||
@@ -1991,7 +1989,8 @@ meta_prefs_remove_keybinding (const char *name)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* meta_prefs_get_keybindings:
|
* meta_prefs_get_keybindings:
|
||||||
* Return: (element-type MetaKeyPref) (transfer container):
|
*
|
||||||
|
* Returns: (element-type MetaKeyPref) (transfer container):
|
||||||
*/
|
*/
|
||||||
GList *
|
GList *
|
||||||
meta_prefs_get_keybindings ()
|
meta_prefs_get_keybindings ()
|
||||||
@@ -2117,27 +2116,6 @@ meta_prefs_get_force_fullscreen (void)
|
|||||||
return force_fullscreen;
|
return force_fullscreen;
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
|
||||||
meta_prefs_get_live_hidden_windows (void)
|
|
||||||
{
|
|
||||||
#if 0
|
|
||||||
return live_hidden_windows;
|
|
||||||
#else
|
|
||||||
return TRUE;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
meta_prefs_set_live_hidden_windows (gboolean whether)
|
|
||||||
{
|
|
||||||
MetaBasePreference *pref;
|
|
||||||
|
|
||||||
find_pref (preferences_bool, sizeof(MetaBoolPreference),
|
|
||||||
KEY_LIVE_HIDDEN_WINDOWS, &pref);
|
|
||||||
g_settings_set_boolean (SETTINGS (pref->schema), KEY_LIVE_HIDDEN_WINDOWS,
|
|
||||||
whether);
|
|
||||||
}
|
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
meta_prefs_get_workspaces_only_on_primary (void)
|
meta_prefs_get_workspaces_only_on_primary (void)
|
||||||
{
|
{
|
||||||
@@ -2172,3 +2150,15 @@ meta_prefs_set_force_fullscreen (gboolean whether)
|
|||||||
{
|
{
|
||||||
force_fullscreen = whether;
|
force_fullscreen = whether;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
meta_prefs_get_ignore_request_hide_titlebar (void)
|
||||||
|
{
|
||||||
|
return ignore_request_hide_titlebar;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
meta_prefs_set_ignore_request_hide_titlebar (gboolean whether)
|
||||||
|
{
|
||||||
|
ignore_request_hide_titlebar = whether;
|
||||||
|
}
|
||||||
|
|||||||
@@ -156,8 +156,6 @@ void meta_screen_manage_all_windows (MetaScreen *scree
|
|||||||
void meta_screen_foreach_window (MetaScreen *screen,
|
void meta_screen_foreach_window (MetaScreen *screen,
|
||||||
MetaScreenWindowFunc func,
|
MetaScreenWindowFunc func,
|
||||||
gpointer data);
|
gpointer data);
|
||||||
void meta_screen_queue_frame_redraws (MetaScreen *screen);
|
|
||||||
void meta_screen_queue_window_resizes (MetaScreen *screen);
|
|
||||||
|
|
||||||
void meta_screen_set_cursor (MetaScreen *screen,
|
void meta_screen_set_cursor (MetaScreen *screen,
|
||||||
MetaCursor cursor);
|
MetaCursor cursor);
|
||||||
@@ -186,7 +184,7 @@ void meta_screen_tile_preview_hide (MetaScreen *screen);
|
|||||||
MetaWindow* meta_screen_get_mouse_window (MetaScreen *screen,
|
MetaWindow* meta_screen_get_mouse_window (MetaScreen *screen,
|
||||||
MetaWindow *not_this_one);
|
MetaWindow *not_this_one);
|
||||||
|
|
||||||
const MetaMonitorInfo* meta_screen_get_current_monitor (MetaScreen *screen);
|
const MetaMonitorInfo* meta_screen_get_current_monitor_info (MetaScreen *screen);
|
||||||
const MetaMonitorInfo* meta_screen_get_monitor_for_rect (MetaScreen *screen,
|
const MetaMonitorInfo* meta_screen_get_monitor_for_rect (MetaScreen *screen,
|
||||||
MetaRectangle *rect);
|
MetaRectangle *rect);
|
||||||
const MetaMonitorInfo* meta_screen_get_monitor_for_window (MetaScreen *screen,
|
const MetaMonitorInfo* meta_screen_get_monitor_for_window (MetaScreen *screen,
|
||||||
|
|||||||
@@ -41,12 +41,8 @@
|
|||||||
#include <meta/compositor.h>
|
#include <meta/compositor.h>
|
||||||
#include "mutter-enum-types.h"
|
#include "mutter-enum-types.h"
|
||||||
|
|
||||||
#ifdef HAVE_SOLARIS_XINERAMA
|
|
||||||
#include <X11/extensions/xinerama.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_XFREE_XINERAMA
|
|
||||||
#include <X11/extensions/Xinerama.h>
|
#include <X11/extensions/Xinerama.h>
|
||||||
#endif
|
|
||||||
#ifdef HAVE_RANDR
|
#ifdef HAVE_RANDR
|
||||||
#include <X11/extensions/Xrandr.h>
|
#include <X11/extensions/Xrandr.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -83,7 +79,6 @@ enum
|
|||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
RESTACKED,
|
RESTACKED,
|
||||||
TOGGLE_RECORDING,
|
|
||||||
WORKSPACE_ADDED,
|
WORKSPACE_ADDED,
|
||||||
WORKSPACE_REMOVED,
|
WORKSPACE_REMOVED,
|
||||||
WORKSPACE_SWITCHED,
|
WORKSPACE_SWITCHED,
|
||||||
@@ -200,7 +195,7 @@ meta_screen_class_init (MetaScreenClass *klass)
|
|||||||
3,
|
3,
|
||||||
G_TYPE_INT,
|
G_TYPE_INT,
|
||||||
G_TYPE_INT,
|
G_TYPE_INT,
|
||||||
MUTTER_TYPE_MOTION_DIRECTION);
|
META_TYPE_MOTION_DIRECTION);
|
||||||
|
|
||||||
screen_signals[WINDOW_ENTERED_MONITOR] =
|
screen_signals[WINDOW_ENTERED_MONITOR] =
|
||||||
g_signal_new ("window-entered-monitor",
|
g_signal_new ("window-entered-monitor",
|
||||||
@@ -230,14 +225,6 @@ meta_screen_class_init (MetaScreenClass *klass)
|
|||||||
NULL, NULL, NULL,
|
NULL, NULL, NULL,
|
||||||
G_TYPE_NONE, 1, G_TYPE_POINTER);
|
G_TYPE_NONE, 1, G_TYPE_POINTER);
|
||||||
|
|
||||||
screen_signals[TOGGLE_RECORDING] =
|
|
||||||
g_signal_new ("toggle-recording",
|
|
||||||
G_TYPE_FROM_CLASS (klass),
|
|
||||||
G_SIGNAL_RUN_LAST,
|
|
||||||
0,
|
|
||||||
NULL, NULL, NULL,
|
|
||||||
G_TYPE_NONE, 0);
|
|
||||||
|
|
||||||
screen_signals[WORKAREAS_CHANGED] =
|
screen_signals[WORKAREAS_CHANGED] =
|
||||||
g_signal_new ("workareas-changed",
|
g_signal_new ("workareas-changed",
|
||||||
G_TYPE_FROM_CLASS (object_class),
|
G_TYPE_FROM_CLASS (object_class),
|
||||||
@@ -487,7 +474,6 @@ reload_monitor_infos (MetaScreen *screen)
|
|||||||
screen->monitor_infos[1].rect.width = screen->rect.width / 2;
|
screen->monitor_infos[1].rect.width = screen->rect.width / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_XFREE_XINERAMA
|
|
||||||
if (screen->n_monitor_infos == 0 &&
|
if (screen->n_monitor_infos == 0 &&
|
||||||
XineramaIsActive (display->xdisplay))
|
XineramaIsActive (display->xdisplay))
|
||||||
{
|
{
|
||||||
@@ -557,73 +543,9 @@ reload_monitor_infos (MetaScreen *screen)
|
|||||||
else if (screen->n_monitor_infos > 0)
|
else if (screen->n_monitor_infos > 0)
|
||||||
{
|
{
|
||||||
meta_topic (META_DEBUG_XINERAMA,
|
meta_topic (META_DEBUG_XINERAMA,
|
||||||
"No XFree86 Xinerama extension or XFree86 Xinerama inactive on display %s\n",
|
"No Xinerama extension or Xinerama inactive on display %s\n",
|
||||||
display->name);
|
display->name);
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
meta_topic (META_DEBUG_XINERAMA,
|
|
||||||
"Mutter compiled without XFree86 Xinerama support\n");
|
|
||||||
#endif /* HAVE_XFREE_XINERAMA */
|
|
||||||
|
|
||||||
#ifdef HAVE_SOLARIS_XINERAMA
|
|
||||||
/* This code from GDK, Copyright (C) 2002 Sun Microsystems */
|
|
||||||
if (screen->n_monitor_infos == 0 &&
|
|
||||||
XineramaGetState (screen->display->xdisplay,
|
|
||||||
screen->number))
|
|
||||||
{
|
|
||||||
XRectangle monitors[MAXFRAMEBUFFERS];
|
|
||||||
unsigned char hints[16];
|
|
||||||
int result;
|
|
||||||
int n_monitors;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
n_monitors = 0;
|
|
||||||
result = XineramaGetInfo (screen->display->xdisplay,
|
|
||||||
screen->number,
|
|
||||||
monitors, hints,
|
|
||||||
&n_monitors);
|
|
||||||
/* Yes I know it should be Success but the current implementation
|
|
||||||
* returns the num of monitor
|
|
||||||
*/
|
|
||||||
if (result > 0)
|
|
||||||
{
|
|
||||||
g_assert (n_monitors > 0);
|
|
||||||
|
|
||||||
screen->monitor_infos = g_new0 (MetaMonitorInfo, n_monitors);
|
|
||||||
screen->n_monitor_infos = n_monitors;
|
|
||||||
|
|
||||||
i = 0;
|
|
||||||
while (i < n_monitors)
|
|
||||||
{
|
|
||||||
screen->monitor_infos[i].number = i;
|
|
||||||
screen->monitor_infos[i].rect.x = monitors[i].x;
|
|
||||||
screen->monitor_infos[i].rect.y = monitors[i].y;
|
|
||||||
screen->monitor_infos[i].rect.width = monitors[i].width;
|
|
||||||
screen->monitor_infos[i].rect.height = monitors[i].height;
|
|
||||||
|
|
||||||
meta_topic (META_DEBUG_XINERAMA,
|
|
||||||
"Monitor %d is %d,%d %d x %d\n",
|
|
||||||
screen->monitor_infos[i].number,
|
|
||||||
screen->monitor_infos[i].rect.x,
|
|
||||||
screen->monitor_infos[i].rect.y,
|
|
||||||
screen->monitor_infos[i].rect.width,
|
|
||||||
screen->monitor_infos[i].rect.height);
|
|
||||||
|
|
||||||
++i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (screen->n_monitor_infos == 0)
|
|
||||||
{
|
|
||||||
meta_topic (META_DEBUG_XINERAMA,
|
|
||||||
"No Solaris Xinerama extension or Solaris Xinerama inactive on display %s\n",
|
|
||||||
display->name);
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
meta_topic (META_DEBUG_XINERAMA,
|
|
||||||
"Mutter compiled without Solaris Xinerama support\n");
|
|
||||||
#endif /* HAVE_SOLARIS_XINERAMA */
|
|
||||||
|
|
||||||
|
|
||||||
/* If no Xinerama, fill in the single screen info so
|
/* If no Xinerama, fill in the single screen info so
|
||||||
* we can use the field unconditionally
|
* we can use the field unconditionally
|
||||||
@@ -1173,7 +1095,9 @@ prefs_changed_callback (MetaPreference pref,
|
|||||||
{
|
{
|
||||||
MetaScreen *screen = data;
|
MetaScreen *screen = data;
|
||||||
|
|
||||||
if (pref == META_PREF_NUM_WORKSPACES)
|
if ((pref == META_PREF_NUM_WORKSPACES ||
|
||||||
|
pref == META_PREF_DYNAMIC_WORKSPACES) &&
|
||||||
|
!meta_prefs_get_dynamic_workspaces ())
|
||||||
{
|
{
|
||||||
/* GSettings doesn't provide timestamps, but luckily update_num_workspaces
|
/* GSettings doesn't provide timestamps, but luckily update_num_workspaces
|
||||||
* often doesn't need it...
|
* often doesn't need it...
|
||||||
@@ -1292,31 +1216,6 @@ meta_screen_foreach_window (MetaScreen *screen,
|
|||||||
g_slist_free (winlist);
|
g_slist_free (winlist);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
queue_draw (MetaScreen *screen, MetaWindow *window, gpointer data)
|
|
||||||
{
|
|
||||||
if (window->frame)
|
|
||||||
meta_frame_queue_draw (window->frame);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
meta_screen_queue_frame_redraws (MetaScreen *screen)
|
|
||||||
{
|
|
||||||
meta_screen_foreach_window (screen, queue_draw, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
queue_resize (MetaScreen *screen, MetaWindow *window, gpointer data)
|
|
||||||
{
|
|
||||||
meta_window_queue (window, META_QUEUE_MOVE_RESIZE);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
meta_screen_queue_window_resizes (MetaScreen *screen)
|
|
||||||
{
|
|
||||||
meta_screen_foreach_window (screen, queue_resize, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
int
|
||||||
meta_screen_get_n_workspaces (MetaScreen *screen)
|
meta_screen_get_n_workspaces (MetaScreen *screen)
|
||||||
{
|
{
|
||||||
@@ -1483,12 +1382,14 @@ meta_screen_remove_workspace (MetaScreen *screen, MetaWorkspace *workspace,
|
|||||||
new_num = g_list_length (screen->workspaces);
|
new_num = g_list_length (screen->workspaces);
|
||||||
|
|
||||||
set_number_of_spaces_hint (screen, new_num);
|
set_number_of_spaces_hint (screen, new_num);
|
||||||
|
|
||||||
|
if (!meta_prefs_get_dynamic_workspaces ())
|
||||||
meta_prefs_set_num_workspaces (new_num);
|
meta_prefs_set_num_workspaces (new_num);
|
||||||
|
|
||||||
/* If deleting a workspace before the current workspace, the active
|
/* If deleting a workspace before the current workspace, the active
|
||||||
* workspace index changes, so we need to update that hint */
|
* workspace index changes, so we need to update that hint */
|
||||||
if (active_index_changed)
|
if (active_index_changed)
|
||||||
meta_screen_set_active_workspace_hint (workspace->screen);
|
meta_screen_set_active_workspace_hint (screen);
|
||||||
|
|
||||||
l = next;
|
l = next;
|
||||||
while (l)
|
while (l)
|
||||||
@@ -1538,6 +1439,8 @@ meta_screen_append_new_workspace (MetaScreen *screen, gboolean activate,
|
|||||||
new_num = g_list_length (screen->workspaces);
|
new_num = g_list_length (screen->workspaces);
|
||||||
|
|
||||||
set_number_of_spaces_hint (screen, new_num);
|
set_number_of_spaces_hint (screen, new_num);
|
||||||
|
|
||||||
|
if (!meta_prefs_get_dynamic_workspaces ())
|
||||||
meta_prefs_set_num_workspaces (new_num);
|
meta_prefs_set_num_workspaces (new_num);
|
||||||
|
|
||||||
meta_screen_queue_workarea_recalc (screen);
|
meta_screen_queue_workarea_recalc (screen);
|
||||||
@@ -2151,7 +2054,7 @@ meta_screen_get_natural_monitor_list (MetaScreen *screen,
|
|||||||
visited[i] = FALSE;
|
visited[i] = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
current = meta_screen_get_current_monitor (screen);
|
current = meta_screen_get_current_monitor_info (screen);
|
||||||
monitor_queue = g_queue_new ();
|
monitor_queue = g_queue_new ();
|
||||||
g_queue_push_tail (monitor_queue, (gpointer) current);
|
g_queue_push_tail (monitor_queue, (gpointer) current);
|
||||||
visited[current->number] = TRUE;
|
visited[current->number] = TRUE;
|
||||||
@@ -2218,10 +2121,26 @@ meta_screen_get_natural_monitor_list (MetaScreen *screen,
|
|||||||
}
|
}
|
||||||
|
|
||||||
const MetaMonitorInfo*
|
const MetaMonitorInfo*
|
||||||
|
meta_screen_get_current_monitor_info (MetaScreen *screen)
|
||||||
|
{
|
||||||
|
int monitor_index;
|
||||||
|
monitor_index = meta_screen_get_current_monitor (screen);
|
||||||
|
return &screen->monitor_infos[monitor_index];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* meta_screen_get_current_monitor:
|
||||||
|
* @screen: a #MetaScreen
|
||||||
|
*
|
||||||
|
* Gets the index of the monitor that currently has the mouse pointer.
|
||||||
|
*
|
||||||
|
* Return value: a monitor index
|
||||||
|
*/
|
||||||
|
int
|
||||||
meta_screen_get_current_monitor (MetaScreen *screen)
|
meta_screen_get_current_monitor (MetaScreen *screen)
|
||||||
{
|
{
|
||||||
if (screen->n_monitor_infos == 1)
|
if (screen->n_monitor_infos == 1)
|
||||||
return &screen->monitor_infos[0];
|
return 0;
|
||||||
|
|
||||||
/* Sadly, we have to do it this way. Yuck.
|
/* Sadly, we have to do it this way. Yuck.
|
||||||
*/
|
*/
|
||||||
@@ -2263,7 +2182,7 @@ meta_screen_get_current_monitor (MetaScreen *screen)
|
|||||||
screen->last_monitor_index);
|
screen->last_monitor_index);
|
||||||
}
|
}
|
||||||
|
|
||||||
return &screen->monitor_infos[screen->last_monitor_index];
|
return screen->last_monitor_index;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3457,9 +3376,10 @@ meta_screen_get_screen_number (MetaScreen *screen)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* meta_screen_get_display:
|
* meta_screen_get_display:
|
||||||
* Retrieve the display associated with screen.
|
|
||||||
* @screen: A #MetaScreen
|
* @screen: A #MetaScreen
|
||||||
*
|
*
|
||||||
|
* Retrieve the display associated with screen.
|
||||||
|
*
|
||||||
* Returns: (transfer none): Display
|
* Returns: (transfer none): Display
|
||||||
*/
|
*/
|
||||||
MetaDisplay *
|
MetaDisplay *
|
||||||
|
|||||||
@@ -394,6 +394,8 @@ meta_stack_tracker_free (MetaStackTracker *tracker)
|
|||||||
g_queue_foreach (tracker->queued_requests, (GFunc)meta_stack_op_free, NULL);
|
g_queue_foreach (tracker->queued_requests, (GFunc)meta_stack_op_free, NULL);
|
||||||
g_queue_free (tracker->queued_requests);
|
g_queue_free (tracker->queued_requests);
|
||||||
tracker->queued_requests = NULL;
|
tracker->queued_requests = NULL;
|
||||||
|
|
||||||
|
g_free (tracker);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file stack.c Which windows cover which other windows
|
* SECTION:stack
|
||||||
|
* @short_description: Which windows cover which other windows
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -121,6 +122,7 @@ meta_stack_add (MetaStack *stack,
|
|||||||
window->desc, window->stack_position);
|
window->desc, window->stack_position);
|
||||||
|
|
||||||
stack_sync_to_server (stack);
|
stack_sync_to_server (stack);
|
||||||
|
meta_stack_update_window_tile_matches (stack, window->screen->active_workspace);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -156,6 +158,7 @@ meta_stack_remove (MetaStack *stack,
|
|||||||
GUINT_TO_POINTER (window->frame->xwindow));
|
GUINT_TO_POINTER (window->frame->xwindow));
|
||||||
|
|
||||||
stack_sync_to_server (stack);
|
stack_sync_to_server (stack);
|
||||||
|
meta_stack_update_window_tile_matches (stack, window->screen->active_workspace);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -165,6 +168,7 @@ meta_stack_update_layer (MetaStack *stack,
|
|||||||
stack->need_relayer = TRUE;
|
stack->need_relayer = TRUE;
|
||||||
|
|
||||||
stack_sync_to_server (stack);
|
stack_sync_to_server (stack);
|
||||||
|
meta_stack_update_window_tile_matches (stack, window->screen->active_workspace);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -174,6 +178,7 @@ meta_stack_update_transient (MetaStack *stack,
|
|||||||
stack->need_constrain = TRUE;
|
stack->need_constrain = TRUE;
|
||||||
|
|
||||||
stack_sync_to_server (stack);
|
stack_sync_to_server (stack);
|
||||||
|
meta_stack_update_window_tile_matches (stack, window->screen->active_workspace);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* raise/lower within a layer */
|
/* raise/lower within a layer */
|
||||||
@@ -181,19 +186,56 @@ void
|
|||||||
meta_stack_raise (MetaStack *stack,
|
meta_stack_raise (MetaStack *stack,
|
||||||
MetaWindow *window)
|
MetaWindow *window)
|
||||||
{
|
{
|
||||||
meta_window_set_stack_position_no_sync (window,
|
GList *l;
|
||||||
stack->n_positions - 1);
|
int max_stack_position = window->stack_position;
|
||||||
|
MetaWorkspace *workspace;
|
||||||
|
|
||||||
|
stack_ensure_sorted (stack);
|
||||||
|
|
||||||
|
workspace = meta_window_get_workspace (window);
|
||||||
|
for (l = stack->sorted; l; l = l->next)
|
||||||
|
{
|
||||||
|
MetaWindow *w = (MetaWindow *) l->data;
|
||||||
|
if (meta_window_located_on_workspace (w, workspace) &&
|
||||||
|
w->stack_position > max_stack_position)
|
||||||
|
max_stack_position = w->stack_position;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (max_stack_position == window->stack_position)
|
||||||
|
return;
|
||||||
|
|
||||||
|
meta_window_set_stack_position_no_sync (window, max_stack_position);
|
||||||
|
|
||||||
stack_sync_to_server (stack);
|
stack_sync_to_server (stack);
|
||||||
|
meta_stack_update_window_tile_matches (stack, window->screen->active_workspace);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
meta_stack_lower (MetaStack *stack,
|
meta_stack_lower (MetaStack *stack,
|
||||||
MetaWindow *window)
|
MetaWindow *window)
|
||||||
{
|
{
|
||||||
meta_window_set_stack_position_no_sync (window, 0);
|
GList *l;
|
||||||
|
int min_stack_position = window->stack_position;
|
||||||
|
MetaWorkspace *workspace;
|
||||||
|
|
||||||
|
stack_ensure_sorted (stack);
|
||||||
|
|
||||||
|
workspace = meta_window_get_workspace (window);
|
||||||
|
for (l = stack->sorted; l; l = l->next)
|
||||||
|
{
|
||||||
|
MetaWindow *w = (MetaWindow *) l->data;
|
||||||
|
if (meta_window_located_on_workspace (w, workspace) &&
|
||||||
|
w->stack_position < min_stack_position)
|
||||||
|
min_stack_position = w->stack_position;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (min_stack_position == window->stack_position)
|
||||||
|
return;
|
||||||
|
|
||||||
|
meta_window_set_stack_position_no_sync (window, min_stack_position);
|
||||||
|
|
||||||
stack_sync_to_server (stack);
|
stack_sync_to_server (stack);
|
||||||
|
meta_stack_update_window_tile_matches (stack, window->screen->active_workspace);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -209,6 +251,27 @@ meta_stack_thaw (MetaStack *stack)
|
|||||||
|
|
||||||
stack->freeze_count -= 1;
|
stack->freeze_count -= 1;
|
||||||
stack_sync_to_server (stack);
|
stack_sync_to_server (stack);
|
||||||
|
meta_stack_update_window_tile_matches (stack, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
meta_stack_update_window_tile_matches (MetaStack *stack,
|
||||||
|
MetaWorkspace *workspace)
|
||||||
|
{
|
||||||
|
GList *windows, *tmp;
|
||||||
|
|
||||||
|
if (stack->freeze_count > 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
windows = meta_stack_list_windows (stack, workspace);
|
||||||
|
tmp = windows;
|
||||||
|
while (tmp)
|
||||||
|
{
|
||||||
|
meta_window_compute_tile_match ((MetaWindow *) tmp->data);
|
||||||
|
tmp = tmp->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_list_free (windows);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
@@ -278,7 +341,7 @@ get_standalone_layer (MetaWindow *window)
|
|||||||
windows_on_different_monitor (window,
|
windows_on_different_monitor (window,
|
||||||
window->display->expected_focus_window))))
|
window->display->expected_focus_window))))
|
||||||
layer = META_LAYER_FULLSCREEN;
|
layer = META_LAYER_FULLSCREEN;
|
||||||
else if (window->wm_state_above)
|
else if (window->wm_state_above && !META_WINDOW_MAXIMIZED (window))
|
||||||
layer = META_LAYER_TOP;
|
layer = META_LAYER_TOP;
|
||||||
else
|
else
|
||||||
layer = META_LAYER_NORMAL;
|
layer = META_LAYER_NORMAL;
|
||||||
@@ -737,6 +800,8 @@ apply_constraints (Constraint **constraints,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* stack_do_window_deletions:
|
||||||
|
*
|
||||||
* Go through "deleted" and take the matching windows
|
* Go through "deleted" and take the matching windows
|
||||||
* out of "windows".
|
* out of "windows".
|
||||||
*/
|
*/
|
||||||
@@ -837,6 +902,8 @@ stack_do_window_additions (MetaStack *stack)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* stack_do_relayer:
|
||||||
|
*
|
||||||
* Update the layers that windows are in
|
* Update the layers that windows are in
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
@@ -882,6 +949,8 @@ stack_do_relayer (MetaStack *stack)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* stack_do_constrain:
|
||||||
|
*
|
||||||
* Update stack_position and layer to reflect transiency
|
* Update stack_position and layer to reflect transiency
|
||||||
* constraints
|
* constraints
|
||||||
*/
|
*/
|
||||||
@@ -914,6 +983,8 @@ stack_do_constrain (MetaStack *stack)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* stack_do_resort:
|
||||||
|
*
|
||||||
* Sort stack->sorted with layers having priority over stack_position.
|
* Sort stack->sorted with layers having priority over stack_position.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
@@ -932,6 +1003,8 @@ stack_do_resort (MetaStack *stack)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* stack_ensure_sorted:
|
||||||
|
*
|
||||||
* Puts the stack into canonical form.
|
* Puts the stack into canonical form.
|
||||||
*
|
*
|
||||||
* Honour the removed and added lists of the stack, and then recalculate
|
* Honour the removed and added lists of the stack, and then recalculate
|
||||||
@@ -951,6 +1024,8 @@ stack_ensure_sorted (MetaStack *stack)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* raise_window_relative_to_managed_windows:
|
||||||
|
*
|
||||||
* This function is used to avoid raising a window above popup
|
* This function is used to avoid raising a window above popup
|
||||||
* menus and other such things.
|
* menus and other such things.
|
||||||
*
|
*
|
||||||
@@ -1051,6 +1126,8 @@ raise_window_relative_to_managed_windows (MetaScreen *screen,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* stack_sync_to_server:
|
||||||
|
*
|
||||||
* Order the windows on the X server to be the same as in our structure.
|
* Order the windows on the X server to be the same as in our structure.
|
||||||
* We do this using XRestackWindows if we don't know the previous order,
|
* We do this using XRestackWindows if we don't know the previous order,
|
||||||
* or XConfigureWindow on a few particular windows if we do and can figure
|
* or XConfigureWindow on a few particular windows if we do and can figure
|
||||||
@@ -1656,6 +1733,7 @@ meta_stack_set_positions (MetaStack *stack,
|
|||||||
"Reset the stack positions of (nearly) all windows\n");
|
"Reset the stack positions of (nearly) all windows\n");
|
||||||
|
|
||||||
stack_sync_to_server (stack);
|
stack_sync_to_server (stack);
|
||||||
|
meta_stack_update_window_tile_matches (stack, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -1718,4 +1796,6 @@ meta_window_set_stack_position (MetaWindow *window,
|
|||||||
{
|
{
|
||||||
meta_window_set_stack_position_no_sync (window, position);
|
meta_window_set_stack_position_no_sync (window, position);
|
||||||
stack_sync_to_server (window->screen->stack);
|
stack_sync_to_server (window->screen->stack);
|
||||||
|
meta_stack_update_window_tile_matches (window->screen->stack,
|
||||||
|
window->screen->active_workspace);
|
||||||
}
|
}
|
||||||
|
|||||||
236
src/core/stack.h
236
src/core/stack.h
@@ -1,23 +1,5 @@
|
|||||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||||
|
|
||||||
/**
|
|
||||||
* \file stack.h Which windows cover which other windows
|
|
||||||
*
|
|
||||||
* There are two factors that determine window position.
|
|
||||||
*
|
|
||||||
* One is window->stack_position, which is a unique integer
|
|
||||||
* indicating how windows are ordered with respect to one
|
|
||||||
* another. The ordering here transcends layers; it isn't changed
|
|
||||||
* as the window is moved among layers. This allows us to move several
|
|
||||||
* windows from one layer to another, while preserving the relative
|
|
||||||
* order of the moved windows. Also, it allows us to restore
|
|
||||||
* the stacking order from a saved session.
|
|
||||||
*
|
|
||||||
* However when actually stacking windows on the screen, the
|
|
||||||
* layer overrides the stack_position; windows are first sorted
|
|
||||||
* by layer, then by stack_position within each layer.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2001 Havoc Pennington
|
* Copyright (C) 2001 Havoc Pennington
|
||||||
* Copyright (C) 2005 Elijah Newren
|
* Copyright (C) 2005 Elijah Newren
|
||||||
@@ -41,6 +23,25 @@
|
|||||||
#ifndef META_STACK_H
|
#ifndef META_STACK_H
|
||||||
#define META_STACK_H
|
#define META_STACK_H
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SECTION:stack
|
||||||
|
* @short_description: Which windows cover which other windows
|
||||||
|
*
|
||||||
|
* There are two factors that determine window position.
|
||||||
|
*
|
||||||
|
* One is window->stack_position, which is a unique integer
|
||||||
|
* indicating how windows are ordered with respect to one
|
||||||
|
* another. The ordering here transcends layers; it isn't changed
|
||||||
|
* as the window is moved among layers. This allows us to move several
|
||||||
|
* windows from one layer to another, while preserving the relative
|
||||||
|
* order of the moved windows. Also, it allows us to restore
|
||||||
|
* the stacking order from a saved session.
|
||||||
|
*
|
||||||
|
* However when actually stacking windows on the screen, the
|
||||||
|
* layer overrides the stack_position; windows are first sorted
|
||||||
|
* by layer, then by stack_position within each layer.
|
||||||
|
*/
|
||||||
|
|
||||||
#include "screen-private.h"
|
#include "screen-private.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -123,192 +124,214 @@ struct _MetaStack
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_stack_new:
|
||||||
|
* @screen: The MetaScreen which will be the parent of this stack.
|
||||||
|
*
|
||||||
* Creates and initialises a MetaStack.
|
* Creates and initialises a MetaStack.
|
||||||
*
|
*
|
||||||
* \param screen The MetaScreen which will be the parent of this stack.
|
* Returns: The new screen.
|
||||||
* \return The new screen.
|
|
||||||
*/
|
*/
|
||||||
MetaStack *meta_stack_new (MetaScreen *screen);
|
MetaStack *meta_stack_new (MetaScreen *screen);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroys and frees a MetaStack.
|
* meta_stack_free:
|
||||||
|
* @stack: The stack to destroy.
|
||||||
*
|
*
|
||||||
* \param stack The stack to destroy.
|
* Destroys and frees a MetaStack.
|
||||||
*/
|
*/
|
||||||
void meta_stack_free (MetaStack *stack);
|
void meta_stack_free (MetaStack *stack);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_stack_add:
|
||||||
|
* @stack: The stack to add it to
|
||||||
|
* @window: The window to add
|
||||||
|
*
|
||||||
* Adds a window to the local stack. It is a fatal error to call this
|
* Adds a window to the local stack. It is a fatal error to call this
|
||||||
* function on a window which already exists on the stack of any screen.
|
* function on a window which already exists on the stack of any screen.
|
||||||
*
|
|
||||||
* \param window The window to add
|
|
||||||
* \param stack The stack to add it to
|
|
||||||
*/
|
*/
|
||||||
void meta_stack_add (MetaStack *stack,
|
void meta_stack_add (MetaStack *stack,
|
||||||
MetaWindow *window);
|
MetaWindow *window);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_stack_remove:
|
||||||
|
* @stack: The stack to remove it from
|
||||||
|
* @window: The window to remove
|
||||||
|
*
|
||||||
* Removes a window from the local stack. It is a fatal error to call this
|
* Removes a window from the local stack. It is a fatal error to call this
|
||||||
* function on a window which exists on the stack of any screen.
|
* function on a window which exists on the stack of any screen.
|
||||||
*
|
|
||||||
* \param window The window to remove
|
|
||||||
* \param stack The stack to remove it from
|
|
||||||
*/
|
*/
|
||||||
void meta_stack_remove (MetaStack *stack,
|
void meta_stack_remove (MetaStack *stack,
|
||||||
MetaWindow *window);
|
MetaWindow *window);
|
||||||
/**
|
/**
|
||||||
|
* meta_stack_update_layer:
|
||||||
|
* @stack: The stack to recalculate
|
||||||
|
* @window: Dummy parameter
|
||||||
|
*
|
||||||
* Recalculates the correct layer for all windows in the stack,
|
* Recalculates the correct layer for all windows in the stack,
|
||||||
* and moves them about accordingly.
|
* and moves them about accordingly.
|
||||||
*
|
*
|
||||||
* \param window Dummy parameter
|
|
||||||
* \param stack The stack to recalculate
|
|
||||||
* \bug What's with the dummy parameter?
|
|
||||||
*/
|
*/
|
||||||
void meta_stack_update_layer (MetaStack *stack,
|
void meta_stack_update_layer (MetaStack *stack,
|
||||||
MetaWindow *window);
|
MetaWindow *window);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_stack_update_transient:
|
||||||
|
* @stack: The stack to recalculate
|
||||||
|
* @window: Dummy parameter
|
||||||
|
*
|
||||||
* Recalculates the correct stacking order for all windows in the stack
|
* Recalculates the correct stacking order for all windows in the stack
|
||||||
* according to their transience, and moves them about accordingly.
|
* according to their transience, and moves them about accordingly.
|
||||||
*
|
*
|
||||||
* \param window Dummy parameter
|
* FIXME: What's with the dummy parameter?
|
||||||
* \param stack The stack to recalculate
|
|
||||||
* \bug What's with the dummy parameter?
|
|
||||||
*/
|
*/
|
||||||
void meta_stack_update_transient (MetaStack *stack,
|
void meta_stack_update_transient (MetaStack *stack,
|
||||||
MetaWindow *window);
|
MetaWindow *window);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Move a window to the top of its layer.
|
* meta_stack_raise:
|
||||||
*
|
* @stack: The stack to modify.
|
||||||
* \param stack The stack to modify.
|
* @window: The window that's making an ascension.
|
||||||
* \param window The window that's making an ascension.
|
|
||||||
* (Amulet of Yendor not required.)
|
* (Amulet of Yendor not required.)
|
||||||
|
*
|
||||||
|
* Move a window to the top of its layer.
|
||||||
*/
|
*/
|
||||||
void meta_stack_raise (MetaStack *stack,
|
void meta_stack_raise (MetaStack *stack,
|
||||||
MetaWindow *window);
|
MetaWindow *window);
|
||||||
/**
|
/**
|
||||||
* Move a window to the bottom of its layer.
|
* meta_stack_lower:
|
||||||
|
* @stack: The stack to modify.
|
||||||
|
* @window: The window that's on the way downwards.
|
||||||
*
|
*
|
||||||
* \param stack The stack to modify.
|
* Move a window to the bottom of its layer.
|
||||||
* \param window The window that's on the way downwards.
|
|
||||||
*/
|
*/
|
||||||
void meta_stack_lower (MetaStack *stack,
|
void meta_stack_lower (MetaStack *stack,
|
||||||
MetaWindow *window);
|
MetaWindow *window);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_stack_freeze:
|
||||||
|
* @stack: The stack to freeze.
|
||||||
|
*
|
||||||
* Prevent syncing to server until the next call of meta_stack_thaw(),
|
* Prevent syncing to server until the next call of meta_stack_thaw(),
|
||||||
* so that we can carry out multiple operations in one go without having
|
* so that we can carry out multiple operations in one go without having
|
||||||
* everything halfway reflected on the X server.
|
* everything halfway reflected on the X server.
|
||||||
*
|
*
|
||||||
* (Calls to meta_stack_freeze() nest, so that multiple calls to
|
* (Calls to meta_stack_freeze() nest, so that multiple calls to
|
||||||
* meta_stack_freeze will require multiple calls to meta_stack_thaw().)
|
* meta_stack_freeze will require multiple calls to meta_stack_thaw().)
|
||||||
*
|
|
||||||
* \param stack The stack to freeze.
|
|
||||||
*/
|
*/
|
||||||
void meta_stack_freeze (MetaStack *stack);
|
void meta_stack_freeze (MetaStack *stack);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_stack_thaw:
|
||||||
|
* @stack: The stack to thaw.
|
||||||
|
*
|
||||||
* Undoes a meta_stack_freeze(), and processes anything which has become
|
* Undoes a meta_stack_freeze(), and processes anything which has become
|
||||||
* necessary during the freeze. It is an error to call this function if
|
* necessary during the freeze. It is an error to call this function if
|
||||||
* the stack has not been frozen.
|
* the stack has not been frozen.
|
||||||
*
|
|
||||||
* \param stack The stack to thaw.
|
|
||||||
*/
|
*/
|
||||||
void meta_stack_thaw (MetaStack *stack);
|
void meta_stack_thaw (MetaStack *stack);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_stack_get_top:
|
||||||
|
* @stack: The stack to examine.
|
||||||
|
*
|
||||||
* Finds the top window on the stack.
|
* Finds the top window on the stack.
|
||||||
*
|
*
|
||||||
* \param stack The stack to examine.
|
* Returns: The top window on the stack, or %NULL in the vanishingly unlikely
|
||||||
* \return The top window on the stack, or NULL in the vanishingly unlikely
|
|
||||||
* event that you have no windows on your screen whatsoever.
|
* event that you have no windows on your screen whatsoever.
|
||||||
*/
|
*/
|
||||||
MetaWindow* meta_stack_get_top (MetaStack *stack);
|
MetaWindow* meta_stack_get_top (MetaStack *stack);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_stack_get_bottom:
|
||||||
|
* @stack: The stack to search
|
||||||
|
*
|
||||||
* Finds the window at the bottom of the stack. Since that's pretty much
|
* Finds the window at the bottom of the stack. Since that's pretty much
|
||||||
* always the desktop, this isn't the most useful of functions, and nobody
|
* always the desktop, this isn't the most useful of functions, and nobody
|
||||||
* actually calls it. We should probably get rid of it.
|
* actually calls it. We should probably get rid of it.
|
||||||
*
|
|
||||||
* \param stack The stack to search
|
|
||||||
*/
|
*/
|
||||||
MetaWindow* meta_stack_get_bottom (MetaStack *stack);
|
MetaWindow* meta_stack_get_bottom (MetaStack *stack);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_stack_get_above:
|
||||||
|
* @stack: The stack to search.
|
||||||
|
* @window: The window to look above.
|
||||||
|
* @only_within_layer: If %TRUE, will return %NULL if @window is the
|
||||||
|
* top window in its layer.
|
||||||
|
*
|
||||||
* Finds the window above a given window in the stack.
|
* Finds the window above a given window in the stack.
|
||||||
* It is not an error to pass in a window which does not exist in
|
* It is not an error to pass in a window which does not exist in
|
||||||
* the stack; the function will merely return NULL.
|
* the stack; the function will merely return %NULL.
|
||||||
*
|
*
|
||||||
* \param stack The stack to search.
|
* Returns: %NULL if there is no such window;
|
||||||
* \param window The window to look above.
|
* the window above @window otherwise.
|
||||||
* \param only_within_layer If true, will return NULL if "window" is the
|
|
||||||
* top window in its layer.
|
|
||||||
* \return NULL if there is no such window;
|
|
||||||
* the window above "window" otherwise.
|
|
||||||
*/
|
*/
|
||||||
MetaWindow* meta_stack_get_above (MetaStack *stack,
|
MetaWindow* meta_stack_get_above (MetaStack *stack,
|
||||||
MetaWindow *window,
|
MetaWindow *window,
|
||||||
gboolean only_within_layer);
|
gboolean only_within_layer);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_stack_get_below:
|
||||||
|
* @stack: The stack to search.
|
||||||
|
* @window: The window to look below.
|
||||||
|
* @only_within_layer: If %TRUE, will return %NULL if window is the
|
||||||
|
* bottom window in its layer.
|
||||||
|
*
|
||||||
* Finds the window below a given window in the stack.
|
* Finds the window below a given window in the stack.
|
||||||
* It is not an error to pass in a window which does not exist in
|
* It is not an error to pass in a window which does not exist in
|
||||||
* the stack; the function will merely return NULL.
|
* the stack; the function will merely return %NULL.
|
||||||
*
|
*
|
||||||
* \param stack The stack to search.
|
*
|
||||||
* \param window The window to look below.
|
* Returns: %NULL if there is no such window;
|
||||||
* \param only_within_layer If true, will return NULL if "window" is the
|
* the window below @window otherwise.
|
||||||
* bottom window in its layer.
|
|
||||||
* \return NULL if there is no such window;
|
|
||||||
* the window below "window" otherwise.
|
|
||||||
*/
|
*/
|
||||||
MetaWindow* meta_stack_get_below (MetaStack *stack,
|
MetaWindow* meta_stack_get_below (MetaStack *stack,
|
||||||
MetaWindow *window,
|
MetaWindow *window,
|
||||||
gboolean only_within_layer);
|
gboolean only_within_layer);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_stack_get_default_focus_window:
|
||||||
|
* @stack: The stack to search.
|
||||||
|
* @workspace: %NULL to search all workspaces; otherwise only windows
|
||||||
|
* from that workspace will be returned.
|
||||||
|
* @not_this_one: Window to ignore because it's being unfocussed or
|
||||||
|
* going away.
|
||||||
|
*
|
||||||
* Find the topmost, focusable, mapped, window in a stack. If you supply
|
* Find the topmost, focusable, mapped, window in a stack. If you supply
|
||||||
* a window as "not_this_one", we won't return that one (presumably
|
* a window as @not_this_one, we won't return that one (presumably
|
||||||
* because it's going to be going away). But if you do supply "not_this_one"
|
* because it's going to be going away). But if you do supply @not_this_one
|
||||||
* and we find its parent, we'll return that; and if "not_this_one" is in
|
* and we find its parent, we'll return that; and if @not_this_one is in
|
||||||
* a group, we'll return the top window of that group.
|
* a group, we'll return the top window of that group.
|
||||||
*
|
*
|
||||||
* Also, we are prejudiced against dock windows. Every kind of window, even
|
* Also, we are prejudiced against dock windows. Every kind of window, even
|
||||||
* the desktop, will be returned in preference to a dock window.
|
* the desktop, will be returned in preference to a dock window.
|
||||||
*
|
*
|
||||||
* \param stack The stack to search.
|
* Returns: The window matching all these constraints or %NULL if none does.
|
||||||
* \param workspace NULL to search all workspaces; otherwise only windows
|
|
||||||
* from that workspace will be returned.
|
|
||||||
* \param not_this_one Window to ignore because it's being unfocussed or
|
|
||||||
* going away.
|
|
||||||
* \return The window matching all these constraints or NULL if none does.
|
|
||||||
*
|
|
||||||
* \bug Never called!
|
|
||||||
*/
|
*/
|
||||||
MetaWindow* meta_stack_get_default_focus_window (MetaStack *stack,
|
MetaWindow* meta_stack_get_default_focus_window (MetaStack *stack,
|
||||||
MetaWorkspace *workspace,
|
MetaWorkspace *workspace,
|
||||||
MetaWindow *not_this_one);
|
MetaWindow *not_this_one);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_stack_get_default_focus_window_at_point:
|
||||||
|
* @stack: The stack to search.
|
||||||
|
* @workspace: %NULL to search all workspaces; otherwise only windows
|
||||||
|
* from that workspace will be returned.
|
||||||
|
* @not_this_one: Window to ignore because it's being unfocussed or
|
||||||
|
* going away.
|
||||||
|
* @root_x: The returned window must contain this point,
|
||||||
|
* unless it's a dock.
|
||||||
|
* @root_y: See root_x.
|
||||||
|
*
|
||||||
* Find the topmost, focusable, mapped, window in a stack. If you supply
|
* Find the topmost, focusable, mapped, window in a stack. If you supply
|
||||||
* a window as "not_this_one", we won't return that one (presumably
|
* a window as @not_this_one, we won't return that one (presumably
|
||||||
* because it's going to be going away). But if you do supply "not_this_one"
|
* because it's going to be going away). But if you do supply @not_this_one
|
||||||
* and we find its parent, we'll return that; and if "not_this_one" is in
|
* and we find its parent, we'll return that; and if @not_this_one is in
|
||||||
* a group, we'll return the top window of that group.
|
* a group, we'll return the top window of that group.
|
||||||
*
|
*
|
||||||
* Also, we are prejudiced against dock windows. Every kind of window, even
|
* Also, we are prejudiced against dock windows. Every kind of window, even
|
||||||
* the desktop, will be returned in preference to a dock window.
|
* the desktop, will be returned in preference to a dock window.
|
||||||
*
|
*
|
||||||
* \param stack The stack to search.
|
* Returns: The window matching all these constraints or %NULL if none does.
|
||||||
* \param workspace NULL to search all workspaces; otherwise only windows
|
|
||||||
* from that workspace will be returned.
|
|
||||||
* \param not_this_one Window to ignore because it's being unfocussed or
|
|
||||||
* going away.
|
|
||||||
* \param root_x The returned window must contain this point,
|
|
||||||
* unless it's a dock.
|
|
||||||
* \param root_y See root_x.
|
|
||||||
* \return The window matching all these constraints or NULL if none does.
|
|
||||||
*/
|
*/
|
||||||
MetaWindow* meta_stack_get_default_focus_window_at_point (MetaStack *stack,
|
MetaWindow* meta_stack_get_default_focus_window_at_point (MetaStack *stack,
|
||||||
MetaWorkspace *workspace,
|
MetaWorkspace *workspace,
|
||||||
@@ -317,18 +340,25 @@ MetaWindow* meta_stack_get_default_focus_window_at_point (MetaStack *stack,
|
|||||||
int root_y);
|
int root_y);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Finds all the windows in the stack, in order.
|
* meta_stack_list_windows:
|
||||||
*
|
* @stack: The stack to examine.
|
||||||
* \param stack The stack to examine.
|
* @workspace: If not %NULL, only windows on this workspace will be
|
||||||
* \param workspace If non-NULL, only windows on this workspace will be
|
|
||||||
* returned; otherwise all windows in the stack will be
|
* returned; otherwise all windows in the stack will be
|
||||||
* returned.
|
* returned.
|
||||||
* \return A list of windows, in stacking order, honouring layers.
|
*
|
||||||
|
* Finds all the windows in the stack, in order.
|
||||||
|
*
|
||||||
|
* Returns: A list of windows, in stacking order, honouring layers.
|
||||||
*/
|
*/
|
||||||
GList* meta_stack_list_windows (MetaStack *stack,
|
GList* meta_stack_list_windows (MetaStack *stack,
|
||||||
MetaWorkspace *workspace);
|
MetaWorkspace *workspace);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_stack_windows_cmp:
|
||||||
|
* @stack: A stack containing both window_a and window_b
|
||||||
|
* @window_a: A window
|
||||||
|
* @window_b Another window
|
||||||
|
*
|
||||||
* Comparison function for windows within a stack. This is not directly
|
* Comparison function for windows within a stack. This is not directly
|
||||||
* suitable for use within a standard comparison routine, because it takes
|
* suitable for use within a standard comparison routine, because it takes
|
||||||
* an extra parameter; you will need to wrap it.
|
* an extra parameter; you will need to wrap it.
|
||||||
@@ -339,9 +369,6 @@ GList* meta_stack_list_windows (MetaStack *stack,
|
|||||||
*
|
*
|
||||||
* (FIXME: Apparently identical to compare_window_position(). Merge them.)
|
* (FIXME: Apparently identical to compare_window_position(). Merge them.)
|
||||||
*
|
*
|
||||||
* \param stack A stack containing both window_a and window_b
|
|
||||||
* \param window_a A window
|
|
||||||
* \param window_b Another window
|
|
||||||
* \return -1 if window_a is below window_b, honouring layers; 1 if it's
|
* \return -1 if window_a is below window_b, honouring layers; 1 if it's
|
||||||
* above it; 0 if you passed in the same window twice!
|
* above it; 0 if you passed in the same window twice!
|
||||||
*/
|
*/
|
||||||
@@ -350,23 +377,26 @@ int meta_stack_windows_cmp (MetaStack *stack,
|
|||||||
MetaWindow *window_b);
|
MetaWindow *window_b);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_window_set_stack_position:
|
||||||
|
* @window: The window which is moving.
|
||||||
|
* @position: Where it should move to (0 is the bottom).
|
||||||
|
*
|
||||||
* Sets the position of a window within the stack. This will only move it
|
* Sets the position of a window within the stack. This will only move it
|
||||||
* up or down within its layer. It is an error to attempt to move this
|
* up or down within its layer. It is an error to attempt to move this
|
||||||
* below position zero or above the last position in the stack (however, since
|
* below position zero or above the last position in the stack (however, since
|
||||||
* we don't provide a simple way to tell the number of windows in the stack,
|
* we don't provide a simple way to tell the number of windows in the stack,
|
||||||
* this requirement may not be easy to fulfil).
|
* this requirement may not be easy to fulfil).
|
||||||
*
|
|
||||||
* \param window The window which is moving.
|
|
||||||
* \param position Where it should move to (0 is the bottom).
|
|
||||||
*/
|
*/
|
||||||
void meta_window_set_stack_position (MetaWindow *window,
|
void meta_window_set_stack_position (MetaWindow *window,
|
||||||
int position);
|
int position);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_stack_get_positions:
|
||||||
|
* @stack: The stack to examine.
|
||||||
|
*
|
||||||
* Returns the current stack state, allowing rudimentary transactions.
|
* Returns the current stack state, allowing rudimentary transactions.
|
||||||
*
|
*
|
||||||
* \param stack The stack to examine.
|
* Returns: An opaque GList representing the current stack sort order;
|
||||||
* \return An opaque GList representing the current stack sort order;
|
|
||||||
* it is the caller's responsibility to free it.
|
* it is the caller's responsibility to free it.
|
||||||
* Pass this to meta_stack_set_positions() later if you want to restore
|
* Pass this to meta_stack_set_positions() later if you want to restore
|
||||||
* the state to where it was when you called this function.
|
* the state to where it was when you called this function.
|
||||||
@@ -374,13 +404,17 @@ void meta_window_set_stack_position (MetaWindow *window,
|
|||||||
GList* meta_stack_get_positions (MetaStack *stack);
|
GList* meta_stack_get_positions (MetaStack *stack);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_stack_set_positions:
|
||||||
|
* @stack: The stack to roll back.
|
||||||
|
* @windows: The list returned from meta_stack_get_positions().
|
||||||
|
*
|
||||||
* Rolls back a transaction, given the list returned from
|
* Rolls back a transaction, given the list returned from
|
||||||
* meta_stack_get_positions().
|
* meta_stack_get_positions().
|
||||||
*
|
*
|
||||||
* \param stack The stack to roll back.
|
|
||||||
* \param windows The list returned from meta_stack_get_positions().
|
|
||||||
*/
|
*/
|
||||||
void meta_stack_set_positions (MetaStack *stack,
|
void meta_stack_set_positions (MetaStack *stack,
|
||||||
GList *windows);
|
GList *windows);
|
||||||
|
|
||||||
|
void meta_stack_update_window_tile_matches (MetaStack *stack,
|
||||||
|
MetaWorkspace *workspace);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -47,37 +47,6 @@ meta_topic_real_valist (MetaDebugTopic topic,
|
|||||||
va_list args);
|
va_list args);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_BACKTRACE
|
|
||||||
#include <execinfo.h>
|
|
||||||
void
|
|
||||||
meta_print_backtrace (void)
|
|
||||||
{
|
|
||||||
void *bt[500];
|
|
||||||
int bt_size;
|
|
||||||
int i;
|
|
||||||
char **syms;
|
|
||||||
|
|
||||||
bt_size = backtrace (bt, 500);
|
|
||||||
|
|
||||||
syms = backtrace_symbols (bt, bt_size);
|
|
||||||
|
|
||||||
i = 0;
|
|
||||||
while (i < bt_size)
|
|
||||||
{
|
|
||||||
meta_verbose (" %s\n", syms[i]);
|
|
||||||
++i;
|
|
||||||
}
|
|
||||||
|
|
||||||
free (syms);
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
void
|
|
||||||
meta_print_backtrace (void)
|
|
||||||
{
|
|
||||||
meta_verbose ("Not compiled with backtrace support\n");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static gint verbose_topics = 0;
|
static gint verbose_topics = 0;
|
||||||
static gboolean is_debugging = FALSE;
|
static gboolean is_debugging = FALSE;
|
||||||
static gboolean replace_current = FALSE;
|
static gboolean replace_current = FALSE;
|
||||||
@@ -442,8 +411,6 @@ meta_bug (const char *format, ...)
|
|||||||
|
|
||||||
g_free (str);
|
g_free (str);
|
||||||
|
|
||||||
meta_print_backtrace ();
|
|
||||||
|
|
||||||
/* stop us in a debugger */
|
/* stop us in a debugger */
|
||||||
abort ();
|
abort ();
|
||||||
}
|
}
|
||||||
@@ -921,6 +888,7 @@ meta_later_remove (guint later_id)
|
|||||||
* repaint func run and get removed
|
* repaint func run and get removed
|
||||||
*/
|
*/
|
||||||
destroy_later (later);
|
destroy_later (later);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -410,6 +410,9 @@ struct _MetaWindow
|
|||||||
|
|
||||||
/* Focused window that is (directly or indirectly) attached to this one */
|
/* Focused window that is (directly or indirectly) attached to this one */
|
||||||
MetaWindow *attached_focus_window;
|
MetaWindow *attached_focus_window;
|
||||||
|
|
||||||
|
/* The currently complementary tiled window, if any */
|
||||||
|
MetaWindow *tile_match;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _MetaWindowClass
|
struct _MetaWindowClass
|
||||||
@@ -469,20 +472,8 @@ void meta_window_unmaximize_with_gravity (MetaWindow *window,
|
|||||||
int new_width,
|
int new_width,
|
||||||
int new_height,
|
int new_height,
|
||||||
int gravity);
|
int gravity);
|
||||||
void meta_window_make_above (MetaWindow *window);
|
|
||||||
void meta_window_unmake_above (MetaWindow *window);
|
|
||||||
void meta_window_shade (MetaWindow *window,
|
|
||||||
guint32 timestamp);
|
|
||||||
void meta_window_unshade (MetaWindow *window,
|
|
||||||
guint32 timestamp);
|
|
||||||
void meta_window_change_workspace (MetaWindow *window,
|
|
||||||
MetaWorkspace *workspace);
|
|
||||||
void meta_window_stick (MetaWindow *window);
|
|
||||||
void meta_window_unstick (MetaWindow *window);
|
|
||||||
|
|
||||||
void meta_window_make_fullscreen_internal (MetaWindow *window);
|
void meta_window_make_fullscreen_internal (MetaWindow *window);
|
||||||
void meta_window_make_fullscreen (MetaWindow *window);
|
|
||||||
void meta_window_unmake_fullscreen (MetaWindow *window);
|
|
||||||
void meta_window_update_fullscreen_monitors (MetaWindow *window,
|
void meta_window_update_fullscreen_monitors (MetaWindow *window,
|
||||||
unsigned long top,
|
unsigned long top,
|
||||||
unsigned long bottom,
|
unsigned long bottom,
|
||||||
@@ -509,7 +500,8 @@ void meta_window_resize_with_gravity (MetaWindow *window,
|
|||||||
int w,
|
int w,
|
||||||
int h,
|
int h,
|
||||||
int gravity);
|
int gravity);
|
||||||
|
void meta_window_change_workspace (MetaWindow *window,
|
||||||
|
MetaWorkspace *workspace);
|
||||||
|
|
||||||
/* Return whether the window should be currently mapped */
|
/* Return whether the window should be currently mapped */
|
||||||
gboolean meta_window_should_be_showing (MetaWindow *window);
|
gboolean meta_window_should_be_showing (MetaWindow *window);
|
||||||
@@ -548,10 +540,6 @@ void meta_window_get_geometry (MetaWindow *window,
|
|||||||
int *width,
|
int *width,
|
||||||
int *height);
|
int *height);
|
||||||
|
|
||||||
void meta_window_kill (MetaWindow *window);
|
|
||||||
void meta_window_focus (MetaWindow *window,
|
|
||||||
guint32 timestamp);
|
|
||||||
|
|
||||||
void meta_window_update_unfocused_button_grabs (MetaWindow *window);
|
void meta_window_update_unfocused_button_grabs (MetaWindow *window);
|
||||||
|
|
||||||
/* Sends a client message */
|
/* Sends a client message */
|
||||||
@@ -629,11 +617,6 @@ void meta_window_refresh_resize_popup (MetaWindow *window);
|
|||||||
void meta_window_free_delete_dialog (MetaWindow *window);
|
void meta_window_free_delete_dialog (MetaWindow *window);
|
||||||
|
|
||||||
|
|
||||||
void meta_window_begin_grab_op (MetaWindow *window,
|
|
||||||
MetaGrabOp op,
|
|
||||||
gboolean frame_action,
|
|
||||||
guint32 timestamp);
|
|
||||||
|
|
||||||
void meta_window_update_keyboard_resize (MetaWindow *window,
|
void meta_window_update_keyboard_resize (MetaWindow *window,
|
||||||
gboolean update_cursor);
|
gboolean update_cursor);
|
||||||
void meta_window_update_keyboard_move (MetaWindow *window);
|
void meta_window_update_keyboard_move (MetaWindow *window);
|
||||||
@@ -663,4 +646,6 @@ void meta_window_propagate_focus_appearance (MetaWindow *window,
|
|||||||
gboolean meta_window_should_attach_to_parent (MetaWindow *window);
|
gboolean meta_window_should_attach_to_parent (MetaWindow *window);
|
||||||
gboolean meta_window_can_tile_side_by_side (MetaWindow *window);
|
gboolean meta_window_can_tile_side_by_side (MetaWindow *window);
|
||||||
|
|
||||||
|
void meta_window_compute_tile_match (MetaWindow *window);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file window-props.c MetaWindow property handling
|
* SECTION:window-props
|
||||||
|
* @short_description: #MetaWindow property handling
|
||||||
*
|
*
|
||||||
* A system which can inspect sets of properties of given windows
|
* A system which can inspect sets of properties of given windows
|
||||||
* and take appropriate action given their values.
|
* and take appropriate action given their values.
|
||||||
@@ -389,11 +390,13 @@ reload_net_wm_user_time_window (MetaWindow *window,
|
|||||||
#define MAX_TITLE_LENGTH 512
|
#define MAX_TITLE_LENGTH 512
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called by set_window_title and set_icon_title to set the value of
|
* set_title_text:
|
||||||
* *target to title. It required and atom is set, it will update the
|
*
|
||||||
|
* Called by set_window_title() and set_icon_title() to set the value of
|
||||||
|
* @target to @title. It required and @atom is set, it will update the
|
||||||
* appropriate property.
|
* appropriate property.
|
||||||
*
|
*
|
||||||
* Returns TRUE if a new title was set.
|
* Returns: %TRUE if a new title was set.
|
||||||
*/
|
*/
|
||||||
static gboolean
|
static gboolean
|
||||||
set_title_text (MetaWindow *window,
|
set_title_text (MetaWindow *window,
|
||||||
@@ -1597,7 +1600,7 @@ reload_gtk_hide_titlebar_when_maximized (MetaWindow *window,
|
|||||||
gboolean requested_value = FALSE;
|
gboolean requested_value = FALSE;
|
||||||
gboolean current_value = window->hide_titlebar_when_maximized;
|
gboolean current_value = window->hide_titlebar_when_maximized;
|
||||||
|
|
||||||
if (value->type != META_PROP_VALUE_INVALID)
|
if (!meta_prefs_get_ignore_request_hide_titlebar () && value->type != META_PROP_VALUE_INVALID)
|
||||||
{
|
{
|
||||||
requested_value = ((int) value->v.cardinal == 1);
|
requested_value = ((int) value->v.cardinal == 1);
|
||||||
meta_verbose ("Request to hide titlebar for window %s.\n", window->desc);
|
meta_verbose ("Request to hide titlebar for window %s.\n", window->desc);
|
||||||
@@ -1643,6 +1646,9 @@ RELOAD_STRING (gtk_menubar_object_path, "gtk-menubar-object-path")
|
|||||||
#undef RELOAD_STRING
|
#undef RELOAD_STRING
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_display_init_window_prop_hooks:
|
||||||
|
* @display: The #MetaDisplay
|
||||||
|
*
|
||||||
* Initialises the property hooks system. Each row in the table named "hooks"
|
* Initialises the property hooks system. Each row in the table named "hooks"
|
||||||
* represents an action to take when a property is found on a newly-created
|
* represents an action to take when a property is found on a newly-created
|
||||||
* window, or when a property changes its value.
|
* window, or when a property changes its value.
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file window-props.h MetaWindow property handling
|
* SECTION:window-props
|
||||||
|
* @short_description: MetaWindow property handling
|
||||||
*
|
*
|
||||||
* A system which can inspect sets of properties of given windows
|
* A system which can inspect sets of properties of given windows
|
||||||
* and take appropriate action given their values.
|
* and take appropriate action given their values.
|
||||||
@@ -35,12 +36,13 @@
|
|||||||
#include "window-private.h"
|
#include "window-private.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_window_reload_property:
|
||||||
|
* @window: The window.
|
||||||
|
* @property: A single X atom.
|
||||||
|
*
|
||||||
* Requests the current values of a single property for a given
|
* Requests the current values of a single property for a given
|
||||||
* window from the server, and deals with it appropriately.
|
* window from the server, and deals with it appropriately.
|
||||||
* Does not return it to the caller (it's been dealt with!)
|
* Does not return it to the caller (it's been dealt with!)
|
||||||
*
|
|
||||||
* \param window The window.
|
|
||||||
* \param property A single X atom.
|
|
||||||
*/
|
*/
|
||||||
void meta_window_reload_property (MetaWindow *window,
|
void meta_window_reload_property (MetaWindow *window,
|
||||||
Atom property,
|
Atom property,
|
||||||
@@ -48,13 +50,14 @@ void meta_window_reload_property (MetaWindow *window,
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_window_reload_properties:
|
||||||
|
* @window: The window.
|
||||||
|
* @properties: A pointer to a list of X atoms, "n_properties" long.
|
||||||
|
* @n_properties: The length of the properties list.
|
||||||
|
*
|
||||||
* Requests the current values of a set of properties for a given
|
* Requests the current values of a set of properties for a given
|
||||||
* window from the server, and deals with them appropriately.
|
* window from the server, and deals with them appropriately.
|
||||||
* Does not return them to the caller (they've been dealt with!)
|
* Does not return them to the caller (they've been dealt with!)
|
||||||
*
|
|
||||||
* \param window The window.
|
|
||||||
* \param properties A pointer to a list of X atoms, "n_properties" long.
|
|
||||||
* \param n_properties The length of the properties list.
|
|
||||||
*/
|
*/
|
||||||
void meta_window_reload_properties (MetaWindow *window,
|
void meta_window_reload_properties (MetaWindow *window,
|
||||||
const Atom *properties,
|
const Atom *properties,
|
||||||
@@ -62,14 +65,15 @@ void meta_window_reload_properties (MetaWindow *window,
|
|||||||
gboolean initial);
|
gboolean initial);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_window_reload_property_from_xwindow:
|
||||||
|
* @window: A window on the same display as the one we're
|
||||||
|
* investigating (only used to find the display)
|
||||||
|
* @xwindow: The X handle for the window.
|
||||||
|
* @property: A single X atom.
|
||||||
|
*
|
||||||
* Requests the current values of a single property for a given
|
* Requests the current values of a single property for a given
|
||||||
* window from the server, and deals with it appropriately.
|
* window from the server, and deals with it appropriately.
|
||||||
* Does not return it to the caller (it's been dealt with!)
|
* Does not return it to the caller (it's been dealt with!)
|
||||||
*
|
|
||||||
* \param window A window on the same display as the one we're
|
|
||||||
* investigating (only used to find the display)
|
|
||||||
* \param xwindow The X handle for the window.
|
|
||||||
* \param property A single X atom.
|
|
||||||
*/
|
*/
|
||||||
void meta_window_reload_property_from_xwindow
|
void meta_window_reload_property_from_xwindow
|
||||||
(MetaWindow *window,
|
(MetaWindow *window,
|
||||||
@@ -78,15 +82,16 @@ void meta_window_reload_property_from_xwindow
|
|||||||
gboolean initial);
|
gboolean initial);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_window_reload_properties_from_xwindow:
|
||||||
|
* @window: A window on the same display as the one we're
|
||||||
|
* investigating (only used to find the display)
|
||||||
|
* @xwindow: The X handle for the window.
|
||||||
|
* @properties: A pointer to a list of X atoms, "n_properties" long.
|
||||||
|
* @n_properties: The length of the properties list.
|
||||||
|
*
|
||||||
* Requests the current values of a set of properties for a given
|
* Requests the current values of a set of properties for a given
|
||||||
* window from the server, and deals with them appropriately.
|
* window from the server, and deals with them appropriately.
|
||||||
* Does not return them to the caller (they've been dealt with!)
|
* Does not return them to the caller (they've been dealt with!)
|
||||||
*
|
|
||||||
* \param window A window on the same display as the one we're
|
|
||||||
* investigating (only used to find the display)
|
|
||||||
* \param xwindow The X handle for the window.
|
|
||||||
* \param properties A pointer to a list of X atoms, "n_properties" long.
|
|
||||||
* \param n_properties The length of the properties list.
|
|
||||||
*/
|
*/
|
||||||
void meta_window_reload_properties_from_xwindow
|
void meta_window_reload_properties_from_xwindow
|
||||||
(MetaWindow *window,
|
(MetaWindow *window,
|
||||||
@@ -96,41 +101,44 @@ void meta_window_reload_properties_from_xwindow
|
|||||||
gboolean initial);
|
gboolean initial);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_window_load_initial_properties:
|
||||||
|
* @window: The window.
|
||||||
|
*
|
||||||
* Requests the current values for standard properties for a given
|
* Requests the current values for standard properties for a given
|
||||||
* window from the server, and deals with them appropriately.
|
* window from the server, and deals with them appropriately.
|
||||||
* Does not return them to the caller (they've been dealt with!)
|
* Does not return them to the caller (they've been dealt with!)
|
||||||
*
|
|
||||||
* \param window The window.
|
|
||||||
*/
|
*/
|
||||||
void meta_window_load_initial_properties (MetaWindow *window);
|
void meta_window_load_initial_properties (MetaWindow *window);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_display_init_window_prop_hooks:
|
||||||
|
* @display: The display.
|
||||||
|
*
|
||||||
* Initialises the hooks used for the reload_propert* functions
|
* Initialises the hooks used for the reload_propert* functions
|
||||||
* on a particular display, and stores a pointer to them in the
|
* on a particular display, and stores a pointer to them in the
|
||||||
* display.
|
* display.
|
||||||
*
|
|
||||||
* \param display The display.
|
|
||||||
*/
|
*/
|
||||||
void meta_display_init_window_prop_hooks (MetaDisplay *display);
|
void meta_display_init_window_prop_hooks (MetaDisplay *display);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_display_free_window_prop_hooks:
|
||||||
|
* @display: The display.
|
||||||
* Frees the hooks used for the reload_propert* functions
|
* Frees the hooks used for the reload_propert* functions
|
||||||
* for a particular display.
|
* for a particular display.
|
||||||
*
|
|
||||||
* \param display The display.
|
|
||||||
*/
|
*/
|
||||||
void meta_display_free_window_prop_hooks (MetaDisplay *display);
|
void meta_display_free_window_prop_hooks (MetaDisplay *display);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* meta_set_normal_hints:
|
||||||
|
* @window: The window to set the size hints on.
|
||||||
|
* @hints: Either some X size hints, or NULL for default.
|
||||||
|
*
|
||||||
* Sets the size hints for a window. This happens when a
|
* Sets the size hints for a window. This happens when a
|
||||||
* WM_NORMAL_HINTS property is set on a window, but it is public
|
* WM_NORMAL_HINTS property is set on a window, but it is public
|
||||||
* because the size hints are set to defaults when a window is
|
* because the size hints are set to defaults when a window is
|
||||||
* created. See
|
* created. See
|
||||||
* http://tronche.com/gui/x/icccm/sec-4.html#WM_NORMAL_HINTS
|
* http://tronche.com/gui/x/icccm/sec-4.html#WM_NORMAL_HINTS
|
||||||
* for the X details.
|
* for the X details.
|
||||||
*
|
|
||||||
* \param window The window to set the size hints on.
|
|
||||||
* \param hints Either some X size hints, or NULL for default.
|
|
||||||
*/
|
*/
|
||||||
void meta_set_normal_hints (MetaWindow *window,
|
void meta_set_normal_hints (MetaWindow *window,
|
||||||
XSizeHints *hints);
|
XSizeHints *hints);
|
||||||
|
|||||||
@@ -48,6 +48,7 @@
|
|||||||
#include <X11/Xatom.h>
|
#include <X11/Xatom.h>
|
||||||
#include <X11/Xlibint.h> /* For display->resource_mask */
|
#include <X11/Xlibint.h> /* For display->resource_mask */
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
#ifdef HAVE_SHAPE
|
#ifdef HAVE_SHAPE
|
||||||
#include <X11/extensions/shape.h>
|
#include <X11/extensions/shape.h>
|
||||||
@@ -55,6 +56,12 @@
|
|||||||
|
|
||||||
#include <X11/extensions/Xcomposite.h>
|
#include <X11/extensions/Xcomposite.h>
|
||||||
|
|
||||||
|
/* Windows that unmaximize to a size bigger than that fraction of the workarea
|
||||||
|
* will be scaled down to that size (while maintaining aspect ratio).
|
||||||
|
* Windows that cover an area greater then this size are automaximized on map.
|
||||||
|
*/
|
||||||
|
#define MAX_UNMAXIMIZED_WINDOW_AREA .8
|
||||||
|
|
||||||
static int destroying_windows_disallowed = 0;
|
static int destroying_windows_disallowed = 0;
|
||||||
|
|
||||||
|
|
||||||
@@ -191,13 +198,19 @@ prefs_changed_callback (MetaPreference pref,
|
|||||||
{
|
{
|
||||||
MetaWindow *window = data;
|
MetaWindow *window = data;
|
||||||
|
|
||||||
if (pref != META_PREF_WORKSPACES_ONLY_ON_PRIMARY)
|
if (pref == META_PREF_WORKSPACES_ONLY_ON_PRIMARY)
|
||||||
return;
|
{
|
||||||
|
|
||||||
meta_window_update_on_all_workspaces (window);
|
meta_window_update_on_all_workspaces (window);
|
||||||
|
|
||||||
meta_window_queue (window, META_QUEUE_CALC_SHOWING);
|
meta_window_queue (window, META_QUEUE_CALC_SHOWING);
|
||||||
}
|
}
|
||||||
|
else if (pref == META_PREF_ATTACH_MODAL_DIALOGS &&
|
||||||
|
window->type == META_WINDOW_MODAL_DIALOG)
|
||||||
|
{
|
||||||
|
window->attached = meta_window_should_attach_to_parent (window);
|
||||||
|
recalc_window_features (window);
|
||||||
|
meta_window_queue (window, META_QUEUE_MOVE_RESIZE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
meta_window_finalize (GObject *object)
|
meta_window_finalize (GObject *object)
|
||||||
@@ -215,8 +228,6 @@ meta_window_finalize (GObject *object)
|
|||||||
|
|
||||||
meta_icon_cache_free (&window->icon_cache);
|
meta_icon_cache_free (&window->icon_cache);
|
||||||
|
|
||||||
meta_prefs_remove_listener (prefs_changed_callback, window);
|
|
||||||
|
|
||||||
g_free (window->sm_client_id);
|
g_free (window->sm_client_id);
|
||||||
g_free (window->wm_client_machine);
|
g_free (window->wm_client_machine);
|
||||||
g_free (window->startup_id);
|
g_free (window->startup_id);
|
||||||
@@ -411,7 +422,7 @@ meta_window_class_init (MetaWindowClass *klass)
|
|||||||
g_param_spec_enum ("window-type",
|
g_param_spec_enum ("window-type",
|
||||||
"Window Type",
|
"Window Type",
|
||||||
"The type of the window",
|
"The type of the window",
|
||||||
MUTTER_TYPE_WINDOW_TYPE,
|
META_TYPE_WINDOW_TYPE,
|
||||||
META_WINDOW_NORMAL,
|
META_WINDOW_NORMAL,
|
||||||
G_PARAM_READABLE));
|
G_PARAM_READABLE));
|
||||||
|
|
||||||
@@ -1162,6 +1173,8 @@ meta_window_new_with_attrs (MetaDisplay *display,
|
|||||||
|
|
||||||
window->monitor = meta_screen_get_monitor_for_window (window->screen, window);
|
window->monitor = meta_screen_get_monitor_for_window (window->screen, window);
|
||||||
|
|
||||||
|
window->tile_match = NULL;
|
||||||
|
|
||||||
if (window->override_redirect)
|
if (window->override_redirect)
|
||||||
{
|
{
|
||||||
window->decorated = FALSE;
|
window->decorated = FALSE;
|
||||||
@@ -1895,6 +1908,8 @@ meta_window_unmanage (MetaWindow *window,
|
|||||||
|
|
||||||
meta_error_trap_pop (window->display);
|
meta_error_trap_pop (window->display);
|
||||||
|
|
||||||
|
meta_prefs_remove_listener (prefs_changed_callback, window);
|
||||||
|
|
||||||
g_signal_emit (window, window_signals[UNMANAGED], 0);
|
g_signal_emit (window, window_signals[UNMANAGED], 0);
|
||||||
|
|
||||||
g_object_unref (window);
|
g_object_unref (window);
|
||||||
@@ -2216,7 +2231,7 @@ implement_showing (MetaWindow *window,
|
|||||||
* so we should place the window even if we're hiding it rather
|
* so we should place the window even if we're hiding it rather
|
||||||
* than showing it.
|
* than showing it.
|
||||||
*/
|
*/
|
||||||
if (!window->placed && meta_prefs_get_live_hidden_windows ())
|
if (!window->placed)
|
||||||
meta_window_force_placement (window);
|
meta_window_force_placement (window);
|
||||||
|
|
||||||
meta_window_hide (window);
|
meta_window_hide (window);
|
||||||
@@ -2818,20 +2833,6 @@ map_frame (MetaWindow *window)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
unmap_frame (MetaWindow *window)
|
|
||||||
{
|
|
||||||
if (window->frame && window->frame->mapped)
|
|
||||||
{
|
|
||||||
meta_topic (META_DEBUG_WINDOW_STATE, "Frame actually needs unmap\n");
|
|
||||||
window->frame->mapped = FALSE;
|
|
||||||
meta_ui_unmap_frame (window->screen->ui, window->frame->xwindow);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
map_client_window (MetaWindow *window)
|
map_client_window (MetaWindow *window)
|
||||||
{
|
{
|
||||||
@@ -3008,7 +3009,20 @@ meta_window_show (MetaWindow *window)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!window->placed)
|
if (!window->placed)
|
||||||
|
{
|
||||||
|
if (window->showing_for_first_time && window->has_maximize_func)
|
||||||
|
{
|
||||||
|
MetaRectangle work_area;
|
||||||
|
meta_window_get_work_area_for_monitor (window, window->monitor->number, &work_area);
|
||||||
|
/* Automaximize windows that map with a size > MAX_UNMAXIMIZED_WINDOW_AREA of the work area */
|
||||||
|
if (window->rect.width * window->rect.height > work_area.width * work_area.height * MAX_UNMAXIMIZED_WINDOW_AREA)
|
||||||
|
{
|
||||||
|
window->maximize_horizontally_after_placement = TRUE;
|
||||||
|
window->maximize_vertically_after_placement = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
meta_window_force_placement (window);
|
meta_window_force_placement (window);
|
||||||
|
}
|
||||||
|
|
||||||
if (needs_stacking_adjustment)
|
if (needs_stacking_adjustment)
|
||||||
{
|
{
|
||||||
@@ -3086,8 +3100,6 @@ meta_window_show (MetaWindow *window)
|
|||||||
if (map_client_window (window))
|
if (map_client_window (window))
|
||||||
did_show = TRUE;
|
did_show = TRUE;
|
||||||
|
|
||||||
if (meta_prefs_get_live_hidden_windows ())
|
|
||||||
{
|
|
||||||
if (window->hidden)
|
if (window->hidden)
|
||||||
{
|
{
|
||||||
meta_stack_freeze (window->screen->stack);
|
meta_stack_freeze (window->screen->stack);
|
||||||
@@ -3095,7 +3107,6 @@ meta_window_show (MetaWindow *window)
|
|||||||
meta_stack_thaw (window->screen->stack);
|
meta_stack_thaw (window->screen->stack);
|
||||||
did_show = TRUE;
|
did_show = TRUE;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (window->iconic)
|
if (window->iconic)
|
||||||
{
|
{
|
||||||
@@ -3229,8 +3240,6 @@ meta_window_hide (MetaWindow *window)
|
|||||||
|
|
||||||
did_hide = FALSE;
|
did_hide = FALSE;
|
||||||
|
|
||||||
if (meta_prefs_get_live_hidden_windows ())
|
|
||||||
{
|
|
||||||
/* If this is the first time that we've calculating the showing
|
/* If this is the first time that we've calculating the showing
|
||||||
* state of the window, the frame and client window might not
|
* state of the window, the frame and client window might not
|
||||||
* yet be mapped, so we need to map them now */
|
* yet be mapped, so we need to map them now */
|
||||||
@@ -3245,17 +3254,6 @@ meta_window_hide (MetaWindow *window)
|
|||||||
|
|
||||||
did_hide = TRUE;
|
did_hide = TRUE;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* Unmapping the frame is enough to make the window disappear,
|
|
||||||
* but we need to hide the window itself so the client knows
|
|
||||||
* it has been hidden */
|
|
||||||
if (unmap_frame (window))
|
|
||||||
did_hide = TRUE;
|
|
||||||
if (unmap_client_window (window, " (hiding)"))
|
|
||||||
did_hide = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!window->iconic)
|
if (!window->iconic)
|
||||||
{
|
{
|
||||||
@@ -3430,10 +3428,11 @@ meta_window_save_rect (MetaWindow *window)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* force_save_user_window_placement:
|
||||||
|
* @window: Store current position of this window for future reference
|
||||||
|
*
|
||||||
* Save the user_rect regardless of whether the window is maximized or
|
* Save the user_rect regardless of whether the window is maximized or
|
||||||
* fullscreen. See save_user_window_placement() for most uses.
|
* fullscreen. See save_user_window_placement() for most uses.
|
||||||
*
|
|
||||||
* \param window Store current position of this window for future reference
|
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
force_save_user_window_placement (MetaWindow *window)
|
force_save_user_window_placement (MetaWindow *window)
|
||||||
@@ -3442,11 +3441,12 @@ force_save_user_window_placement (MetaWindow *window)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* save_user_window_placement:
|
||||||
|
* @window: Store current position of this window for future reference
|
||||||
|
*
|
||||||
* Save the user_rect, but only if the window is neither maximized nor
|
* Save the user_rect, but only if the window is neither maximized nor
|
||||||
* fullscreen, otherwise the window may snap back to those dimensions
|
* fullscreen, otherwise the window may snap back to those dimensions
|
||||||
* (bug #461927).
|
* (bug #461927).
|
||||||
*
|
|
||||||
* \param window Store current position of this window for future reference
|
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
save_user_window_placement (MetaWindow *window)
|
save_user_window_placement (MetaWindow *window)
|
||||||
@@ -3680,14 +3680,15 @@ meta_window_can_tile_maximized (MetaWindow *window)
|
|||||||
gboolean
|
gboolean
|
||||||
meta_window_can_tile_side_by_side (MetaWindow *window)
|
meta_window_can_tile_side_by_side (MetaWindow *window)
|
||||||
{
|
{
|
||||||
const MetaMonitorInfo *monitor;
|
int monitor;
|
||||||
MetaRectangle tile_area;
|
MetaRectangle tile_area;
|
||||||
|
MetaFrameBorders borders;
|
||||||
|
|
||||||
if (!meta_window_can_tile_maximized (window))
|
if (!meta_window_can_tile_maximized (window))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
monitor = meta_screen_get_current_monitor (window->screen);
|
monitor = meta_screen_get_current_monitor (window->screen);
|
||||||
meta_window_get_work_area_for_monitor (window, monitor->number, &tile_area);
|
meta_window_get_work_area_for_monitor (window, monitor, &tile_area);
|
||||||
|
|
||||||
/* Do not allow tiling in portrait orientation */
|
/* Do not allow tiling in portrait orientation */
|
||||||
if (tile_area.height > tile_area.width)
|
if (tile_area.height > tile_area.width)
|
||||||
@@ -3695,15 +3696,10 @@ meta_window_can_tile_side_by_side (MetaWindow *window)
|
|||||||
|
|
||||||
tile_area.width /= 2;
|
tile_area.width /= 2;
|
||||||
|
|
||||||
if (window->frame)
|
|
||||||
{
|
|
||||||
MetaFrameBorders borders;
|
|
||||||
|
|
||||||
meta_frame_calc_borders (window->frame, &borders);
|
meta_frame_calc_borders (window->frame, &borders);
|
||||||
|
|
||||||
tile_area.width -= (borders.visible.left + borders.visible.right);
|
tile_area.width -= (borders.visible.left + borders.visible.right);
|
||||||
tile_area.height -= (borders.visible.top + borders.visible.bottom);
|
tile_area.height -= (borders.visible.top + borders.visible.bottom);
|
||||||
}
|
|
||||||
|
|
||||||
return tile_area.width >= window->size_hints.min_width &&
|
return tile_area.width >= window->size_hints.min_width &&
|
||||||
tile_area.height >= window->size_hints.min_height;
|
tile_area.height >= window->size_hints.min_height;
|
||||||
@@ -3766,6 +3762,9 @@ meta_window_unmaximize_internal (MetaWindow *window,
|
|||||||
(unmaximize_vertically && window->maximized_vertically))
|
(unmaximize_vertically && window->maximized_vertically))
|
||||||
{
|
{
|
||||||
MetaRectangle target_rect;
|
MetaRectangle target_rect;
|
||||||
|
MetaRectangle work_area;
|
||||||
|
|
||||||
|
meta_window_get_work_area_for_monitor (window, window->monitor->number, &work_area);
|
||||||
|
|
||||||
meta_topic (META_DEBUG_WINDOW_OPS,
|
meta_topic (META_DEBUG_WINDOW_OPS,
|
||||||
"Unmaximizing %s%s\n",
|
"Unmaximizing %s%s\n",
|
||||||
@@ -3790,6 +3789,28 @@ meta_window_unmaximize_internal (MetaWindow *window,
|
|||||||
* being unmaximized.
|
* being unmaximized.
|
||||||
*/
|
*/
|
||||||
meta_window_get_client_root_coords (window, &target_rect);
|
meta_window_get_client_root_coords (window, &target_rect);
|
||||||
|
|
||||||
|
/* Avoid unmaximizing to "almost maximized" size when the previous size
|
||||||
|
* is greater then 80% of the work area use MAX_UNMAXIMIZED_WINDOW_AREA of the work area as upper limit
|
||||||
|
* while maintaining the aspect ratio.
|
||||||
|
*/
|
||||||
|
if (unmaximize_horizontally && unmaximize_vertically &&
|
||||||
|
desired_rect->width * desired_rect->height > work_area.width * work_area.height * MAX_UNMAXIMIZED_WINDOW_AREA)
|
||||||
|
{
|
||||||
|
if (desired_rect->width > desired_rect->height)
|
||||||
|
{
|
||||||
|
float aspect = (float)desired_rect->height / (float)desired_rect->width;
|
||||||
|
desired_rect->width = MAX (work_area.width * sqrt (MAX_UNMAXIMIZED_WINDOW_AREA), window->size_hints.min_width);
|
||||||
|
desired_rect->height = MAX (desired_rect->width * aspect, window->size_hints.min_height);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
float aspect = (float)desired_rect->width / (float)desired_rect->height;
|
||||||
|
desired_rect->height = MAX (work_area.height * sqrt (MAX_UNMAXIMIZED_WINDOW_AREA), window->size_hints.min_height);
|
||||||
|
desired_rect->width = MAX (desired_rect->height * aspect, window->size_hints.min_width);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (unmaximize_horizontally)
|
if (unmaximize_horizontally)
|
||||||
{
|
{
|
||||||
target_rect.x = desired_rect->x;
|
target_rect.x = desired_rect->x;
|
||||||
@@ -3868,15 +3889,6 @@ void
|
|||||||
meta_window_unmaximize (MetaWindow *window,
|
meta_window_unmaximize (MetaWindow *window,
|
||||||
MetaMaximizeFlags directions)
|
MetaMaximizeFlags directions)
|
||||||
{
|
{
|
||||||
/* Restore tiling if necessary */
|
|
||||||
if (window->tile_mode == META_TILE_LEFT ||
|
|
||||||
window->tile_mode == META_TILE_RIGHT)
|
|
||||||
{
|
|
||||||
window->maximized_horizontally = FALSE;
|
|
||||||
meta_window_tile (window);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
meta_window_unmaximize_internal (window, directions, &window->saved_rect,
|
meta_window_unmaximize_internal (window, directions, &window->saved_rect,
|
||||||
NorthWestGravity);
|
NorthWestGravity);
|
||||||
}
|
}
|
||||||
@@ -4507,6 +4519,10 @@ meta_window_update_monitor (MetaWindow *window)
|
|||||||
if (old)
|
if (old)
|
||||||
g_signal_emit_by_name (window->screen, "window-left-monitor", old->number, window);
|
g_signal_emit_by_name (window->screen, "window-left-monitor", old->number, window);
|
||||||
g_signal_emit_by_name (window->screen, "window-entered-monitor", window->monitor->number, window);
|
g_signal_emit_by_name (window->screen, "window-entered-monitor", window->monitor->number, window);
|
||||||
|
|
||||||
|
/* If we're changing monitors, we need to update the has_maximize_func flag,
|
||||||
|
* as the working area has changed. */
|
||||||
|
recalc_window_features (window);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4560,8 +4576,6 @@ meta_window_move_resize_internal (MetaWindow *window,
|
|||||||
gboolean need_move_frame = FALSE;
|
gboolean need_move_frame = FALSE;
|
||||||
gboolean need_resize_client = FALSE;
|
gboolean need_resize_client = FALSE;
|
||||||
gboolean need_resize_frame = FALSE;
|
gboolean need_resize_frame = FALSE;
|
||||||
int frame_size_dx;
|
|
||||||
int frame_size_dy;
|
|
||||||
int size_dx;
|
int size_dx;
|
||||||
int size_dy;
|
int size_dy;
|
||||||
gboolean frame_shape_changed = FALSE;
|
gboolean frame_shape_changed = FALSE;
|
||||||
@@ -4599,7 +4613,6 @@ meta_window_move_resize_internal (MetaWindow *window,
|
|||||||
is_user_action ? " (user move/resize)" : "",
|
is_user_action ? " (user move/resize)" : "",
|
||||||
old_rect.x, old_rect.y, old_rect.width, old_rect.height);
|
old_rect.x, old_rect.y, old_rect.width, old_rect.height);
|
||||||
|
|
||||||
if (window->frame)
|
|
||||||
meta_frame_calc_borders (window->frame,
|
meta_frame_calc_borders (window->frame,
|
||||||
&borders);
|
&borders);
|
||||||
|
|
||||||
@@ -4663,6 +4676,7 @@ meta_window_move_resize_internal (MetaWindow *window,
|
|||||||
|
|
||||||
if (window->frame)
|
if (window->frame)
|
||||||
{
|
{
|
||||||
|
int frame_size_dx, frame_size_dy;
|
||||||
int new_w, new_h;
|
int new_w, new_h;
|
||||||
|
|
||||||
new_w = window->rect.width + borders.total.left + borders.total.right;
|
new_w = window->rect.width + borders.total.left + borders.total.right;
|
||||||
@@ -4685,11 +4699,6 @@ meta_window_move_resize_internal (MetaWindow *window,
|
|||||||
window->frame->rect.width,
|
window->frame->rect.width,
|
||||||
window->frame->rect.height);
|
window->frame->rect.height);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
frame_size_dx = 0;
|
|
||||||
frame_size_dy = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* For nice effect, when growing the window we want to move/resize
|
/* For nice effect, when growing the window we want to move/resize
|
||||||
* the frame first, when shrinking the window we want to move/resize
|
* the frame first, when shrinking the window we want to move/resize
|
||||||
@@ -4977,6 +4986,9 @@ meta_window_move_resize_internal (MetaWindow *window,
|
|||||||
}
|
}
|
||||||
|
|
||||||
meta_window_foreach_transient (window, maybe_move_attached_dialog, NULL);
|
meta_window_foreach_transient (window, maybe_move_attached_dialog, NULL);
|
||||||
|
|
||||||
|
meta_stack_update_window_tile_matches (window->screen->stack,
|
||||||
|
window->screen->active_workspace);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -5062,11 +5074,16 @@ meta_window_move_frame (MetaWindow *window,
|
|||||||
|
|
||||||
if (window->frame)
|
if (window->frame)
|
||||||
{
|
{
|
||||||
/* offset by the distance between the origin of the window
|
MetaFrameBorders borders;
|
||||||
* and the origin of the enclosing window decorations
|
meta_frame_calc_borders (window->frame, &borders);
|
||||||
|
|
||||||
|
/* root_x_nw and root_y_nw correspond to where the top of
|
||||||
|
* the visible frame should be. Offset by the distance between
|
||||||
|
* the origin of the window and the origin of the enclosing
|
||||||
|
* window decorations.
|
||||||
*/
|
*/
|
||||||
x += window->frame->child_x;
|
x += window->frame->child_x - borders.invisible.left;
|
||||||
y += window->frame->child_y;
|
y += window->frame->child_y - borders.invisible.top;
|
||||||
}
|
}
|
||||||
meta_window_move (window, user_op, x, y);
|
meta_window_move (window, user_op, x, y);
|
||||||
}
|
}
|
||||||
@@ -5115,10 +5132,9 @@ meta_window_move_resize_frame (MetaWindow *window,
|
|||||||
int root_y_nw,
|
int root_y_nw,
|
||||||
int w,
|
int w,
|
||||||
int h)
|
int h)
|
||||||
{
|
|
||||||
if (window->frame)
|
|
||||||
{
|
{
|
||||||
MetaFrameBorders borders;
|
MetaFrameBorders borders;
|
||||||
|
|
||||||
meta_frame_calc_borders (window->frame, &borders);
|
meta_frame_calc_borders (window->frame, &borders);
|
||||||
/* offset by the distance between the origin of the window
|
/* offset by the distance between the origin of the window
|
||||||
* and the origin of the enclosing window decorations ( + border)
|
* and the origin of the enclosing window decorations ( + border)
|
||||||
@@ -5127,7 +5143,7 @@ meta_window_move_resize_frame (MetaWindow *window,
|
|||||||
root_y_nw += borders.visible.top;
|
root_y_nw += borders.visible.top;
|
||||||
w -= borders.visible.left + borders.visible.right;
|
w -= borders.visible.left + borders.visible.right;
|
||||||
h -= borders.visible.top + borders.visible.bottom;
|
h -= borders.visible.top + borders.visible.bottom;
|
||||||
}
|
|
||||||
meta_window_move_resize (window, user_op, root_x_nw, root_y_nw, w, h);
|
meta_window_move_resize (window, user_op, root_x_nw, root_y_nw, w, h);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5658,6 +5674,9 @@ meta_window_change_workspace (MetaWindow *window,
|
|||||||
{
|
{
|
||||||
g_return_if_fail (!window->override_redirect);
|
g_return_if_fail (!window->override_redirect);
|
||||||
|
|
||||||
|
if (window->always_sticky)
|
||||||
|
return;
|
||||||
|
|
||||||
meta_window_change_workspace_without_transients (window, workspace);
|
meta_window_change_workspace_without_transients (window, workspace);
|
||||||
|
|
||||||
meta_window_foreach_transient (window, change_workspace_foreach,
|
meta_window_foreach_transient (window, change_workspace_foreach,
|
||||||
@@ -5759,10 +5778,7 @@ meta_window_get_net_wm_desktop (MetaWindow *window)
|
|||||||
static void
|
static void
|
||||||
update_net_frame_extents (MetaWindow *window)
|
update_net_frame_extents (MetaWindow *window)
|
||||||
{
|
{
|
||||||
unsigned long data[4] = { 0, 0, 0, 0 };
|
unsigned long data[4];
|
||||||
|
|
||||||
if (window->frame)
|
|
||||||
{
|
|
||||||
MetaFrameBorders borders;
|
MetaFrameBorders borders;
|
||||||
|
|
||||||
meta_frame_calc_borders (window->frame, &borders);
|
meta_frame_calc_borders (window->frame, &borders);
|
||||||
@@ -5774,7 +5790,6 @@ update_net_frame_extents (MetaWindow *window)
|
|||||||
data[2] = borders.visible.top;
|
data[2] = borders.visible.top;
|
||||||
/* Bottom */
|
/* Bottom */
|
||||||
data[3] = borders.visible.bottom;
|
data[3] = borders.visible.bottom;
|
||||||
}
|
|
||||||
|
|
||||||
meta_topic (META_DEBUG_GEOMETRY,
|
meta_topic (META_DEBUG_GEOMETRY,
|
||||||
"Setting _NET_FRAME_EXTENTS on managed window 0x%lx "
|
"Setting _NET_FRAME_EXTENTS on managed window 0x%lx "
|
||||||
@@ -7420,8 +7435,10 @@ meta_window_get_workspaces (MetaWindow *window)
|
|||||||
{
|
{
|
||||||
if (window->on_all_workspaces)
|
if (window->on_all_workspaces)
|
||||||
return window->screen->workspaces;
|
return window->screen->workspaces;
|
||||||
else
|
else if (window->workspace != NULL)
|
||||||
return window->workspace->list_containing_self;
|
return window->workspace->list_containing_self;
|
||||||
|
else
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -7961,6 +7978,23 @@ recalc_window_features (MetaWindow *window)
|
|||||||
window->has_maximize_func = FALSE;
|
window->has_maximize_func = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (window->has_maximize_func)
|
||||||
|
{
|
||||||
|
MetaRectangle work_area;
|
||||||
|
MetaFrameBorders borders;
|
||||||
|
int min_frame_width, min_frame_height;
|
||||||
|
|
||||||
|
meta_window_get_work_area_current_monitor (window, &work_area);
|
||||||
|
meta_frame_calc_borders (window->frame, &borders);
|
||||||
|
|
||||||
|
min_frame_width = window->size_hints.min_width + borders.visible.left + borders.visible.right;
|
||||||
|
min_frame_height = window->size_hints.min_height + borders.visible.top + borders.visible.bottom;
|
||||||
|
|
||||||
|
if (min_frame_width >= work_area.width ||
|
||||||
|
min_frame_height >= work_area.height)
|
||||||
|
window->has_maximize_func = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
meta_topic (META_DEBUG_WINDOW_OPS,
|
meta_topic (META_DEBUG_WINDOW_OPS,
|
||||||
"Window %s fullscreen = %d not resizable, maximizable = %d fullscreenable = %d min size %dx%d max size %dx%d\n",
|
"Window %s fullscreen = %d not resizable, maximizable = %d fullscreenable = %d min size %dx%d max size %dx%d\n",
|
||||||
window->desc,
|
window->desc,
|
||||||
@@ -8175,10 +8209,6 @@ menu_callback (MetaWindowMenu *menu,
|
|||||||
{
|
{
|
||||||
meta_window_change_workspace (window,
|
meta_window_change_workspace (window,
|
||||||
workspace);
|
workspace);
|
||||||
#if 0
|
|
||||||
meta_workspace_activate (workspace);
|
|
||||||
meta_window_raise (window);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -8268,13 +8298,6 @@ meta_window_show_menu (MetaWindow *window,
|
|||||||
else
|
else
|
||||||
ops |= META_MENU_OP_MAXIMIZE;
|
ops |= META_MENU_OP_MAXIMIZE;
|
||||||
|
|
||||||
#if 0
|
|
||||||
if (window->shaded)
|
|
||||||
ops |= META_MENU_OP_UNSHADE;
|
|
||||||
else
|
|
||||||
ops |= META_MENU_OP_SHADE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (window->wm_state_above)
|
if (window->wm_state_above)
|
||||||
ops |= META_MENU_OP_UNABOVE;
|
ops |= META_MENU_OP_UNABOVE;
|
||||||
else
|
else
|
||||||
@@ -8303,7 +8326,8 @@ meta_window_show_menu (MetaWindow *window,
|
|||||||
|
|
||||||
if ((window->type == META_WINDOW_DESKTOP) ||
|
if ((window->type == META_WINDOW_DESKTOP) ||
|
||||||
(window->type == META_WINDOW_DOCK) ||
|
(window->type == META_WINDOW_DOCK) ||
|
||||||
(window->type == META_WINDOW_SPLASHSCREEN))
|
(window->type == META_WINDOW_SPLASHSCREEN ||
|
||||||
|
META_WINDOW_MAXIMIZED (window)))
|
||||||
insensitive |= META_MENU_OP_ABOVE | META_MENU_OP_UNABOVE;
|
insensitive |= META_MENU_OP_ABOVE | META_MENU_OP_UNABOVE;
|
||||||
|
|
||||||
/* If all operations are disabled, just quit without showing the menu.
|
/* If all operations are disabled, just quit without showing the menu.
|
||||||
@@ -8596,7 +8620,7 @@ update_move (MetaWindow *window,
|
|||||||
* refers to the monitor which contains the largest part of the window,
|
* refers to the monitor which contains the largest part of the window,
|
||||||
* the latter to the one where the pointer is located.
|
* the latter to the one where the pointer is located.
|
||||||
*/
|
*/
|
||||||
monitor = meta_screen_get_current_monitor (window->screen);
|
monitor = meta_screen_get_current_monitor_info (window->screen);
|
||||||
meta_window_get_work_area_for_monitor (window,
|
meta_window_get_work_area_for_monitor (window,
|
||||||
monitor->number,
|
monitor->number,
|
||||||
&work_area);
|
&work_area);
|
||||||
@@ -8890,12 +8914,15 @@ update_resize (MetaWindow *window,
|
|||||||
dx = x - window->display->grab_anchor_root_x;
|
dx = x - window->display->grab_anchor_root_x;
|
||||||
dy = y - window->display->grab_anchor_root_y;
|
dy = y - window->display->grab_anchor_root_y;
|
||||||
|
|
||||||
/* Attached modal dialogs are special in that horizontal
|
/* Attached modal dialogs are special in that size
|
||||||
* size changes apply to both sides, so that the dialog
|
* changes apply to both sides, so that the dialog
|
||||||
* remains centered to the parent.
|
* remains centered to the parent.
|
||||||
*/
|
*/
|
||||||
if (meta_window_is_attached_dialog (window))
|
if (meta_window_is_attached_dialog (window))
|
||||||
|
{
|
||||||
dx *= 2;
|
dx *= 2;
|
||||||
|
dy *= 2;
|
||||||
|
}
|
||||||
|
|
||||||
new_w = window->display->grab_anchor_window_pos.width;
|
new_w = window->display->grab_anchor_window_pos.width;
|
||||||
new_h = window->display->grab_anchor_window_pos.height;
|
new_h = window->display->grab_anchor_window_pos.height;
|
||||||
@@ -10615,7 +10642,8 @@ meta_window_get_frame_type (MetaWindow *window)
|
|||||||
return META_FRAME_TYPE_LAST;
|
return META_FRAME_TYPE_LAST;
|
||||||
}
|
}
|
||||||
else if ((window->border_only && base_type != META_FRAME_TYPE_ATTACHED) ||
|
else if ((window->border_only && base_type != META_FRAME_TYPE_ATTACHED) ||
|
||||||
(window->hide_titlebar_when_maximized && META_WINDOW_MAXIMIZED (window)))
|
(window->hide_titlebar_when_maximized && META_WINDOW_MAXIMIZED (window)) ||
|
||||||
|
(window->hide_titlebar_when_maximized && META_WINDOW_TILED_SIDE_BY_SIDE (window)))
|
||||||
{
|
{
|
||||||
/* override base frame type */
|
/* override base frame type */
|
||||||
return META_FRAME_TYPE_BORDER;
|
return META_FRAME_TYPE_BORDER;
|
||||||
@@ -10662,3 +10690,99 @@ meta_window_is_attached_dialog (MetaWindow *window)
|
|||||||
{
|
{
|
||||||
return window->attached;
|
return window->attached;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* meta_window_get_tile_match:
|
||||||
|
*
|
||||||
|
* Returns the matching tiled window on the same monitor as @window. This is
|
||||||
|
* the topmost tiled window in a complementary tile mode that is:
|
||||||
|
*
|
||||||
|
* - on the same monitor;
|
||||||
|
* - on the same workspace;
|
||||||
|
* - spanning the remaining monitor width;
|
||||||
|
* - there is no 3rd window stacked between both tiled windows that's
|
||||||
|
* partially visible in the common edge.
|
||||||
|
*
|
||||||
|
* Return value: (transfer none) (allow-none): the matching tiled window or
|
||||||
|
* %NULL if it doesn't exist.
|
||||||
|
*/
|
||||||
|
MetaWindow *
|
||||||
|
meta_window_get_tile_match (MetaWindow *window)
|
||||||
|
{
|
||||||
|
return window->tile_match;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
meta_window_compute_tile_match (MetaWindow *window)
|
||||||
|
{
|
||||||
|
MetaWindow *match;
|
||||||
|
MetaStack *stack;
|
||||||
|
MetaTileMode match_tile_mode = META_TILE_NONE;
|
||||||
|
|
||||||
|
window->tile_match = NULL;
|
||||||
|
|
||||||
|
if (window->shaded || window->minimized)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (META_WINDOW_TILED_LEFT (window))
|
||||||
|
match_tile_mode = META_TILE_RIGHT;
|
||||||
|
else if (META_WINDOW_TILED_RIGHT (window))
|
||||||
|
match_tile_mode = META_TILE_LEFT;
|
||||||
|
else
|
||||||
|
return;
|
||||||
|
|
||||||
|
stack = window->screen->stack;
|
||||||
|
|
||||||
|
for (match = meta_stack_get_top (stack);
|
||||||
|
match;
|
||||||
|
match = meta_stack_get_below (stack, match, FALSE))
|
||||||
|
{
|
||||||
|
if (!match->shaded &&
|
||||||
|
!match->minimized &&
|
||||||
|
match->tile_mode == match_tile_mode &&
|
||||||
|
match->monitor == window->monitor &&
|
||||||
|
meta_window_get_workspace (match) == meta_window_get_workspace (window))
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (match)
|
||||||
|
{
|
||||||
|
MetaWindow *above, *bottommost, *topmost;
|
||||||
|
MetaRectangle above_rect, bottommost_rect, topmost_rect;
|
||||||
|
|
||||||
|
if (meta_stack_windows_cmp (window->screen->stack, match, window) > 0)
|
||||||
|
{
|
||||||
|
topmost = match;
|
||||||
|
bottommost = window;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
topmost = window;
|
||||||
|
bottommost = match;
|
||||||
|
}
|
||||||
|
|
||||||
|
meta_window_get_outer_rect (bottommost, &bottommost_rect);
|
||||||
|
meta_window_get_outer_rect (topmost, &topmost_rect);
|
||||||
|
/*
|
||||||
|
* If there's a window stacked in between which is partially visible
|
||||||
|
* behind the topmost tile we don't consider the tiles to match.
|
||||||
|
*/
|
||||||
|
for (above = meta_stack_get_above (stack, bottommost, FALSE);
|
||||||
|
above && above != topmost;
|
||||||
|
above = meta_stack_get_above (stack, above, FALSE))
|
||||||
|
{
|
||||||
|
if (above->minimized ||
|
||||||
|
above->monitor != window->monitor ||
|
||||||
|
meta_window_get_workspace (above) != meta_window_get_workspace (window))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
meta_window_get_outer_rect (above, &above_rect);
|
||||||
|
|
||||||
|
if (meta_rectangle_overlap (&above_rect, &bottommost_rect) &&
|
||||||
|
meta_rectangle_overlap (&above_rect, &topmost_rect))
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
window->tile_match = match;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -42,6 +42,16 @@ struct _MetaWorkspace
|
|||||||
MetaScreen *screen;
|
MetaScreen *screen;
|
||||||
|
|
||||||
GList *windows;
|
GList *windows;
|
||||||
|
|
||||||
|
/* The "MRU list", or "most recently used" list, is a list of
|
||||||
|
* MetaWindows ordered based on the time the the user interacted
|
||||||
|
* with the window most recently.
|
||||||
|
*
|
||||||
|
* For historical reasons, we keep an MRU list per workspace.
|
||||||
|
* It used to be used to calculate the default focused window,
|
||||||
|
* but isn't anymore, as the window next in the stacking order
|
||||||
|
* can sometimes be not the window the user interacted with last,
|
||||||
|
*/
|
||||||
GList *mru_list;
|
GList *mru_list;
|
||||||
|
|
||||||
GList *list_containing_self;
|
GList *list_containing_self;
|
||||||
@@ -88,9 +98,6 @@ void meta_workspace_focus_default_window (MetaWorkspace *workspace,
|
|||||||
MetaWindow *not_this_one,
|
MetaWindow *not_this_one,
|
||||||
guint32 timestamp);
|
guint32 timestamp);
|
||||||
|
|
||||||
MetaWorkspace* meta_workspace_get_neighbor (MetaWorkspace *workspace,
|
|
||||||
MetaMotionDirection direction);
|
|
||||||
|
|
||||||
const char* meta_workspace_get_name (MetaWorkspace *workspace);
|
const char* meta_workspace_get_name (MetaWorkspace *workspace);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
void meta_workspace_queue_calc_showing (MetaWorkspace *workspace);
|
void meta_workspace_queue_calc_showing (MetaWorkspace *workspace);
|
||||||
static void focus_ancestor_or_mru_window (MetaWorkspace *workspace,
|
static void focus_ancestor_or_top_window (MetaWorkspace *workspace,
|
||||||
MetaWindow *not_this_one,
|
MetaWindow *not_this_one,
|
||||||
guint32 timestamp);
|
guint32 timestamp);
|
||||||
static void free_this (gpointer candidate,
|
static void free_this (gpointer candidate,
|
||||||
@@ -192,7 +192,7 @@ meta_workspace_new (MetaScreen *screen)
|
|||||||
return workspace;
|
return workspace;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Foreach function for workspace_free_struts() */
|
/* Foreach function for workspace_free_struts() */
|
||||||
static void
|
static void
|
||||||
free_this (gpointer candidate, gpointer dummy)
|
free_this (gpointer candidate, gpointer dummy)
|
||||||
{
|
{
|
||||||
@@ -200,9 +200,10 @@ free_this (gpointer candidate, gpointer dummy)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Frees the combined struts list of a workspace.
|
* workspace_free_all_struts:
|
||||||
|
* @workspace: The workspace.
|
||||||
*
|
*
|
||||||
* \param workspace The workspace.
|
* Frees the combined struts list of a workspace.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
workspace_free_all_struts (MetaWorkspace *workspace)
|
workspace_free_all_struts (MetaWorkspace *workspace)
|
||||||
@@ -216,9 +217,10 @@ workspace_free_all_struts (MetaWorkspace *workspace)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Frees the struts list set with meta_workspace_set_builtin_struts
|
* workspace_free_builtin_struts:
|
||||||
|
* @workspace: The workspace.
|
||||||
*
|
*
|
||||||
* \param workspace The workspace.
|
* Frees the struts list set with meta_workspace_set_builtin_struts
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
workspace_free_builtin_struts (MetaWorkspace *workspace)
|
workspace_free_builtin_struts (MetaWorkspace *workspace)
|
||||||
@@ -997,18 +999,6 @@ ensure_work_areas_validated (MetaWorkspace *workspace)
|
|||||||
|
|
||||||
/* We're all done, YAAY! Record that everything has been validated. */
|
/* We're all done, YAAY! Record that everything has been validated. */
|
||||||
workspace->work_areas_invalid = FALSE;
|
workspace->work_areas_invalid = FALSE;
|
||||||
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Notify the compositor that the workspace geometry has changed.
|
|
||||||
*/
|
|
||||||
MetaScreen *screen = workspace->screen;
|
|
||||||
MetaDisplay *display = meta_screen_get_display (screen);
|
|
||||||
MetaCompositor *comp = meta_display_get_compositor (display);
|
|
||||||
|
|
||||||
if (comp)
|
|
||||||
meta_compositor_update_workspace_geometry (comp, workspace);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
@@ -1066,6 +1056,13 @@ meta_workspace_get_work_area_for_monitor (MetaWorkspace *workspace,
|
|||||||
*area = workspace->work_area_monitor[which_monitor];
|
*area = workspace->work_area_monitor[which_monitor];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* meta_workspace_get_work_area_all_monitors:
|
||||||
|
* @workspace: a #MetaWorkspace
|
||||||
|
* @area: (out): location to store the work area
|
||||||
|
*
|
||||||
|
* Stores the work area in @area.
|
||||||
|
*/
|
||||||
void
|
void
|
||||||
meta_workspace_get_work_area_all_monitors (MetaWorkspace *workspace,
|
meta_workspace_get_work_area_all_monitors (MetaWorkspace *workspace,
|
||||||
MetaRectangle *area)
|
MetaRectangle *area)
|
||||||
@@ -1120,6 +1117,18 @@ meta_motion_direction_to_string (MetaMotionDirection direction)
|
|||||||
}
|
}
|
||||||
#endif /* WITH_VERBOSE_MODE */
|
#endif /* WITH_VERBOSE_MODE */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* meta_workspace_get_neighbor:
|
||||||
|
* @workspace: a #MetaWorkspace
|
||||||
|
* @direction: a #MetaMotionDirection, relative to @workspace
|
||||||
|
*
|
||||||
|
* Calculate and retrive the workspace that is next to @workspace,
|
||||||
|
* according to @direction and the current workspace layout, as set
|
||||||
|
* by meta_screen_override_workspace_layout().
|
||||||
|
*
|
||||||
|
* Returns: (transfer none): the workspace next to @workspace, or
|
||||||
|
* @workspace itself if the neighbor would be outside the layout
|
||||||
|
*/
|
||||||
MetaWorkspace*
|
MetaWorkspace*
|
||||||
meta_workspace_get_neighbor (MetaWorkspace *workspace,
|
meta_workspace_get_neighbor (MetaWorkspace *workspace,
|
||||||
MetaMotionDirection direction)
|
MetaMotionDirection direction)
|
||||||
@@ -1201,7 +1210,7 @@ meta_workspace_focus_default_window (MetaWorkspace *workspace,
|
|||||||
|
|
||||||
if (meta_prefs_get_focus_mode () == G_DESKTOP_FOCUS_MODE_CLICK ||
|
if (meta_prefs_get_focus_mode () == G_DESKTOP_FOCUS_MODE_CLICK ||
|
||||||
!workspace->screen->display->mouse_mode)
|
!workspace->screen->display->mouse_mode)
|
||||||
focus_ancestor_or_mru_window (workspace, not_this_one, timestamp);
|
focus_ancestor_or_top_window (workspace, not_this_one, timestamp);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MetaWindow * window;
|
MetaWindow * window;
|
||||||
@@ -1238,7 +1247,7 @@ meta_workspace_focus_default_window (MetaWorkspace *workspace,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (meta_prefs_get_focus_mode () == G_DESKTOP_FOCUS_MODE_SLOPPY)
|
else if (meta_prefs_get_focus_mode () == G_DESKTOP_FOCUS_MODE_SLOPPY)
|
||||||
focus_ancestor_or_mru_window (workspace, not_this_one, timestamp);
|
focus_ancestor_or_top_window (workspace, not_this_one, timestamp);
|
||||||
else if (meta_prefs_get_focus_mode () == G_DESKTOP_FOCUS_MODE_MOUSE)
|
else if (meta_prefs_get_focus_mode () == G_DESKTOP_FOCUS_MODE_MOUSE)
|
||||||
{
|
{
|
||||||
meta_topic (META_DEBUG_FOCUS,
|
meta_topic (META_DEBUG_FOCUS,
|
||||||
@@ -1261,17 +1270,13 @@ record_ancestor (MetaWindow *window,
|
|||||||
return FALSE; /* quit with the first ancestor we find */
|
return FALSE; /* quit with the first ancestor we find */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Focus ancestor of not_this_one if there is one, otherwise focus the MRU
|
/* Focus ancestor of not_this_one if there is one */
|
||||||
* window on active workspace
|
|
||||||
*/
|
|
||||||
static void
|
static void
|
||||||
focus_ancestor_or_mru_window (MetaWorkspace *workspace,
|
focus_ancestor_or_top_window (MetaWorkspace *workspace,
|
||||||
MetaWindow *not_this_one,
|
MetaWindow *not_this_one,
|
||||||
guint32 timestamp)
|
guint32 timestamp)
|
||||||
{
|
{
|
||||||
MetaWindow *window = NULL;
|
MetaWindow *window = NULL;
|
||||||
MetaWindow *desktop_window = NULL;
|
|
||||||
GList *tmp;
|
|
||||||
|
|
||||||
if (not_this_one)
|
if (not_this_one)
|
||||||
meta_topic (META_DEBUG_FOCUS,
|
meta_topic (META_DEBUG_FOCUS,
|
||||||
@@ -1305,36 +1310,9 @@ focus_ancestor_or_mru_window (MetaWorkspace *workspace,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* No ancestor, look for the MRU window */
|
window = meta_stack_get_default_focus_window (workspace->screen->stack,
|
||||||
tmp = workspace->mru_list;
|
workspace,
|
||||||
|
not_this_one);
|
||||||
while (tmp)
|
|
||||||
{
|
|
||||||
MetaWindow* tmp_window;
|
|
||||||
tmp_window = ((MetaWindow*) tmp->data);
|
|
||||||
if (tmp_window != not_this_one &&
|
|
||||||
meta_window_showing_on_its_workspace (tmp_window) &&
|
|
||||||
tmp_window->type != META_WINDOW_DOCK &&
|
|
||||||
tmp_window->type != META_WINDOW_DESKTOP)
|
|
||||||
{
|
|
||||||
window = tmp->data;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else if (tmp_window != not_this_one &&
|
|
||||||
desktop_window == NULL &&
|
|
||||||
meta_window_showing_on_its_workspace (tmp_window) &&
|
|
||||||
tmp_window->type == META_WINDOW_DESKTOP)
|
|
||||||
{
|
|
||||||
/* Found the most recently used desktop window */
|
|
||||||
desktop_window = tmp_window;
|
|
||||||
}
|
|
||||||
|
|
||||||
tmp = tmp->next;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* If no window was found, default to the MRU desktop-window */
|
|
||||||
if (window == NULL)
|
|
||||||
window = desktop_window;
|
|
||||||
|
|
||||||
if (window)
|
if (window)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -364,6 +364,7 @@ void meta_frame_borders_clear (MetaFrameBorders *self);
|
|||||||
(ycoord) < ((rect).y + (rect).height))
|
(ycoord) < ((rect).y + (rect).height))
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* MetaStackLayer:
|
||||||
* Layers a window can be in.
|
* Layers a window can be in.
|
||||||
* These MUST be in the order of stacking.
|
* These MUST be in the order of stacking.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
|
|
||||||
#include <clutter/clutter.h>
|
#include <clutter/clutter.h>
|
||||||
#include <X11/Xlib.h>
|
#include <X11/Xlib.h>
|
||||||
|
#include <X11/extensions/Xfixes.h>
|
||||||
|
|
||||||
#include <meta/types.h>
|
#include <meta/types.h>
|
||||||
#include <meta/compositor.h>
|
#include <meta/compositor.h>
|
||||||
@@ -43,5 +44,8 @@ void meta_disable_unredirect_for_screen (MetaScreen *screen);
|
|||||||
void meta_enable_unredirect_for_screen (MetaScreen *screen);
|
void meta_enable_unredirect_for_screen (MetaScreen *screen);
|
||||||
|
|
||||||
ClutterActor *meta_get_background_actor_for_screen (MetaScreen *screen);
|
ClutterActor *meta_get_background_actor_for_screen (MetaScreen *screen);
|
||||||
|
void meta_set_stage_input_region (MetaScreen *screen,
|
||||||
|
XserverRegion region);
|
||||||
|
void meta_empty_stage_input_region (MetaScreen *screen);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -153,8 +153,6 @@ void meta_compositor_set_updates (MetaCompositor *compositor,
|
|||||||
MetaWindow *window,
|
MetaWindow *window,
|
||||||
gboolean updates);
|
gboolean updates);
|
||||||
|
|
||||||
void meta_compositor_update_workspace_geometry (MetaCompositor *compositor,
|
|
||||||
MetaWorkspace *workspace);
|
|
||||||
void meta_compositor_sync_stack (MetaCompositor *compositor,
|
void meta_compositor_sync_stack (MetaCompositor *compositor,
|
||||||
MetaScreen *screen,
|
MetaScreen *screen,
|
||||||
GList *stack);
|
GList *stack);
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ typedef enum
|
|||||||
{
|
{
|
||||||
META_TAB_LIST_NORMAL,
|
META_TAB_LIST_NORMAL,
|
||||||
META_TAB_LIST_DOCKS,
|
META_TAB_LIST_DOCKS,
|
||||||
META_TAB_LIST_GROUP
|
META_TAB_LIST_GROUP,
|
||||||
|
META_TAB_LIST_NORMAL_ALL
|
||||||
} MetaTabList;
|
} MetaTabList;
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
@@ -91,6 +92,8 @@ guint32 meta_display_get_last_user_time (MetaDisplay *display);
|
|||||||
guint32 meta_display_get_current_time (MetaDisplay *display);
|
guint32 meta_display_get_current_time (MetaDisplay *display);
|
||||||
guint32 meta_display_get_current_time_roundtrip (MetaDisplay *display);
|
guint32 meta_display_get_current_time_roundtrip (MetaDisplay *display);
|
||||||
|
|
||||||
|
unsigned int meta_display_get_ignored_modifier_mask (MetaDisplay *display);
|
||||||
|
|
||||||
GList* meta_display_get_tab_list (MetaDisplay *display,
|
GList* meta_display_get_tab_list (MetaDisplay *display,
|
||||||
MetaTabList type,
|
MetaTabList type,
|
||||||
MetaScreen *screen,
|
MetaScreen *screen,
|
||||||
@@ -126,7 +129,7 @@ MetaGrabOp meta_display_get_grab_op (MetaDisplay *display);
|
|||||||
|
|
||||||
gboolean meta_display_add_keybinding (MetaDisplay *display,
|
gboolean meta_display_add_keybinding (MetaDisplay *display,
|
||||||
const char *name,
|
const char *name,
|
||||||
const char *schema,
|
GSettings *settings,
|
||||||
MetaKeyBindingFlags flags,
|
MetaKeyBindingFlags flags,
|
||||||
MetaKeyHandlerFunc handler,
|
MetaKeyHandlerFunc handler,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
@@ -172,4 +175,6 @@ void meta_display_unmanage_screen (MetaDisplay *display,
|
|||||||
MetaScreen *screen,
|
MetaScreen *screen,
|
||||||
guint32 timestamp);
|
guint32 timestamp);
|
||||||
|
|
||||||
|
void meta_display_clear_mouse_mode (MetaDisplay *display);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -123,8 +123,6 @@ struct _MetaPluginInfo
|
|||||||
|
|
||||||
GType meta_plugin_get_type (void);
|
GType meta_plugin_get_type (void);
|
||||||
|
|
||||||
gulong meta_plugin_features (MetaPlugin *plugin);
|
|
||||||
gboolean meta_plugin_disabled (MetaPlugin *plugin);
|
|
||||||
gboolean meta_plugin_running (MetaPlugin *plugin);
|
gboolean meta_plugin_running (MetaPlugin *plugin);
|
||||||
gboolean meta_plugin_debug_mode (MetaPlugin *plugin);
|
gboolean meta_plugin_debug_mode (MetaPlugin *plugin);
|
||||||
|
|
||||||
@@ -220,9 +218,6 @@ struct _MetaPluginVersion
|
|||||||
return object_name##_register_type (type_module); \
|
return object_name##_register_type (type_module); \
|
||||||
} \
|
} \
|
||||||
|
|
||||||
void
|
|
||||||
meta_plugin_type_register (GType plugin_type);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
meta_plugin_switch_workspace_completed (MetaPlugin *plugin);
|
meta_plugin_switch_workspace_completed (MetaPlugin *plugin);
|
||||||
|
|
||||||
@@ -246,35 +241,6 @@ void
|
|||||||
meta_plugin_destroy_completed (MetaPlugin *plugin,
|
meta_plugin_destroy_completed (MetaPlugin *plugin,
|
||||||
MetaWindowActor *actor);
|
MetaWindowActor *actor);
|
||||||
|
|
||||||
ClutterActor *
|
|
||||||
meta_plugin_get_overlay_group (MetaPlugin *plugin);
|
|
||||||
|
|
||||||
ClutterActor *
|
|
||||||
meta_plugin_get_window_group (MetaPlugin *plugin);
|
|
||||||
|
|
||||||
ClutterActor *
|
|
||||||
meta_plugin_get_background_actor (MetaPlugin *plugin);
|
|
||||||
|
|
||||||
ClutterActor *
|
|
||||||
meta_plugin_get_stage (MetaPlugin *plugin);
|
|
||||||
|
|
||||||
void
|
|
||||||
meta_plugin_query_screen_size (MetaPlugin *plugin,
|
|
||||||
int *width,
|
|
||||||
int *height);
|
|
||||||
|
|
||||||
void
|
|
||||||
meta_plugin_set_stage_reactive (MetaPlugin *plugin,
|
|
||||||
gboolean reactive);
|
|
||||||
|
|
||||||
void
|
|
||||||
meta_plugin_set_stage_input_area (MetaPlugin *plugin,
|
|
||||||
gint x, gint y, gint width, gint height);
|
|
||||||
|
|
||||||
void
|
|
||||||
meta_plugin_set_stage_input_region (MetaPlugin *plugin,
|
|
||||||
XserverRegion region);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MetaModalOptions:
|
* MetaModalOptions:
|
||||||
* @META_MODAL_POINTER_ALREADY_GRABBED: if set the pointer is already
|
* @META_MODAL_POINTER_ALREADY_GRABBED: if set the pointer is already
|
||||||
@@ -300,11 +266,12 @@ void
|
|||||||
meta_plugin_end_modal (MetaPlugin *plugin,
|
meta_plugin_end_modal (MetaPlugin *plugin,
|
||||||
guint32 timestamp);
|
guint32 timestamp);
|
||||||
|
|
||||||
GList * meta_plugin_get_window_actors (MetaPlugin *plugin);
|
|
||||||
Display * meta_plugin_get_xdisplay (MetaPlugin *plugin);
|
|
||||||
MetaScreen *meta_plugin_get_screen (MetaPlugin *plugin);
|
MetaScreen *meta_plugin_get_screen (MetaPlugin *plugin);
|
||||||
|
|
||||||
void
|
void
|
||||||
_meta_plugin_effect_started (MetaPlugin *plugin);
|
_meta_plugin_effect_started (MetaPlugin *plugin);
|
||||||
|
|
||||||
|
/* XXX: Putting this in here so it's in the public header. */
|
||||||
|
void meta_plugin_manager_set_plugin_type (GType gtype);
|
||||||
|
|
||||||
#endif /* META_PLUGIN_H_ */
|
#endif /* META_PLUGIN_H_ */
|
||||||
|
|||||||
@@ -72,12 +72,8 @@ void meta_shaped_texture_set_pixmap (MetaShapedTexture *stex,
|
|||||||
|
|
||||||
CoglHandle meta_shaped_texture_get_texture (MetaShapedTexture *stex);
|
CoglHandle meta_shaped_texture_get_texture (MetaShapedTexture *stex);
|
||||||
|
|
||||||
void meta_shaped_texture_set_shape_region (MetaShapedTexture *stex,
|
void meta_shaped_texture_set_mask_texture (MetaShapedTexture *stex,
|
||||||
cairo_region_t *region);
|
CoglHandle mask_texture);
|
||||||
|
|
||||||
void meta_shaped_texture_set_overlay_path (MetaShapedTexture *stex,
|
|
||||||
cairo_region_t *overlay_region,
|
|
||||||
cairo_path_t *overlay_path);
|
|
||||||
|
|
||||||
/* Assumes ownership of clip_region */
|
/* Assumes ownership of clip_region */
|
||||||
void meta_shaped_texture_set_clip_region (MetaShapedTexture *stex,
|
void meta_shaped_texture_set_clip_region (MetaShapedTexture *stex,
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
#include <meta/types.h>
|
#include <meta/types.h>
|
||||||
#include <pango/pango-font.h>
|
#include <pango/pango-font.h>
|
||||||
#include <gdesktop-enums.h>
|
#include <gdesktop-enums.h>
|
||||||
|
#include <gio/gio.h>
|
||||||
|
|
||||||
/* Keep in sync with GSettings schemas! */
|
/* Keep in sync with GSettings schemas! */
|
||||||
typedef enum
|
typedef enum
|
||||||
@@ -47,6 +48,7 @@ typedef enum
|
|||||||
META_PREF_THEME,
|
META_PREF_THEME,
|
||||||
META_PREF_TITLEBAR_FONT,
|
META_PREF_TITLEBAR_FONT,
|
||||||
META_PREF_NUM_WORKSPACES,
|
META_PREF_NUM_WORKSPACES,
|
||||||
|
META_PREF_DYNAMIC_WORKSPACES,
|
||||||
META_PREF_APPLICATION_BASED,
|
META_PREF_APPLICATION_BASED,
|
||||||
META_PREF_KEYBINDINGS,
|
META_PREF_KEYBINDINGS,
|
||||||
META_PREF_DISABLE_WORKAROUNDS,
|
META_PREF_DISABLE_WORKAROUNDS,
|
||||||
@@ -62,7 +64,6 @@ typedef enum
|
|||||||
META_PREF_RESIZE_WITH_RIGHT_BUTTON,
|
META_PREF_RESIZE_WITH_RIGHT_BUTTON,
|
||||||
META_PREF_EDGE_TILING,
|
META_PREF_EDGE_TILING,
|
||||||
META_PREF_FORCE_FULLSCREEN,
|
META_PREF_FORCE_FULLSCREEN,
|
||||||
META_PREF_LIVE_HIDDEN_WINDOWS,
|
|
||||||
META_PREF_WORKSPACES_ONLY_ON_PRIMARY,
|
META_PREF_WORKSPACES_ONLY_ON_PRIMARY,
|
||||||
META_PREF_NO_TAB_POPUP,
|
META_PREF_NO_TAB_POPUP,
|
||||||
META_PREF_DRAGGABLE_BORDER_WIDTH
|
META_PREF_DRAGGABLE_BORDER_WIDTH
|
||||||
@@ -94,6 +95,7 @@ const char* meta_prefs_get_theme (void);
|
|||||||
/* returns NULL if GTK default should be used */
|
/* returns NULL if GTK default should be used */
|
||||||
const PangoFontDescription* meta_prefs_get_titlebar_font (void);
|
const PangoFontDescription* meta_prefs_get_titlebar_font (void);
|
||||||
int meta_prefs_get_num_workspaces (void);
|
int meta_prefs_get_num_workspaces (void);
|
||||||
|
gboolean meta_prefs_get_dynamic_workspaces (void);
|
||||||
gboolean meta_prefs_get_application_based (void);
|
gboolean meta_prefs_get_application_based (void);
|
||||||
gboolean meta_prefs_get_disable_workarounds (void);
|
gboolean meta_prefs_get_disable_workarounds (void);
|
||||||
gboolean meta_prefs_get_auto_raise (void);
|
gboolean meta_prefs_get_auto_raise (void);
|
||||||
@@ -102,12 +104,6 @@ gboolean meta_prefs_get_gnome_accessibility (void);
|
|||||||
gboolean meta_prefs_get_gnome_animations (void);
|
gboolean meta_prefs_get_gnome_animations (void);
|
||||||
gboolean meta_prefs_get_edge_tiling (void);
|
gboolean meta_prefs_get_edge_tiling (void);
|
||||||
|
|
||||||
const char* meta_prefs_get_screenshot_command (void);
|
|
||||||
|
|
||||||
const char* meta_prefs_get_window_screenshot_command (void);
|
|
||||||
|
|
||||||
const char* meta_prefs_get_terminal_command (void);
|
|
||||||
|
|
||||||
void meta_prefs_get_button_layout (MetaButtonLayout *button_layout);
|
void meta_prefs_get_button_layout (MetaButtonLayout *button_layout);
|
||||||
|
|
||||||
/* Double, right, middle click can be configured to any titlebar meta-action */
|
/* Double, right, middle click can be configured to any titlebar meta-action */
|
||||||
@@ -126,18 +122,8 @@ int meta_prefs_get_cursor_size (void);
|
|||||||
gboolean meta_prefs_get_compositing_manager (void);
|
gboolean meta_prefs_get_compositing_manager (void);
|
||||||
gboolean meta_prefs_get_force_fullscreen (void);
|
gboolean meta_prefs_get_force_fullscreen (void);
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets whether the compositor is turned on.
|
|
||||||
*
|
|
||||||
* \param whether TRUE to turn on, FALSE to turn off
|
|
||||||
*/
|
|
||||||
void meta_prefs_set_compositing_manager (gboolean whether);
|
|
||||||
|
|
||||||
void meta_prefs_set_force_fullscreen (gboolean whether);
|
void meta_prefs_set_force_fullscreen (gboolean whether);
|
||||||
|
|
||||||
gboolean meta_prefs_get_live_hidden_windows (void);
|
|
||||||
void meta_prefs_set_live_hidden_windows (gboolean whether);
|
|
||||||
|
|
||||||
gboolean meta_prefs_get_workspaces_only_on_primary (void);
|
gboolean meta_prefs_get_workspaces_only_on_primary (void);
|
||||||
|
|
||||||
gboolean meta_prefs_get_no_tab_popup (void);
|
gboolean meta_prefs_get_no_tab_popup (void);
|
||||||
@@ -145,6 +131,9 @@ void meta_prefs_set_no_tab_popup (gboolean whether);
|
|||||||
|
|
||||||
int meta_prefs_get_draggable_border_width (void);
|
int meta_prefs_get_draggable_border_width (void);
|
||||||
|
|
||||||
|
gboolean meta_prefs_get_ignore_request_hide_titlebar (void);
|
||||||
|
void meta_prefs_set_ignore_request_hide_titlebar (gboolean whether);
|
||||||
|
|
||||||
/* XXX FIXME This should be x-macroed, but isn't yet because it would be
|
/* XXX FIXME This should be x-macroed, but isn't yet because it would be
|
||||||
* difficult (or perhaps impossible) to add the suffixes using the current
|
* difficult (or perhaps impossible) to add the suffixes using the current
|
||||||
* system. It needs some more thought, perhaps after the current system
|
* system. It needs some more thought, perhaps after the current system
|
||||||
@@ -269,11 +258,11 @@ typedef struct _MetaKeyHandler MetaKeyHandler;
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
char *name;
|
char *name;
|
||||||
char *schema;
|
GSettings *settings;
|
||||||
|
|
||||||
MetaKeyBindingAction action;
|
MetaKeyBindingAction action;
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* A list of MetaKeyCombos. Each of them is bound to
|
* A list of MetaKeyCombos. Each of them is bound to
|
||||||
* this keypref. If one has keysym==modifiers==0, it is
|
* this keypref. If one has keysym==modifiers==0, it is
|
||||||
* ignored.
|
* ignored.
|
||||||
|
|||||||
@@ -78,10 +78,6 @@ void meta_preview_set_frame_flags (MetaPreview *preview,
|
|||||||
void meta_preview_set_button_layout (MetaPreview *preview,
|
void meta_preview_set_button_layout (MetaPreview *preview,
|
||||||
const MetaButtonLayout *button_layout);
|
const MetaButtonLayout *button_layout);
|
||||||
|
|
||||||
cairo_region_t * meta_preview_get_clip_region (MetaPreview *preview,
|
|
||||||
gint new_window_width,
|
|
||||||
gint new_window_height);
|
|
||||||
|
|
||||||
GdkPixbuf* meta_preview_get_icon (void);
|
GdkPixbuf* meta_preview_get_icon (void);
|
||||||
GdkPixbuf* meta_preview_get_mini_icon (void);
|
GdkPixbuf* meta_preview_get_mini_icon (void);
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user